From:
                                                            8/12/97 11:00 PM
Subject: MAX Digest - 11 Aug 1997 to 12 Aug
1997To: Recipients of MAX digests 

There are 9 messages totalling 311 lines in this issue.

Topics of the day:

  1. "stubs" and "make subpatches" (2)
  2. MAC World Expo Report: BeOS DSP Audio (2)
  3. MAX Digest - 10 Aug 1997 to 11 Aug 1997 - Special issue
  4. panning
  5. Option - Save
  6. Cosine-mapped panning
  7. equal power correction

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

Date:    Tue, 12 Aug 1997 02:04:50 -0400
From:    Greg Kuhn <0003939581@MCIMAIL.COM>
Subject: "stubs" and "make subpatches"

Forget "make subpatch" routines and _stubs...

Three dimensional Max programing:

Patches fire from bottom to top, back to front, and right to left.

Front and right views look like regular Max as if the inlets go
diagonally across the top of a 3-D object box from the front left to
the rear right.

(On the other hand, how about simply being able to prioritize
mouse-click selection of object boxes before (superimposed) patch
cords... or has this changed since the 3.5 CD?)

gregory

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

Date:    Mon, 11 Aug 1997 23:00:37 -0700
From:    Richard Zvonar 
Subject: Re: MAC World Expo Report: BeOS DSP Audio

On Sun, 10 Aug 1997 10:24:06 +0000 Johnny DeKam  wrote:

>You have no doubt heard about the BeOS - a new OS built from the ground
>up for Power PC, which leaves MacOS in the dust in terms of
>performance.

Those who wish to know more can visit Be's excellent Web site at
http://www.Be.com.  Full documentation on BeOS is there as well as
descriptions (and even downloads) of Be developers' efforts. Check out the
BeWare section.

Those who prefer to read magazines might refer to back issues (1/97) of
MacWorld and MacUser for their overviews of BeOS.  There will also be a
somewhat dated (due to publication lead time vs. the rapidity of Be
development) overview of BeOS in the September (I hope) issue of Electronic
Musician.

______________________________________________________________________________
Richard Zvonar, PhD                              zvonar@LCSaudio.com
(818) 760-8055 voice/fax

                          http://www.well.com/~zvonar

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

Date:    Tue, 12 Aug 1997 03:13:56 -0400
From:    Nick Longo 
Subject: Re: MAC World Expo Report: BeOS DSP Audio

<
Subject: Re: MAX Digest - 10 Aug 1997 to 11 Aug 1997 - Special issue

Ed Hartley wrote:

>What annoys me is that I have to return to the top level patcher whenever I
>want to save my work. On a big project, I can have a whole screenfull of
>windows open at once and I'd rather not be bothered interrupting myself to
>call up the parent patcher just to type  "command-S."

Well, CodeWarrior, BBEdit, and a few others, allow you to hit Cmd-Option-S
(as well as select Save with the Option key down) to ``Save All Windows''.
I added that function to one program I wrote and it took, oh, maybe 10-15
minutes to code, compile, link, and test.

Another one for the wishlist, methinks. The main question is do folks wish
for Option-Save to ``Save All Windows'' or ``Save this subpatcher and all
other subpatchers and recursively up the subpatch chain to the main patch
window''?

Deciding which syntax to support will probably take more effort then the
final implementation.

Cheers,

Peter

-------------------- http://www.prz.tu-berlin.de/~pcastine/
-------------------
Dr. Peter Castine          | 'Just the place for a Snark!' I have said it
twice
pcastine@prz.tu-berlin.de  |   That alone should encourage the crew.
                           | Just the place for a Snark! I have said it
thrice
Have Mac, Will Travel      |   What I tell you three times is true.'

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

Date:    Tue, 12 Aug 1997 09:27:26 -0000
From:    Nick Rothwell 
Subject: Re: "stubs" and "make subpatches"

> Three dimensional Max programing:
>
> Patches fire from bottom to top, back to front, and right to left.

...and if it crashes, a dialog box comes up saying "GAME OVER".

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

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

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

Date:    Tue, 12 Aug 1997 22:23:15 +0200
From:    "Dr. K@rlheinz Essl" 
Subject: Re: panning

Dear MAXers!

Thank you all for the overwhelming amount of responds regarding the
question of panning. I was experimenting with Iain Motts patch - the result
is much better than with the linear interpolation, but still there is a too
little level in the middle (perhaps -3 dB). Maybe it is only due to the
NICHE - I don't know what function this device uses internally.

There seem to be contradicting opinions about the best function:
exponential vs. cosine.

I will test them both and eventually report about it later - I'll be abroad
for the next two weeks.

Cheers,

Dr. K@rlheinz Essl
SAMT - Studio for Advanced Music & Media Technology
Bruckner-Konservatorium Linz / Austria
www:   http://www.ping.at/users/essl/index.html

________________________________________________________________________
     Visit the MindShipMind - an interactive multimedial Web Oracle
          http://www.ping.at/users/essl/works/mindshipmind.html
________________________________________________________________________

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

Date:    Tue, 12 Aug 1997 20:21:25 -0400
From:    Stephen Kay 
Subject: Re: Option - Save

>Another one for the wishlist, methinks. The main question is do folks wi=
sh
>for Option-Save to ``Save All Windows'' or ``Save this subpatcher and al=
l
>other subpatchers and recursively up the subpatch chain to the main patc=
h
>window''?

I would vote that option-command-S do "Save Main (Parent) Patcher".

The other options suggested above would not really be workable, if you
think about it.
Save All Windows: If they are subpatchers ("p xxx"), save them separately=
,
or just save the parent patcher? "Save this subpatcher and all other
subpatchers and recursively up the subpatch chain to the main patch
window": same problem, and note that saving the parent patcher takes care=

of saving all edited subpatchers anyway.

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, 12 Aug 1997 18:22:45 -0700
From:    Christopher Dobrian 
Subject: Cosine-mapped panning

essl@PING.AT requested a cosine-mapping patch for panning.
Below is a Max patch containing two simple Max implementations.

Also, alex@PIXAR.COM wrote:

>Should the level changes model a straight-line path between the two
speakers,
>or an arc with the listener at the origin?
>Section 4.2.2 of F. R. Moore's "Elements of Computer Music" has
>further thoughts on this topic.

I agree that Moore's explanation of this distinction is quite good.

--Chris

max v2;
#N vpatcher 50 40 317 140;
#N vpatcher 343 51 635 403;
#P newex 44 70 80 1441802 expr 127-$i1;
#P newex 9 70 32 1441802 grab;
#N vtable 128 40 55 250 222 20 128;
#T set 0 127 127 127 127 127 127 127 127 126 126 126 126 126 125 125 125
125 124 124 124 123 123 122 122 121 121 120 120 119 119 118 118 117 117 116
115 115 114 113 113 112 111 110 109 109 108 107 106 105 104 103 103 102 101
100 99 98 97 96 95 94 93 91 90 89 88 87 86 85 83 82 81 80 79 77 76 75 74 72
71 70 68 67 66 64 63 62 60 59 58 56 55 53 52 50 49 48 46 45 43 42 40 39 37
36 34 33 31 30 28 27 25 23 22 20 19 17 16 14 13 11 9 8 6 5 3 2 0;
#P newobj 44 95 38 1441802 table;
#P comment 131 160 98 1310730 Pan method 2:;
#P user uslider 44 117 18 128 128 1 0 0;
#P number 44 265 29 10 0 127 167 22;
#P number 9 265 29 10 0 127 167 22;
#P user uslider 9 117 18 128 128 1 0 0;
#P comment 68 177 203 1310730 The MIDI panning value is used to index a
table containing the first 1/4 of a cosine wave \, which is used to set the
volume level for each channel;
#P number 9 49 29 10 0 127 167 22;
#P user hslider 9 28 18 128 128 1 0 0;
#P connect 10 0 8 0;
#P connect 9 0 3 0;
#P fasten 9 1 8 0 36 91 49 91;
#P connect 8 0 6 0;
#P connect 6 0 5 0;
#P connect 3 0 4 0;
#P connect 0 0 1 0;
#P connect 1 0 9 0;
#P fasten 1 0 10 0 14 67 49 67;
#P pop;
#P newobj 136 49 62 1441802 p method2;
#N vpatcher 12 72 455 378;
#P newex 12 70 182 1441802 expr 127*cos(1.5708*$i1/127.);
#P newex 197 70 218 1441802 expr 127*cos(1.5708*(127-$i1)/127.);
#P user hslider 116 25 18 128 128 1 0 0;
#P number 116 46 29 10 0 127 167 22;
#P comment 84 88 62 1310730 1.5708=pi/2;
#P comment 221 152 203 1310730 The MIDI panning value is arithmetically
mapped onto the first 1/4 of a cosine wave \, then used to set the volume
level for each channel;
#P user uslider 12 92 18 128 128 1 0 0;
#P number 12 240 29 10 0 127 167 22;
#P number 197 240 29 10 0 127 167 22;
#P user uslider 197 92 18 128 128 1 0 0;
#P comment 284 135 98 1310730 Pan method 1:;
#P connect 4 0 3 0;
#P connect 10 0 4 0;
#P connect 9 0 1 0;
#P connect 8 0 7 0;
#P fasten 7 0 10 0 121 65 17 65;
#P fasten 7 0 9 0 121 65 202 65;
#P connect 1 0 2 0;
#P pop;
#P newobj 69 49 62 1441802 p method1;
#P comment 35 32 206 1310730 Two ways to implement cosine-mapped panning;
#P pop;

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

Date:    Wed, 13 Aug 1997 11:50:27 +1000
From:    Iain Mott 
Subject: equal power correction

>% signal CH1 =3D =881- 1/2 [1 + tan(=8F - =8Fmax/2)]
>% signal CH2 =3D =881/2 [1 + tan(=8F - =8Fmax/2)]
>
>where =8F =3D angle and =8Fmax =3D 90degrees
>

sorry - option key characters don't work do they?
this i hope, is a bit more clear:

% signal CH1 = sqrt(1- 1/2 [1 + tan(A - Amax/2)])
% signal CH2 = sqrt(1/2 [1 + tan(A - Amax/2)])

where A is angle and Amax is 90 degrees

----------------------------------------------------------------------------
Iain Mott                                               ph      (03) 6226
7326
Conservatorium of Music                 Int     +61 3 6226 7326
GPO 252-63, Hobart 7001               fax     (03) 6221 7318
Tasmania                                            Int.    +61 3 6221 7318
Australia                         http://www.music.utas.edu.au/mott
----------------------------------------------------------------------------

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

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