From:
                                                            7/12/97 11:01 PM
Subject: MAX Digest - 11 Jul 1997 to 12 Jul
1997To: Recipients of MAX digests 

There are 5 messages totalling 211 lines in this issue.

Topics of the day:

  1. QDGlobals
  2. The file acoll.txt in Max help
  3. QDGlobals...
  4. Electronic Music Festival in Cuba in 1998
  5. max archive

----------------------------------------------------------------------

Date:    Sat, 12 Jul 1997 10:09:29 +0200
From:    Peter Castine 
Subject: Re: QDGlobals

Richard.Dudas@IRCAM.FR introduced a question with:

>This is a question destined for power-maxer/external-programmers like
>Stephen Kay...
and later
>Anyway, any help would be appreciated from those of you who have made
>Quickdraw-heavy User interface objects.

Don't know if I'm like Stephen Kay. I'm certainly _not_ Stephen, but y'all
know that anyway;-) I have written a QD-intensive external (a Polygon
object that I really will upload as soon as I get around to whipping up the
requisite .help patch).

Anyway...

>I'm compiling OK, but I get a link error when making the 68k external. The
>error is related to the Quickdraw global qd.thePort:
>
>Link Error   : chord.c: 'qd' referenced from 'chord_int' is undefined.
>
>It is indeed defined in Quickdraw.h, and should be defined in MacOS.lib.
No?

The global variable qd is _declared_ in QuickDraw.h (Kernighan and Ritchie
make a big point of distinguishing between variable _declaration_ and
_definintion_ --cf. section 1.10 of K&R, p.31 of the 2nd edtion. And even
if it's a pain in the _gluteus maximus_, it's important to follow the
distinction, otherwise the discussion gets very confused.)

Now, one might expect qd to be _defined_ in MacOS.lib, but it isn't. I ran
into precisely this problem in writing extensions for another program. And,
if you think about it, it becomes sort of obvious why qd can't be defined
in MacOS.lib or anywhere similar. The variable qd is an _application_
global, accessed relative to register A5 (on 68k Macs). External objects
(and other extension-like thingies) aren't really supposed to look at A5.
If your code is called at interrupt time, you can't even be sure that A5 is
set up.

On PPC (or 68k with Code Fragment Manager), you can get a reference to qd
by calling FindSymbol() (assuming the host application is friendly enough
to export the symbol). On conventional 68k machines, there are two
possibilites: (1) the host application is helpful enough to give you a
pointer to qd; (2) you call _GetPort (or just look at the value of register
A5 from your main() function, which will be called at a safe point in time)
and do some funky pointer arithmetic to calculate where qd is located.

Possibility (1) is, IMHO, much cleaner, but needs support from the host
application. Maybe David Z. would like to comment?

I'm afraid I don't have cookbook instructions for possibility (2), but
Inside Macintosh and a few cups of French coffee ought to be enough to work
out how to do this.

In either case, you'll have to modify chord.c to use your external's own
pointer to the QD globals instead of qd.

Hope this helps?

Cheers,

Peter

------------------ http://www.prz.tu-berlin.de/~pcastine/ ------------------
Dr. Peter Castine           | Coffee --
pcastine@prz.tu-berlin.de   |
                            |    The 100% natural substitute for sleep.
Have Mac, Will Travel       |

------------------------------

Date:    Sat, 12 Jul 1997 11:34:24 +0100
From:    Frederic Murray 
Subject: The file acoll.txt in Max help

Excuse my bad english. When I use the Max help (window pat.help) the menu
HelpHelp don't work. I search and I find that the object coll acoll.txt
in the subpatch Maxhelper don't have any content (don't have text). Can
someone send me the text for this coll acoll.txt object? I never find it
in the Max 3.5 cd-rom. The new menu bar HelpHelp seems very useful and I
would like to use it.
Thanks.

Frederic Murray
Etudiant en musique
Universite Laval, Quebec
aae052@agora.ulaval.ca

------------------------------

Date:    Sat, 12 Jul 1997 11:44:27 -0400
From:    Stephen Kay 
Subject: QDGlobals...

>This is a question destined for power-maxer/external-programmers like
>Stephen Kay...

>I'm working on a couple of externals that need offscreen graphics calls.=
=2E.
>(one of them being a rudimentary music notation display object).

>I'm compiling OK, but I get a link error when making the 68k external. T=
he
>error is related to the Quickdraw global qd.thePort:

>Link Error   : chord.c: 'qd' referenced from 'chord_int' is undefined.

>It is indeed defined in Quickdraw.h, and should be defined in MacOS.lib.=

No?

I also had some difficulty trying to access qd.xxxx variables.  For
example, I used (successfully) qd.randSeed, but was never able to get
qd.white to link, getting the same error you mention above.

In any event, I was able to do all my objects, which use extensive
QuickDraw onscreen and offscreen calls, without referencing qd.thePort. =

Why exactly do you need to do this?

Also, for the record, are you including ?

Stephen Kay

------------------------------

Date:    Sat, 12 Jul 1997 15:58:29 -0700
From:    "W. Andrew Schloss" 
Subject: Electronic Music Festival in Cuba in 1998

Please note:  I am forwarding this announcement as a favor to the Cuban
organizers, who do not have easy access to email.  My apologies if you
receive more than one copy.  This festival should be quite interesting.
The host, Juan Blanco, has been an active composer in electronic music for
many decades.  Note that for US citizens, this conference would probably
be considered valid for a US Treasury license for travel to Cuba, so it is
an opportunity to visit Cuba legally.  See
http://www.ustreas.gov/treasury/services/fac/ofactxt.html for more
information.  If you're thinking of visiting Cuba before it becomes
something vastly different, this might be a good opportunity.
----------------------------------------
Dear Computer Music composer/researcher:

We have the honor of inviting you to participate in the celebration of the
**VII Festival Internacional de Musica Electroacustica**, which under the
name of "Primavera en La Habana," will take place from the 2nd to 7th of
March, 1998, in Havana, CUBA.

The Festival has taken place in Varadero Beach since its creation, up
until its sixth edition.  On this occasion we have chosen the colonial
part of the capital, Old Havana, due to its architectural beauty and its
long cultural tradition. Many events will take place in the Convento de
Santa Clara, a magnificent restored convent in Old Havana, with numerous
possibilities for outdoor performances.

Participation in the festival will have a number of options for those
interested in taking part:
I.  Multimedia shows, for which entries will be open until the 30th of
November 1997.

II.  Concert presentations for:

a)  Works for electroacoustic music on tape.
b)  Works for electronic means and acoustic instruments, on tape.
c)   Live electronic works (en situ)
d)  Live electronic works with acoustic instruments (en situ)

The entry date for these presentations expires January 15, 1998,

All projects should be sent to the Organizing Committee before expiration
of entry dates.

We hope to be able to enjoy your company in this, a year so full of
cultural and historic celebrations.

Cordially,

Juan Blanco                     Alicia Perea Maza
Presidente                      Presidenta
Festival                        Instituto Cubano de la Musica

for more information, please contact the Organizing Committee:

Instituto Cubano de la Musica        Laboratorio Nac.de Musica
Electroacustica
Calle 15 esq. a F #452 Vedado       Calle 17 esq. a I #260, 1er piso, Vedado
La Habana, 10400, CUBA                          La Habana, 10400, CUBA
tel (53 7) 31-1698                              fax (53-7) 66-2286
fax (53-7) 33-3716

------------------------------

Date:    Sat, 12 Jul 1997 20:19:23 -0500
From:    todd welbourne 
Subject: max archive

Dear Chris,
        I have often wanted to do searches for topics that I have lost
track of, can this be done on this archive? If so I would be all for
it...TW

------------------------------

End of MAX Digest - 11 Jul 1997 to 12 Jul 1997
**********************************************