Subject: MAX Digest - 20 Jul 1998 to 21 Jul 1998
Date: Wed, 22 Jul 1998 00:00:00 -0400
From: Automatic digest processor 
Reply-To: MAX - Interactive Music/Multimedia Standard Environments
     
To: Recipients of MAX digests 

There are 18 messages totalling 635 lines in this issue.

Topics of the day:

  1. Nick Longo was re-posted
  2. Filename & AiffPlayer
  3. 1. keyup, 2.vst~
  4. occillation of controller data
  5. MAX Digest - 19 Jul 1998 to 20 Jul 1998 (2)
  6. keyup (2)
  7. Losing Screen Re-draw Inside a Max Patch w. MSP
  8. Rand objects, GetMouse in C
  9. dynamic allocation
 10. The EXACT Timing/Order in which messages pass through MAX.
 11. autocount
 12. erasz : objekts.
 13. MSP execution, order of (2)
 14. erasz : objekts. |-2|
 15. motion/position sensor: Big Eye

Email to MAX should now be sent to MAX@lists.mcgill.ca
LISTSERV commands should be sent to listserv@lists.mcgill.ca
Information is available on the WEB at http://www.mcgill.ca/cc/listserv

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

Date:    Mon, 20 Jul 1998 21:59:59 -0800
From:    Gene Schwartz 
Subject: Re: Nick Longo was re-posted

david rodger wrote:

>No, Nick.  Antiorp took your private post to him and re-posted it to this
>list.  This is one of his tricks, which he has done elsewhere (as you know
>very well, Gene).  It is also a very good reason for ignoring Antiorp and
>not engaging with him at all.

Well, the facts, as stated seem correct. I would disagree, however, that
someone who sends what sounds to me like a pretty explicit threat is
entitled to privacy. You seem to be claiming that Nick threatening antiorp
is more benign than antiorp re-posting the threat to the list.

Please don't tell anyone: I'm going to kill you.

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

Date:    Tue, 21 Jul 1998 00:46:53 -0400
From:    Eric Singer 
Subject: Re: Filename & AiffPlayer

John,
The problem you are having is that a message box can't take a Symbol as an
input (only an int or float).  Instead of  to the next message box,
use an object box with 'prepend set'.  This presents 'set MyFileName' to
the next message box, which it understands.

Eric

>Hello all-
>
>I want to get the 'end-of-filename' from AiffPlayer 1.5 into a message box.
>I can't.  I'm missing something so obvious that it's driving me nuts-o...I
>connect a message box  from AiffPlayer to another blank message box
>(which works fine throughout the rest of the patch) but it sez "message
>doesn't understand MyFileName."  I just want to know when a file has
>stopped playing so other events can begin...
>
>I have emailed Eric, but haven't heard from him yet - I need to figure
>this out!
>
>Any help appreciated.
>
>John
>
>............................................................................
>........ *
>John Phillips/Carolyn Healy: EMusic- Installation Art Website:
>http://www.irwins.pvt.k12.pa.us/phillips
>
>McGill is running a new version of LISTSERV (1.8c on Windows NT).
>Information is available on the WEB at http://www.mcgill.ca/cc/listserv

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

Date:    Mon, 20 Jul 1998 22:11:57 -0700
From:    David Zicarelli 
Subject: Re: 1. keyup, 2.vst~

karl kliem  writes:

>1. is there a way to get the keyboard code from the keyup-object ?

Not until I change it. If you stored the keyboard code from the
key object in a table at the location of the ASCII code, and then
indexed the table by the ASCII code output of keyup, you would
have something of a workaround. Since you can be sure that key
will always output information about a key press before keyup
outputs information about a key release.

>2. max crashes when i try to save a program file within the d-pole plug by
>sending a write message to the vst~object. no saving problems with cubase.

This has been fixed in the version of vst~ that will be in the
long-delayed MSP update, now being tested. But thank you for
noting the problem.

Please note that my slightly different e-mail address,
zicarell@cycling74.com, can now be used for any e-mail you wish to
send to me. This will provide me with some distance from my ISP
should it decide to self-destruct again in the future. It has
admitted that its parent company is in Chapter 11, so this might
be sooner than I would like.

On the subject of Nazism, it's worth noting Godwin's Law, some
observation about the rapid rate in which one or more parties
to an online disagreement will resort to using the N-word.

David Z.

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

Date:    Tue, 21 Jul 1998 16:48:05 +1000
From:    overlobe 
Subject: Re: occillation of controller data

you could also try using the lookup table style..
use a table objekt..
that way you can draw the lfo shape, and i think tables are less cpu heavy?

>evening wrote:
>>I'd like to create a patch that will mimic an LFO by sending a stream of
>>controller values (e.g. 0 to 127 to 0 repeating) Has anyone created an
>>object or  patch that will do this? I figured that I'd check before
>>digging in...I guess i'd need to look at the envelopes
>
>You could easily get a triangle wave by using a counter set to count in
>"updown" mode.  If you wanted other waves, perhaps you could use a coll
>with pre-calculated values triggered by each increment from a count
    0
   /|\
   / \
  ~~~~~

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

Date:    Tue, 21 Jul 1998 01:06:17 -0700
From:    Elliot Anderson 
Subject: Re: MAX Digest - 19 Jul 1998 to 20 Jul 1998

Mark,
        The url for sonar timers is http://www.access.digex.net/~pha/.  They
are
set up to interface with the PC parallel port, but probably could be
changed to work with the MAC printer port.

Best,
Elliot Anderson

>>On Sat, 18 Jul 1998, Mark Gee wrote:
>>
>>> I'm working on my Master's thesis and was wondering if Max can help me
>out.
>>> >From what I've heard, someone out there has used Max to process inputs
>from
>>> motion and/or position sensors.  That's what I'm hoping to accomplish as
>>> well.  I'm wondering what equipment people have used for tracking a
>person
>>> moving through space without having sensors attached to the observed
bod=
>y
>and
>>> pointers on how to use Max in this context.  Thanks.

Elliot Anderson
Lecturer, Electronic Media
Art Department
University of California at Santa Cruz

http://www.sirius.com/~ewanders

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

Date:    Tue, 21 Jul 1998 00:59:27 -0700
From:    Elliot Anderson 
Subject: Re: MAX Digest - 19 Jul 1998 to 20 Jul 1998

Mark,
        The best solution to your installation is sonar sensors made by
Polaroid.
I use them in an array to do exactly what you want.  I had an installation
where I tracked the presence of viewers over a floor space.  I kept count
of the amount of time/number of people who stood in any one section of the
floor.  This controlled changes in a video on laser disc that was projected
into the space.  The sensors are good for working with interactive video
because they don't need any light.
        I did this by arranging eight sonar sensors against one wall.  Sonar
sensors send out a sound wave and wait for it to bounce off of something
and return.  The hardware counts the number of milliseconds between sending
out the wave and the return.  This gives distance of the object/person from
the sensors.
        I knew the distance the viewers were away from the sensor and the
sensor
they were in front of.  The sensors ostensibly create a grid.  My software
determined the height of each square of the grid and the sonar sensors
determined the width.
        The sonar sensors have a range of about a foot to thirty feet.  In
software you just ignore anything that is over the size of the room.  Its
great because they can be adjusted to fit any space.  There is a circuit
for interfacing sonar sensors to the ADBIO and you can have multiple
ADBIO's chained.  Check out the bzzzzzz.com web site for information.  I
didn't use the ADBIO, I had some custom hardware a friend built for me.
MAX does a great job at reading the ADBIO.
        The sensors are fairly expensive, $45.00 each with the support
hardware,
~$20.00 each for just the sensor.  Wirz electronics sells them on the web.
Something that I want to try is to hack a sonar tape measure that Radio
Shack sells for ~$27.00.  It has all the support hardware for timing and is
significantly cheaper.
        I also ran across someone who had a kit for the support hardware for
sonar
sensors that he was selling for $16.00 using a pic microprocessor.  It
makes it a little cheaper than the sensor kit from Polaroid.  If I find the
link I'll forward it.

Best,
Elliot Anderson

>>On Sat, 18 Jul 1998, Mark Gee wrote:
>>
>>> I'm working on my Master's thesis and was wondering if Max can help me
>out.
>>> >From what I've heard, someone out there has used Max to process inputs
>from
>>> motion and/or position sensors.  That's what I'm hoping to accomplish as
>>> well.  I'm wondering what equipment people have used for tracking a
>person
>>> moving through space without having sensors attached to the observed
bod=
>y
>and
>>> pointers on how to use Max in this context.  Thanks.

Elliot Anderson
Lecturer, Electronic Media
Art Department
University of California at Santa Cruz

http://www.sirius.com/~ewanders

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

Date:    Tue, 21 Jul 1998 13:05:32 +0200
From:    karl kliem 
Subject: Re: keyup

>If you are referring to getting the letter from the ascii code, use
>"itoa" by Steve Ellison - it will turn the ascii numbers into letters
>i.e. 115 --> 's'.

>Stephen Kay

i would like to track the state of every key on the keyboard if it is
either pressed or not. what i can't figure out is how to distinguish a
keyup message between the numbers in the top-row and those on the numerical
keypad, because they have the same ascii-code.

related question:
how many keypresses at a time do the g3 powerbook keyboards transmit?

kk

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

Date:    Tue, 21 Jul 1998 10:30:19 -0400
From:    Michael Sweet 
Subject: Losing Screen Re-draw Inside a Max Patch w. MSP

Lately I've been running large max patches using MSP and whenever I tax the
system pretty hard max stops updating my windows.  It's seems the
highlighting color becomes white...  I.E. if I change a umenu object to a
new selection it will functionally change but will not redraw the new menu
selection.

Has anyone had trouble with this as well, and is there a message that I can
send max to tell it to start redrawing again without having to reboot max?

Thanks -

--Michael Sweet

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

Date:    Tue, 21 Jul 1998 09:11:11 -0700
From:    Jim Wood 
Subject: Rand objects, GetMouse in C

Hello there

two quick questions...

1. Is there a PPC or FAT version of the Rand, RandIJ
objects available?
2. How to add mouse coordinates to a MAx C external.
Using GetMouse, which I'm familiar with. I cant seem
to send a point into an equation that measures
screenWidth in relation to mousePos.

thanks,
Jim Y-Wood

_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com

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

Date:    Tue, 21 Jul 1998 12:20:28 -0400
From:    Stephen Kay 
Subject: Re: keyup

>related question:
>how many keypresses at a time do the g3 powerbook keyboards transmit?

The MacOS specifies that only 2 keys may be pressed at any given time. My=

"original" G3 Pbook quite nicely does this - if you press a 3rd key, it
is ignored, for example.  However, my standard apple extended keyboard
hooked up to my desktop machine exhibits all sorts of weird behaviour
when pressing more than 2 keys - sometimes you get more than 2 key downs,=

other times you get no key downs and a bunch of key ups, etc.  You may =

have trouble with what you are trying to do because of this.  I recently
was attempting something similar, such as using the keys to trigger
note-ons/note-offs.  On the G3, it worked fine; on the extended keyboard,=

it was easy to get stuck notes and no way to keep it from happening
other than to say "don't press more than 2 keys at a time".

Stephen Kay

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

Date:    Wed, 22 Jul 1998 01:30:47 +0900
From:    Takahiko Suzuki 
Subject: Re: dynamic allocation

Hello all,

You can also connect those objects by sending message like folowing to
thispatcher.

    connect 0 0 2 1

Where "0 0" is a parent object number and its outlet number. 0 means 1st
outlet. Next "2 1" is a destination object number and its inlet number. 1
means 2nd outlet. The number of newest object will be 0. If there are N
objects, the number of most oldest object will be N-1. You can also use
segmented patch cords

    fasten 2 0 7 0 82 102 120 102 120 72 135 72

First 4 numbers means exactly same as "connect", rests are point of the
cord segmented. These are pairs of (x,y) in local coordinate.

You can also make patcher with 'newobj' keyword. But it is not stable. I
don't know why. It sometimes works well, sometimes doesn't create a new
patcher, but affect parent patcher, sometimes causes crash(no
'es','rb','rs',etc in MacsBug).

    newobj 207 73 35 196617 p , max v2;#N vpatcher 50 40 450 340;
    #P newex 26 54 27 196617 b;#P pop;

Normally, for 'patcher' object, 'newobj' keyword will be described after
'#P pop', but for dynamic allocation, you should call this keyword before
its contents declaration. Does someeone know other neat tricks??

Takahiko

 ______________________________________________________________________
        Takahiko Suzuki
            Tel/Fax : +81-3-3414-3422
            Address : 3-19-7 Daizawa Setagaya-ku, Tokyo 155-0032, JAPAN
             e-mail : takahiko@shotgun.phys.cst.nihon-u.ac.jp
                URL : http://www.val.co.jp/~tsuzuki
 ______________________________________________________________________

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

Date:    Tue, 21 Jul 1998 17:51:19 -0400
From:    David Durlach 
Subject: The EXACT Timing/Order in which messages pass through MAX.

This is a multi-part message in MIME format.
--------------32E4B9DB4A7D3C2188A57BE2
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

To anyone who may be able to offer assistance: (Possibly with particular
emphasis on Miller Puckette and/or David Zicarelli :-)

 Hello.  We are hoping to learn more about the issue described below.
What we have read and tried in actual code so far we have found
confusing (in that it seems contradictory), and we very much want to be
sure we understand things before engaging in a major implementation
effort.

We are using MAX for purposes where it is critical that we know
*exactly* how individual pieces of data are being transmitted throughout
a patch.  Specifically, we wish to "time-stamp" each 32 bit integer data
element with an associated 32 bit integer milli-second stamp *that
remains connected to said data element as it moves through MAX*, NO
MATTER WHAT.
Reading Opcode's MAX documentation, it seems very clear how Max decides
upon routing of data and on what processing will occur next
(right-to-left, followed by bottom-to-top, etc.).  However, after
reading a discussion from the web [titled "Editor's Note: Computer Music
Journal 17:2 (1993)"], we have begun to have some doubts about our
understanding of MAX.  One particularly relevant comment in the Computer
Music Journal article states:

"...It is possible, even easy, to make a patch whose result is
undefined. (If any outlet sends more than one non-delayed message to
the same object, the order in which the messages arrive is undefined
in general; sometimes you can predict the result by looking at the
spatial layout of the patch, but it should always be regarded as an
error unless the order the messages are received in doesn't matter.)
It sounds easy to think of a design which would automatically find the
"right" order to send messages in, but after thinking about that for
several years, I haven't come up with one yet. Until somebody does,
the "order problem" will stay.
-Miller Puckette"

We were wondering if anyone has any additional thoughts on this, and
could possibly provide a hard example of such a patch where the result
is *undefined*?  >>>We have tried to come up with one, but are unable
to!<<<  Such an example would help us greatly in understanding how MAX
patches execute.

Thanks in advance,
Ken Paul & David Durlach
TechnoFrolics

--------------32E4B9DB4A7D3C2188A57BE2
Content-Type: text/x-vcard; charset=us-ascii; name="vcard.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for David Durlach
Content-Disposition: attachment; filename="vcard.vcf"

begin:          vcard
fn:             David Durlach
n:              Durlach;David
org:            TechnoFrolics
adr:            11 Miller Street;;;Somerville;MA;02143;USA
email;internet: ddurlach@world.std.com
title:          Director
tel;work:       617-441-8870
tel;fax:        617-441-8872
note:           www.technofrolics.com
x-mozilla-cpt:  ;0
x-mozilla-html: FALSE
version:        2.1
end:            vcard

--------------32E4B9DB4A7D3C2188A57BE2--

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

Date:    Tue, 21 Jul 1998 19:39:23 -0400
From:    Eric Rosenzveig 
Subject: autocount

>>I'd like to create a patch that will mimic an LFO by sending a stream of
>>controller values (e.g. 0 to 127 to 0 repeating).

I find Paniotis' object - autocount - to be lovely for a variety of tasks.

Eric Rosenzveig

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

Date:    Tue, 21 Jul 1998 18:57:21 -0600
From:    =cw4t7abs 
Subject: erasz : objekts.

regarding erasing ov objektz.
meant erasing c objects.

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

Date:    Tue, 21 Jul 1998 17:03:35 -0700
From:    Alex Stahl 
Subject: MSP execution, order of

I am curious about MSP users' experience with order-of-execution issues, in
particular, the right-to-left rule when multiple signal patch cords are
connected to a single outlet.

As an example, I am using a count~ object as a master synchronization
source for a bunch of buffer manipulations. This includes reading and
writing to the same location in a buffer "at the same time".  The order in
which the various index~ and poke~ objects actually execute, makes all the
difference between dulcet tones and tweeter-melting noise.  I'm not telling
which is my preferred musical behavior, but I do admit that I like to be
consistent.

Everything I've tried works fine so far, following the usual Max
right-to-left rules.  However, I would like to hear if anyone has run into
problems in this area, and also maybe David Z. might be planning a trigger~
object?

regards,

Alex Stahl
________
mar.ket.ing
n, the difference between a cupcake and a muffin

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

Date:    Tue, 21 Jul 1998 20:28:46 -0600
From:    =cw4t7abs 
Subject: Re: erasz : objekts. |-2|

>regarding erasing ov objektz.
>meant erasing c objects.

+ 2 kont!nue.
phpz should b abl 2 aksez
objektz !n 1 patcher b! dze!r koordz
+ !f severl objektz !n eczakt za!m lokat!on dzen
delete unt!l 0 objektz at dzat lokat!on.

+ phpz 1 should b abl 2 addresz each patchr w!ndow
b! name. !n d!sz kasz 1 should b abl 2 altzo spec!f!
1 name 4 de patcher w!ndow when !t = generatd.
both assume dze patcher w!ndow = generatd d!n!m!kall+e

+ phpz should program d!sz cccelf. houevr
!f =cw4t7abs programd != human fr!endl+e.
eczuse^3.

altzo - zom1 ment!ond 1 objekt wh!ch spec!f!ez patcher bg kolor.
= ava!bl +?
+ zom1 4rom auztr!a was verk!ng on ppc gui objektz.
= ava!bl +?

\\ -

01 1 k!tten wh!ch l!kex f!sh = 1 good pup!l
02 no ta!lesz k!tten = read+e 2 pla! w!th 1 gor!lla
03 k!ttenz w!th wh!zkerz alwa!z l!ke f!sh
04 no k!tten fond ov stud+e haz green e!ez
05 no 1 k!tten w!th 1 ta!l haz wh!zkerz

konkluz!on +?

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

Date:    Thu, 23 Jul 1998 12:28:07 +1000
From:    David Rodger 
Subject: Re: motion/position sensor: Big Eye

Several people have mentioned BigEye.  The last version of BigEye I saw
supported Midi Manager, not OMS.  This might have changed, but, as it was,
interfacing with MAX was difficult unless you wree running OMS 1.2.3 or
lower.

OTOH, in those days, BigEye used every ounce of processor time one had, so
running MAX on another machine was usually necessary.  These days, with
spiffy G3s and the like, the two might co-exist.

Regards, David

David Rodger: Audio Engineering; Pool Operations; Aquatics Training
EMAIL: auricle@alphalink.com.au  WEB: www.alphalink.com.au/~auricle
RESEARCH:  Motion Capture in Music -- farben.latrobe.edu.au/motion/
ADZOHU -- Ghanaian Music and Dance -- www.alphalink.com.au/~adzohu/
===================================================================
I came across a quick bio on some trendy DJ/club musician or other.
Listed as his "weird obsessions" item was: a love of old analogue
synthesisers.  Gee, THAT must set him apart from the crowd.
--Nick Rothwell

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

Date:    Tue, 21 Jul 1998 19:39:10 -0700
From:    Kevin Walker 
Subject: Re: MSP execution, order of

As I understand it, the left-to-right rules don't apply to networks of
signal cords in MSP.  Rather, MSP uses the the signal cord network to
determine a calling sequence which is executed once per signal buffer
period.  So things like loops and reading/writing to a buffer~ "at the same
time" are asking for trouble.

Synchronization between the MSP dsp loop and regular Max events is likewise
hard to nail down exactly.  Better to try to design patches so that they
don't depend on the fine details of the timing.

>I am curious about MSP users' experience with order-of-execution issues, in
>particular, the right-to-left rule when multiple signal patch cords are
>connected to a single outlet.
>
>As an example, I am using a count~ object as a master synchronization
>source for a bunch of buffer manipulations. This includes reading and
>writing to the same location in a buffer "at the same time".  The order in
>which the various index~ and poke~ objects actually execute, makes all the
>difference between dulcet tones and tweeter-melting noise.  I'm not telling
>which is my preferred musical behavior, but I do admit that I like to be
>consistent.
>
>Everything I've tried works fine so far, following the usual Max
>right-to-left rules.  However, I would like to hear if anyone has run into
>problems in this area, and also maybe David Z. might be planning a trigger~
>object?
>
>regards,
>
>Alex Stahl

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

End of MAX Digest - 20 Jul 1998 to 21 Jul 1998
**********************************************