7/1/97 11:00 PM
Subject: MAX Digest - 30 Jun 1997 to 1 Jul
1997To: Recipients of MAX digests 

There are 9 messages totalling 272 lines in this issue.

Topics of the day:

  1. circular motion
  2. thanks stephen (2)
  3. circle attatchment
  4. reading files into mtr object
  5. Yamaha SYSEX messages
  6. reverse to MouseState
  7. Maxpac 2.0 in IRCAM's MAX a
  8. Max Guide


Date:    Tue, 1 Jul 1997 12:20:02 +0100
From:    dudas 
Subject: Re: circular motion

Here are the formulas for converting from cartesian to polar and vice-versa.
I found them somewhere on the web. Be sure to use the atan2 in the
expression object to save yourself from doing all sorts of silly if-then
stuff with the result.

I've abbreviated theta (angle) as 'th'
theta is expressed in radians, so you need to multiply/divide by pi and
divide/multiply by 180 to convert it to degrees.

to translate from (r, th) to (x,y) and vice-versa

    x = r sin(th)
    y = r cos(th)

    r  = sqrt(x*x + y*y)
    th = arctan(x/y)

but use the arctan2 function:
    th = arctan2(y,x)

There are plenty of other well explained formulas and math tutorials out
there on the web, but you've got to wade through a lot of garbage to find



Date:    Mon, 30 Jun 1997 14:14:11 +0100
From:    "|K<" 
Subject: thanks stephen

>#1_Controls     //valid
>Controls_#1     //invalid
>My#1Controls    //invalid

This is exactly what I needed to know!  you have made me very happy
is there a way to do it with tables too?  I have many patches that use
tables for local variable arrays, but its always a pain to not be able
to embed a table into a subpatch and have it be unique.  is it



Date:    Tue, 1 Jul 1997 14:03:57 +0100
From:    Jem Finer 
Subject: circle attatchment

Sorry - I seem to have accidently sent my circle patch which will make no
sense anyway as it is written to work within a larger program - question
still stands !


Jem Finer

Kentish Town
London NW5


Date:    Tue, 1 Jul 1997 10:10:09 -0400
From:    Stephen Kay 
Subject: thanks stephen

>>#1_Controls     //valid
>>Controls_#1     //invalid
>>My#1Controls    //invalid

>This is exactly what I needed to know!  you have made me very happy
>is there a way to do it with tables too?  I have many patches that use
>tables for local variable arrays, but its always a pain to not be able
>to embed a table into a subpatch and have it be unique.  is it


AFAIK, you can give a table a numbered argument and have it be unique.  I=

just tried it by saving a "table #1_fred" inside a subpatcher, then
creating 2 instances of the subpatcher with the args "1" and "2".  The
tables are indeed unique.  But they would be anyway, even without
arguments.   Apparently what you want to do is have several unique tables=
but then have several instances of them throughout your patcher so you ca=
use the same data (like global arrays). This will not work, because you
cannot "embed" the data in a table saved in such a fashion when you save
the main patcher.  Upon loading, it will revert to what was stored in the=

(separately) saved subpatcher.

If you really want to use tables as global arrays with numbered arguments=
perhaps you could also store the output of the each table (a list) inside=
"v" object in your main patcher, so the data could be saved with the main=

patcher, and then dump it into the various tables when initially opening
the patcher, thus restoring your tables.

Hope this helps,
Stephen Kay

------- The MegaMAX Application Developer's Collection --------
Full color 3D UI Objects for creating professional looking apps,
     Macintosh Interface objects, and other Max helpers.
-----------check out the demo on the MAX 3.5 CD----------------


Date:    Tue, 1 Jul 1997 10:32:18 -0500
From:    Dafna Naphtali 
Subject: reading files into mtr object

        Does anyone know of a way to read a file into the mtr object
having the dialog box come up ?

        thanks much

        Dafna Naphtali
        NYU Music Technology


Date:    Tue, 1 Jul 1997 21:17:50 +0200
From:    Nicola Di Vito 
Subject: Yamaha SYSEX messages

I find some difficulties to send in my synhtetizer Yamaha TX81Z SYSEX
messages through the Max sxformat patch; partcularly i.e. if I send some
remote switch parameter something happen in the synthetizer but absolutely
not predictable; I think I mistake something in the use of the masks or in
the shift on the bits in manipulating packed data, own to my low skilness
in C language. Could someone help me?


Date:    Tue, 1 Jul 1997 22:22:28 +0200
From:    Roby Steinmetzer 
Subject: Re: reverse to MouseState

Following my tiny patch-posting some days ago concerning the reverse to
 MouseState, I got some emails from people not really understanding what I

max v2;
#N vpatcher 46 56 446 356;
#P message 29 36 105 196617 \; max pupdate 100 200;
#P message 28 135 113 196617 \; max pupdate 100 100;
#P pop

Ok, I did not go into details. I just wanted to show that there is a
 to  move the cursor remotely.
Perhaps this did not come thru.
What I'm doing is sending the message "pupdate x y" to the Max application.
Since Max version 3.5, it is officially possible to send messages to the Max
 application itself, take a look at page 6 in the Max addendum 3.5.
Unofficially this was already possible in the 3.0 era, maybe earlier.
David Z. once posted a list with this undocumented and unsupported features
 they differ more or less from those on page 6.
Anyway the pupdate feature still works fine in 3.5

I post here another patch how to use "pupdate". Hope this helps to

Question to David Z.:
What about the undocumented features in 3.5?

max v2;
#N vpatcher 232 266 542 522;
#P newex 104 90 28 196617 - 36;
#P newex 104 66 49 196617 stripnote;
#P newex 104 140 49 196617 pack;
#P newex 143 116 27 196617 * 5;
#P newex 104 116 30 196617 * 10;
#P newex 104 41 89 196617 notein;
#P message 104 163 94 196617 \; max pupdate \$1 \$2;
#P comment 13 64 118 196617 pitch acts on the horizontal cursor position;
#P comment 163 64 99 196617 velocity acts on the vertical cursor position;
#P connect 4 0 6 0;
#P connect 6 0 2 0;
#P connect 5 0 6 1;
#P connect 7 0 8 0;
#P connect 7 1 5 0;
#P connect 3 0 7 0;
#P connect 3 1 7 1;
#P connect 8 0 4 0;
#P pop;

Roby Steinmetzer
Luxembourg, Europe


Date:    Tue, 1 Jul 1997 17:15:12 -0400
From:    John Lamar 
Subject: Maxpac 2.0 in IRCAM's MAX a

Hi there folks ,

I would like to  mention that I have updated  the externals in  Maxpack to
and have uploaded them to the IRCAM archive,

Here is part of read me for MaxPack.

MAX Pac is a set of ever growing and evolving performance and processing
tools. Most of these tools do musically interesting and hopefully useful
things to note inputs. Some of the objects are now Fat  Max externals
in C. Some are done as Max patchers. I plan to convert a few more of the
in this package over to C when I get time.
They are all designed to be used as self-contained objects in your own
patcher. They have inlets, outlets and in many cases initial arguments.

The objects currently in MAXPac 2.0 include:
        o biTrans -transposes input notes alternately up and down.
        o Beep -  an external which generates a Mac system beep.
        o CDT (Connect The Dots) - a portamento generator with inputs for
interval and               duration
        o superArp -arpeggio object with inputs for rate, direction and
        o dxPramOut -send parameter changes to Yamaha DX synthesizers
        o thruMon - a MIDI thru and monitor
        o transWarp-applies table based transpositions to input notes
        o Voss 2.0 -an external to generate 1/f noise
        o metroBPM-input tempo in Beats per minute to standard metro object
object lives in         the Voss folder.)
        oTTP (To The Point)-Converge a stream of numbers to a user defined
using a index   of how close to come to the point.

Thank for reading.

John Lamar

Computer Systems Coordinator
Music Technology Division.
Berklee College of Music


Date:    Tue, 1 Jul 1997 18:12:16 -0400
From:    Tommy DOG 
Subject: Max Guide

Well, here it is and it is very BETA... I wasn't able to cram everything
I wanted to into this thing but it's an OK beginning. I hope that it is
enjoyed and that it may ultimately grow into a useful source.
Insults and complaints should be directed at
as usual,
Tommy DOG


End of MAX Digest - 30 Jun 1997 to 1 Jul 1997