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

There are 10 messages totalling 313 lines in this issue.

Topics of the day:

  1. Efficiency (3)
  2. CD object
  3. Photocells (3)
  4. thispatcher/delay/RolandSysex
  5. preset problems
  6. Dissapearing Menus


Date:    Mon, 12 May 1997 09:11:02 +0200
From:    "David K. Mason" 
Subject: Re: Efficiency

>There's only one that's really an array, which is table.
Then what is the coll object in reality?

Best regards, Dave Mason


Date:    Mon, 12 May 1997 10:16:04 +0100
Subject: CD object

I am currently writing a patch (MAX 2.5.2) which uses the CD object.
Is there any way I can control the output level of the CD player (ie. the
 internal CD drive) ?


Jamie B


Date:    Mon, 12 May 1997 09:05:09 -0400
From:    Lee A Spector 
Subject: Re: Photocells

Two other light sensor options:

1) Hack into a cheap MIDI keyboard and figure out how to short the key
switches so you can play a note by connecting two wires. Then wire a
photoresistor (can get from Radio Shack, although faster and more
sensitive ones can be got elsewhere) so it bridges the two wires. You may
want to add another resistor in series with the photoresistor, to adjust
the trip-point (you'll have to experiment with this). As the amount of
light/resistance crosses the trip-point you'll get note on/off messages,
which you can massage in Max. I did this for an interactive sculpture
and it worked fine (it was "Life & Death" at an "electronic music plus"
festival at Mills -- perhaps one or two of you were there?).

2) Use an ADB I/O box (see, into which you
can plug the same sorts of photoresistors. David Zicarelli has written a
Max object for the ADB I/O (available from the same URL).


Lee Spector
Asst. Professor of Computer Science   E-mail:
School of CCS, Hampshire College      WWW:
Amherst, MA 01002                     Phone: 413-582-5352, Fax: 413-582-5438


Date:    Mon, 12 May 1997 09:35:29 -0500
From:    "Brian K. Shepard" 
Subject: Re: Photocells

>>I'm thinking about playing around with using photocells as additional
>>triggers for my DrumKat. I have THE BEAM but I want more. Could someone
>>send me a basic how to on creating a light sensitive trigger?
>>Please keep in mind,
>>1) I'm not an electronics technician of this nature (in other words I'm
>>a dummy in this area) and
>>2) I'm only willing to go as far as the local Le Shack (Radio Shack).
>I'm using the I-Cube (not available from "Le Shack") and haven't located an
>appropriate light trigger yet. To be honest I haven't spent much time. What
>I'm looking for would be appropiate for the DrumKat as well as an Alesis D4
>which I use. A photocell to the best of my knowledge will not do the trick.
>The output you get from photocells will constantly be changing. In other
>words it's always measuring the light level and sending out a coresponding
>analog signal. While this might be good for sensing velocity it is not good
>for generating triggers.
>I see that Radio Shack sells alarm equipment. Among the components they
>sell is an infrared light beam switch. When the beam is broken a switch is
>thrown. I don't know details such as cost, power requirements and output
>signal. It may do what you need.

I tried the Radio Shack infrared sensors and found them to be unacceptable.
They are the "motion sensor" type that is designed to be mounted in the
corner of a room and detect any radical changes in temperature.
Unfortunatley, they cover a very wide area and wait a few seconds to make
sure that a temperature change is actually occuring due to movement.  Then,
after detecting a motion, they require a second or two to reset themselves.
All this means that they are not responsive to quick movements.

Instead, I contacted a burglar alarm company and found a pair of sensors
that consist of an infrared transmitter and receiver.  The manufacturer is
a company called Newline and the catologue number is NL-IRE35 (I think I
paid about $90/pair).  These transmit a fairly thin beam and can be placed
about 30-40 feet apart.  You can also adjust the sensitivity of them so
they respond to fairly quick motions.  I did find, however, that due to my
set-up which involved a number of these sensors, I sometimes had spillover
from a transmitter's beam into the wrong receiver.  I remedied this by
mounting small PVC tubes on the lenses of the receivers to keep out the
unwanted beams.  These sensors cannot detect how far you are from them,
only whether you are breaking the beam or not.  All of the "proximity" type
sensors I saw only worked over a very short distance.  Therefore, in order
to detect distance, I had to make a grid of sensors that worked with each
other through the MAX program.

As for the interface, I took an old Macintosh keyboard and removed the
circuit board.  I then connected the sensors to the various inputs that
would normally be coming from the keys.  The result was that when a beam
was broken, it was the same as if a key had been pressed on the keyboard.
This made it very easy to connect the interface to one of the ADB ports of
my Macintosh.  Then I used the "key" object to capture the input.  This has
all worked quite well in a performance of "HyperLinx" for Dancer,
Interactive Environment and Computer Generated Sounds.  The premier
performance was on February 1, 1997 and will be performed several more
times in the coming months.  (sorry for the plug, I couldn't help myself)

I hope some of this helps.


Dr. Brian K. Shepard
University of Oklahoma
School of Music


Date:    Mon, 12 May 1997 09:14:19 -0800
From:    Art Simon 
Subject: Re: Photocells

I bought a variety pack of photocells and soldered one to the opposite
end of a 1/4 in. stereo phone plug cable.  I plug that into the
modulation input (the 1/8 in input on the breathc control works great
also) of my dx7 and use max ("ctlin") to route and scale the input to
control whatever.  Since there are three wires on the stereo plug cable,
I figuered out which two wires to use by hooking a number box to the
ctlin box and watching the values change when I touched the wires.
Okay, maybe my approach doesn't show a lot of technical savvy, but it
seems to work fine.
-Art Simon               


Date:    Mon, 12 May 1997 19:02:33 +0200
From:    Dominique David 
Subject: Re: thispatcher/delay/RolandSysex


Some reactions to recently dicussed topics.

1/ thispatcher object

> Jeff Krieger wrote:
> >I am having trouble with the fullscreen command for thispatcher.  I have
> >setup a patcher window to toggle between fullscreen and normal size.  A
> >loadbang sets up the patch fullscreen but when I try to change to normal
> >MAX 3.5.1 crashes.  Any ideas why?
> I too have been having constant crashes in the last few days in a similar
> situation, employing thispatcher to specify size, position and
> characteristics of a subpatcher. Initially, the whole system worked
> beautifully with the patcher object, which automatically opens any
> subpatcher which has been left open on save.
> But the moment I put an imovie into the subpatcher (which is the reason
> the setup, and which I suspect Jeff Krieger is doing too), the crash
> symphony begins. Imovie seems to be very instable, whereas movie works
> similar situations without any problem, the only disadvantage being that
> movie decides for itself where on the screen it wants to open, which
> hinders elegant presentation during programs.

I had also crashes problems with the thispatcher object. I don't exactly
 remember, but I believe they related to the fact that some part of the
 to be drawn was outside of the MAC screen. And all problem disappeared when
 took care to give carefully adjusted dimensions to the windows. If
necessary, I
 should perhaps be able to retrieve the very simple patcher that caused
 every time, in order to give more precise information.

2/ delay object

David Z. suggested a delay object that takes into account elapsed time since
 last output when receiving a new delay time. Well, I am very interested in
 object for real-time "intelligent" (hum) extraction of the tempo in a
 Such behaviour would also be interesting in my sense for the metro object.
 Until now, I use a conjunction of delay (or pipe), stop message and obscure
 computation to do the job, but I was never very satisfied of my solution
 if my tempo extractor works rather well). Nevertheless, my opinion is that
 modified timing objects could greatly help in all situations where you want
 cope with ever-varying durations that are extracted from a human
 Do other people have similar experiences?

3/ Roland sysex

> I'm interested in finding out if anyone has written
> anything in Max or Galaxy for use with Roland
> gear.
> I'm writing some editors/librarians and had a few SysEx
> questions.

I have written a MAX patcher to edit JV1080 sounds. If I can help, I will.

Dominique David


Date:    Mon, 12 May 1997 14:15:52 -0400
From:    Stephen Kay 
Subject: Re: Efficiency

David Z.:
>>There's only one that's really an array, which is table.
Dave Mason:
>Then what is the coll object in reality?

The coll object is a linked list.  Each "entry" is a list, and also
maintains pointers to the "next" and "previous" items in the list (I seem
to recall).  Therefore, you can insert, delete, sort, etc.  It can act as
an array, although it's probably grossly inefficient.

Stephen Kay


Date:    Mon, 12 May 1997 14:15:44 -0400
From:    Stephen Kay 
Subject: preset problems

Terry N:
>The coll object isn't pretty but it's bulletproof.
>Altough when you use it the way Steven Kay described it makes your
>patcher huge.
>Each object which had data you want saved requires at least its own

I think Terry may have misinterpreted something I said.  As the reprint of
my original post which Steve Smith just reposted shows (thanks Steve, I
couldn't find it) , there is only one grab per bpatcher needed, regardless
of how many UI objects are in each bpatcher.  Furthermore, when restoring
data, there are no grabs necessary at all.

The output of the entire funnel (which may have 1 - 256 items) goes through
a "prepend sub 1", and then through 1 grab into the coll.  The grab simply
insures that the "sub" command performs its job, but causes no output from
the coll (the output comes out of the grab instead, which is then not
connected to anything).

Stephen Kay


Date:    Mon, 12 May 1997 20:05:50 +0100
From:    Nick Rothwell 
Subject: Re: Efficiency

>>There's only one that's really an array, which is table.

>Then what is the coll object in reality?

An association list. (The source comes with the MAX distribution.)

         Nick Rothwell, CASSIEL        contemporary dance projects        music synthesis and control

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


Date:    Sun, 11 May 1997 17:11:11 +0100
From:    "K-) Peter" 
Subject: Dissapearing Menus

>        What are the numbers to exclude any of the other menu objects
>too ? I've already excluded the max menu bar on collection, but one
>still says Max in it :-(

>The feature to exclude the Max window menu item is a feature of
>standalone applications. You set it in the application installer
>dialog, so you have to build an application in order to (not)
>see the result. I already said this in response to your last
>message, by the way.
>David Z.

        I know I heard you the first time ;-) This is with a "built"
application. However I still get a Max looking menu even after disabling
all max menus on compile and using a menubar excluding 15.
        Are the only objects you can exclude the four listed as the sum
of 1 2 4 & 8. AKA I also want to disable the WINDOWS "STATUS" menu
(which says Ircam/Max in it) and there's little sense in having my only
open window listed in the open windows menu in the Windows Menu too.
        I'm sorry if my Max terminology is "slapdash" and that my
questions must seem very benile to you. However I do appreciate your
help and patience.
        And the answer to the transparent cornered pic is ?


End of MAX Digest - 11 May 1997 to 12 May 1997