From:
                                                            5/28/97 11:00 PM
Subject: MAX Digest - 27 May 1997 to 28 May
1997To: Recipients of MAX digests 

There are 9 messages totalling 294 lines in this issue.

Topics of the day:

  1. Re-subscribing and multiple subscriptions
  2. Compilers of choice...
  3. Development tools for externals (2)
  4. MAX Digest - 21 May 1997 to 22 May 1997 (2)
  5. global variables, detonate, anybody help? (2)
  6. HELP: Max and SMPTE

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

Date:    Tue, 27 May 1997 20:19:21 -0700
From:    Christopher Murtagh 
Subject: Re-subscribing and multiple subscriptions

Greetings fellow Maxers,

Two listserv items today:

1) Multiple Subscriptions

  I have noticed that there are many people who have multiple subscriptions
(under different addresses). This isn't a problem, but if any of you would
like to only be subscribed under one address and are having problems
unsubscribing, just let me know. Please be sure to send your request to me
(chriseh@islandnet.com) and not the list.

2) Expiration of your subscription to list MAX

  If you get the following message emailed to you, please, please
re-subscribe by sending your subscription request to listserv@vm1.mcgill.ca
and not to me. For those of you who don't know, all you need to do is send
an email message with 'subscribe max' (without quotes) to
listserv@vm1.mcgill.ca.

Th th tha that's all folks!

Sincerely,

Christopher Murtagh

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

Date:    Wed, 28 May 1997 00:11:44 -0600
From:    Pablo Silva 
Subject: Compilers of choice...

Hello everybody!

As I was planning to get a C compiler for developing Max externals and a
couple of other things, I was wondering whether someone here could inform
me about  Code Warrior:

a) is it only C or a bundle of several language compilers?
b) does whoever put it out have a WWW page or something where I could check
it out?
c) Price? Academic pricing?

Thanks a lot!

______________________________________________________________________

Pablo Silva
hpsilva@servidor.unam.mx
Escuela Nacional de Musica, UNAM, Mexico
______________________________________________________________________

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

Date:    Wed, 28 May 1997 00:48:20 -0500
From:    "R. Albert Falesch" 
Subject: Re: Development tools for externals

Peter Castine wrote:

> But, if you do write a C++ base class, let us'ns know, y'hear?

Sure, and, um;  Please pass the fritters.

I think you're right -- I'll start off without classes, although
I will probably not stick with ANSI-C, as some of the C++
idioms have become second-nature.

Nick Rothwell wrote:

> Unfortunately, projects which use the Object C extensions have to be
> multi-segment...

Forgive my total lack of Mac software design experience, and the fact
that I've forgotten what little I may have once known about 68K CPUs,
but are we talking about the limits of what is directly addressable?
I guess some members of the 68K family have an address bus
narrower than 32 bits.  I have been wallowing in the bliss of flat
address space extending beyond the horizons.  You're not suggesting
life might not always be like that, are you?

  --raf
                                       |
                          Bob Falesch  |
                  raf@interaccess.com  |
 http://homepage.interaccess.com/~raf  |
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |

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

Date:    Wed, 28 May 1997 02:28:53 -0400
From:    Dan Jamele 
Subject: Re: MAX Digest - 21 May 1997 to 22 May 1997

In a message dated 5/22/97 9:54:13 PM, you wrote:

<
Subject: Re: Radio>>

Roland,
Aquilla systems makes two different versions of a very dependable wireless
Midi transmitter receiver combo.   You get full bandwidth and they are very
hip.  You can operate 2 seperate units in direct proximity for 2 full
bandwidth Wireless Midi cables.  This would even solve your bi directional
situation.  I don't have the number on hand, but we are a dealer for them.
 Call me at work if you need more info.

Dan Jamele
MediaMation(TM) Inc
2461 W, 205th St. # B-100
Torrance,
CA. 90501
USA
310-320-0696  Phone
310-320-0699  Fax
mediamat@aol.com  email

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

Date:    Wed, 28 May 1997 02:31:55 -0400
From:    Dan Jamele 
Subject: Re: MAX Digest - 21 May 1997 to 22 May 1997

In a message dated 5/22/97 9:54:13 PM, you wrote:

<
Subject: ====HELP: Any other Mac-based tools besides MAX for writing
apps??====

Hello,

I'm trying to find out what other Mac-based development
tools besides MAX exist that allow one to write stand-alone
MIDI applications ?

Thanks for any feedback to:

   ai@wco.com
>>

I don't know if its still in production, but HyperMidi was a hypercard based
stack that handled Midi.  Max was better though and still is!

Dan Jamele

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

Date:    Wed, 28 May 1997 09:09:47 -0400
From:    Spigot 
Subject: global variables, detonate, anybody help?

Hi,

I wrote before with a question and received no answers, so let me try
again with a slightly different approach.  The manual says of the
"detonate" object "Any detonate objects with the same name argument
will share the same event data."

In the manuals under "Arguments" it says "When you are editing a
Patcher which will be used as a subpatch within another Patcher,
message boxes and most object boxes in the subpatch can be given a
changeable argument by typing in a pound sign and a number (for
example, #1) as an argument.  Then, when the subpatch is used inside
another Patcher, an argument typed into the object box in the Patcher
replaces the # argument inside the subpatch."

My guess at this point is that the detonate object is not included in
the phrase "most object boxes" and using a chaneable argument to
access various detonate-based event data is not going to work.

So my question is, is there *any* way to have a subpatch access
different detonate objects?  I mean, lets say I have 8 MIDI sequences
stored in 8 detonate objects and I have a subpatch designed to
manipulate these sequences.  Am I going to have to write 8 different
versions of this subpatch, one for each detonate object?  Seems like
there has got to be an easier way!

If this is not an appropriate question for this list, please let me
know!

Thanks for any help.
Paul Fly

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

Date:    Wed, 28 May 1997 09:24:46 +0100
From:    Nick Rothwell 
Subject: Re: Development tools for externals

>I think you're right -- I'll start off without classes, although
>I will probably not stick with ANSI-C, as some of the C++
>idioms have become second-nature.

Makes sense. I've not had any experience of CW, but I would warn that many
of the "C++ idioms" might not be wise in MAX since they'll give rise to
memory allocation or relocation which will fail spectacularly in Overdrive.
Certainly, new() and dispose() are out (unless you override them), and if
CW uses the same sort of scheme as THINK then objects are relocatable
(handle-based) by default. For all I know, virtual method calls and the
like might be problematic as well.

>Forgive my total lack of Mac software design experience, and the fact
>that I've forgotten what little I may have once known about 68K CPUs,
>but are we talking about the limits of what is directly addressable?
>I guess some members of the 68K family have an address bus
>narrower than 32 bits.  I have been wallowing in the bliss of flat
>address space extending beyond the horizons.  You're not suggesting
>life might not always be like that, are you?

The 68000 (last seen on the PowerBook 100 and Mac Classic) has a 24-bit
address space, total. (This is why a Mac Classic can only have 4MB and a
PB100 8MB, and why the "32-bit clean" issue arose later.) I believe
everything from the 68020 upwards is 32-bit.

Code segmentation is something to do with a maximum of 32K in any block of
code (something to do with the resource manager or segment loader?). Now,
all my MAX externals compile into less than that, but if I want to use the
Object C extensions THINK forces the project to be multi-segment. The
manual doesn't say why.

         Nick Rothwell, CASSIEL        contemporary dance projects
         http://www.cassiel.com        music synthesis and control

             years, passing by, VCO, VCF, and again, and again

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

Date:    Wed, 28 May 1997 16:10:44 -0600
From:    Curtis Jensen 
Subject: HELP: Max and SMPTE

Here's what I've got:
        Quadra 660AV Sys. 7.5.5
        OMS 2.3.1
        Max 3.0
        Studio 5 box

I am creating a video installation that will be run from a VCR, and I
want max to trigger other events in the space based on certain sequences
of video. I have striped SMPTE from the Studio 5 onto the audio channel
of the video tape and can get it going back into the mac as Midi Time Code.

That's all fine and dandy, I can see the SMPTE fine from Studio Vision,
but I can't see it in Max. I tried using the timein object but it needs
Apple MIDI manager. I tried putting in midi manager but nothing seemed to
work even when I connected the clock together in PatchBay.

It seems a bit odd to have to use midi manager to get SMPTE from the
Studio 5 (an Opcode product) to Max (another Opcode product) and bypass
OMS - the Opcode product that usually ties it all together.

I do hope that I'm just missing some trivial little thing. It has been a
frustrating couple of days. I haven't been able to get into
www.opcode.com at all. I was hoping that there was a SMPTE object
somewhere but I can't seem to find anything.

I would be grateful for any suggestions.

Curtis

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

Date:    Wed, 28 May 1997 22:20:10 -0400
From:    Stephen Kay 
Subject: global variables, detonate, anybody help?

>In the manuals under "Arguments" it says "When you are editing a
>Patcher which will be used as a subpatch within another Patcher,
>message boxes and most object boxes in the subpatch can be given a
>changeable argument by typing in a pound sign and a number (for
>example, #1) as an argument.  Then, when the subpatch is used inside
>another Patcher, an argument typed into the object box in the Patcher
>replaces the # argument inside the subpatch."

Sorry if this is too obvious, but are you actually saving the subpatcher =
as
a separate patcher, then using instances of it without the "p"?  Have you=

tried making this patcher encapsulation thing work with something simple
like an int object "i #1" just to test that you're doing it correctly?

Stephen Kay

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

End of MAX Digest - 27 May 1997 to 28 May 1997
**********************************************