Subject: MAX Digest - 30 Sep 1999 to 1 Oct 1999 - Special issue (#1999-285)
Date: Fri, 1 Oct 1999 16:56:40 -0400
From:
Automatic digest processor <LISTSERV@LISTS.MCGILL.CA>
Reply-To: MAX - Interactive Music/Multimedia Standard Environments <MAX@LISTS.MCGILL.CA>
To: Recipients of MAX digests <MAX@LISTS.MCGILL.CA>


There are 10 messages totalling 893 lines in this issue.

Topics in this special issue:

  1. fastest per USB powerbook
  2. max2 creator
  3. phasemod~ final thougts
  4. thresh~ (2)
  5. manipulate midi data non-traditionally (win/mac)
  6. ReWire?
  7. Looking for a MAX programmer - UK
  8. 2408 on powerbook
  9. Q:Folder object

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

Date:Thu, 30 Sep 1999 21:50:10 -0400
From:Shamus McConney <mcconney@UFL.EDU>
Subject: Re: fastest per USB powerbook

The 292 G3 may be faster that the 300 because it has a 80 mhz system bus instead
of a 66 mhz one that the 300 has.

Shamus McConney

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

Date:Fri, 1 Oct 1999 01:02:02 -0700
From:Erick Gallun <erick@EAR.PSYCH.BERKELEY.EDU>
Subject: max2 creator

>unless Miller did it, no one ever registered "max2" as
>a creator type with Apple.

Aaah. This explains why my patches that I am using to teach a hearing
class (using MaxMspPlay) keep changing creator and opening my stand-alone
app (which is in the same folder) when double-clicked. I've had to tell my
students to open MaxMspPlay first and then open the patches in order to
keep from launching the stand-alone. Maybe I should use Resedit to give my
standalone its own creator code...

erick

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

Date:Fri, 1 Oct 1999 11:26:06 +0200
From:"J. van Kreij" <j.vankreij@TELE2.NL>
Subject: phasemod~ final thougts

Hi Eric

>You can avoid the dropouts by swtiching the values
>assigned to cycle~ and phasemod~.
Which is not what I want.

>Running phasemod~ at subaudio frequencies voids the warranty.
That the cancellation occurs, is inherent in the proces, it is not a
fault. That is why I wanted to use another phasemod~ out of phase half a
cycle and add the signals together. But there is no inlet for phase...


But I just discovered that when I add one with a negative frequency, it
solves the problem.

Thank you for your responses.
Johan

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

Date:Fri, 1 Oct 1999 11:39:02 +0100
From:Benjamin Thigpen <Benjamin.Thigpen@IRCAM.FR>
Subject: Re: thresh~

Hi Michael et al,

My 2 centimes...

David Z wrote:

>Michael Alcorn <alcorn@DNA1.DNET.CO.UK> writes:
>
>>I'm trying to do devise a patch that will trigger samples using amplitude
>>threshold triggering. As far as I can see thresh~ is the only way to do
>>this, though I'm finding that it performs erratically and has no control to
>>inhibit immediate retriggering (thresh~ on the ISPW had something like
>>this...)
Are there any other objects out there that would be better?
>
>First of all, the ISPW object was called threshold~ and was
>ported to MSP as part of the "ISPW Compatibility Library"
>availble from IRCAM.

threshold~ _claims_ to have this functionality (dead time after
triggering),but in my experience it unfortunately doesn't work...

>I'm
>not sure how you'd handle the retriggering problem, but there are
>smarter people who will have answers I'm sure.

Or dumber.

The first thing is to use both of thresh~'s thresholds. Once the signal
has passed above the upper threshold, it must fall below the low threshold
_and_ rise above the upper before retriggering. Separating these 2
thresholds prevents small fluctuations around the threshold level from
producing multiple triggers.

The second thing you might do (to imitate threshold~'s dead time) is to put
a selector~ before thresh~ and to use the output of thresh~ (routed through
edge~) to control the selector~:when thresh~triggers a sample (or
whatever it's triggering) it also closes or changes its own input. Then
reopen it when you want it to start listening again.

>If you want to use thresh~, you need to do some averaging on its
>input signal to create an amplitude-envelope-sort-of-thing.

This is the most important thing. You must send the envelope (not just the
raw signal) into thresh~; the more you smooth the envelope the less erratic
thresh~'s response will be.

>thresh~ was not designed for the same purpose as threshold~...it's
>was intended to provide precise triggering from control-type
>signals. A threshold~-type object would certainly be a useful
>addition to MSP.

If you don't need sample accuracy, you can use an envelope follower that
outputs floats (like envfol2~ in the jimmies library), and then just test
for the threshold with >. While you can do this with meter~ (as someone


suggested), an envelope follower will give you much better control.

Hope this helps.

Ben

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

Date:Fri, 1 Oct 1999 11:57:44 +0200
From:TomStout <tom@V2.NL>
Subject: manipulate midi data non-traditionally (win/mac)

hi, for ne1 that wants to do less traditional stuff with MIDI than
when using logic/poopface vst etc., u could check out Keykit
for some fun and maybe actually use it..

excerpt from url:

KeyKit used to be called Keynote. It is a
programming language and graphical user interface
for MIDI, useful for both algorithmic and realtime
musical experimentation.

The download site for KeyKit provides a summary of the language and user
interface features,
and allows you to download documentation, source code, and executables
for Windows 95,
Linux, and the Mac.

and it costs 0,= , which is always nice

go to:
http://209.233.20.72/keykit/


g' luck with all your experimentations!

Tom Stout..

(maybe check out my http://www.casema.net/~kerkhof
speech synthesis links which
are fun to use)

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

Date:Fri, 1 Oct 1999 06:01:57 -0700
From:Timothy Place <tim_place@YAHOO.COM>
Subject: ReWire?

Hello...

for some online

I was wondering if at some point in the future MSP was
going to support the ReWire extension. It is now
supported by VisionDSP amoung others such as ReBirth
and some others to essentially create a 64 channel
virtual audio snake from one program to the other
(like IAC for audio). I can't tell you how useful
this would be for me!

Just curious...

-Tim


=====
~ Timothy A. Place
~ tplace@cctr.umkc.edu


~ http://www.frontiernet.net/~place1/tap/
__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com

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

Date:Fri, 1 Oct 1999 13:54:42 +0100
From:Joe Young <joe@THEPLAYSTHETHING.COM>
Subject: Looking for a MAX programmer - UK

Hi,
I'm looking for a MAX programmer to help me realise a theatre project
for next year's International Brighton Festival. I am the composer
and Associate Director in charge of technology for a New Writing
organisation called "Theatre and Beyond". This May, we produced for
the first time a series of readings and full scale productions of new
work, many of which made extensive use of sound and video
installations. We are now working on the development of a piece which
will involve the use of virtual characters, video projection and
light beam to midi controllers. I need an experienced MAX programmer
to work with me as a technical consultant, to make this all possible.
There will be funding available if the project goes ahead. The likely
commitment involves 2/3 weeks work in January and then a further
rehearsal period in April nearer to the performance.
If anyone's interested please mail me your CV (in either Word 6/
Claris 4 format) and we can talk further.

Joe Young
Theatre and Beyond.
http://www.theplaysthething.com

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

Date:Fri, 1 Oct 1999 11:02:18 -0500
From:Dafna Naphtali <dln1@ACF2.NYU.EDU>
Subject: Re: thresh~

Hi all in or around NY:

The October NY Max/MSP Users Group meeting will be:

Wednesday October 6th 630-9:30pm
at Michael Schumacher's studio
5 Beekman St. #618
(212) 587-8107

Michael Schumacher will be presenting some of his work, and hopefully
one other person will be as well, Holland Hobson perhaps ? Please
let me know if any of you are interested in presenting at this or any
future meetings.

directions to Studio 5 Beekman:

4 5 6 to Brooklyn Bridge
N R to City Hall
A C to Fulton St.
2 3 to Fulton St.

See you on the 6th!

Dafna Naphtali
Harvestworks/Studio Pass

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

Date:Fri, 1 Oct 1999 09:13:10 -0600


From:Steve Anderson <andersos@SONOMA.EDU>
Subject: Re: 2408 on powerbook

Reply to:RE: 2408 on powerbook
>Date:Wed, 29 Sep 1999 22:28:07 +0200
>From:
David Prior <d.j.prior@BHAM.AC.UK>
>Subject: Powerbook & 2408
>
>From a Max newbie:
>
>can anybody tell me if it is possible to run a motu 2408 with a
>powerbook, if so what additional hardware would be required and what
>would be the best powerbook model to go for on a budget.
>
>David Prior
>
David,

I wish for this, too. But, the 2408 requires a PCI card.
There is a Magma Powerbook to PCI expansion chassis, but,
that kind of defeats the portability part, and, it costs as much as a G3.
There is no budget Powerbook when compared to what you can get
in a b&w G3 (or 4) for the same price.
They DO have handles, though.

There are USB digital audio interface devices appearing but, it will
probably take FireWire to do the bandwidth for multitracking.
The idea being to separate your datastream from your interrupt
driven mouse & data keyboard.

sea

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

Date:Fri, 1 Oct 1999 19:42:04 +0200
From:Manuel Poletti <Manuel.Poletti@IRCAM.FR>
Subject: Re: Q:Folder object

>Can the folder object scan folders outside of the Startup volume? I tend to
>keep all of my AIFF files on a HD separate from my apps.
>
>Also is there an external that would allow me to see all files types rather
>than the one specified by the "types" message?


I've tried to automate the loading of soundfiles wich are stored anywhere
on any harddisk, using both basic 'folder' and custom Peter Swinnen's
'filename' objects, and it seems to work.

I'd be glad to know if it's working for colleagues too!

Here are two version: one for buffer~ and one for sfplay~

You'll need to have the 'filename' object in your Max's search path to make
the patches work.If you don't have it you still can get it there:
http://www.ping.be/peterswinnen

The first time that you want to get a directory, it seems that you have to
do it twice - I don't know why yet - but as an evidence, we need a
"foldername" object !

Sorry for the (very) long post.

_M

PS: for keeping the complete path name of a file *lost* in your harddisk,


you can store the message that goes into buffer~ orsfplay~ 's inlet
(replace/open :HD:blabla:blabla:soundfile) in a coll or menu object.


buffer~ version:


max v2;
#N vpatcher 9 45 633 671;
#P hidden newex 404 379 45 196617 loadbang;
#P user meter~ 491 421 504 543 15;
#P hidden message 404 405 26 196617 127;
#P toggle 416 517 25 0;
#P newex 466 568 35 196617 dac~;
#P user gain~ 466 421 24 100 158 0 1.071519 7.94321 10.;
#P hidden message 248 232 31 196617 clear;
#P hidden newex 248 190 20 196617 t b;
#P message 248 169 98 196617 clear all directories;
#P message 113 169 118 196617 delete current directory;
#P hidden newex 113 232 73 196617 prepend delete;
#P hidden newex 113 190 20 196617 t b;
#P hidden newex 113 211 56 196617 i;
#P message 466 337 90 196617 play the soundfile!;
#N vpatcher 344 108 780 458;
#P newex 336 57 45 196617 loadbang;
#P newex 336 99 60 196617 prepend set;
#P message 336 78 14 196617 0;
#P message 86 139 14 196617 0;
#P inlet 26 22 15 0;
#P newex 26 64 28 196617 t b b;
#P outlet 195 293 15 0;
#P newex 195 251 61 196617 play~ sound;
#P newex 195 209 30 196617 line~;
#P newex 195 127 104 196617 t f f;
#P inlet 63 22 15 0;
#P newex 63 64 33 196617 t b b;
#P message 195 188 193 196617;
#P newex 195 148 104 196617 sprintf set 0\\\,%f %f;
#P newex 63 106 170 196617 info~ sound;
#P connect 10 0 9 0;
#P connect 4 0 3 0;
#P connect 3 0 0 0;
#P connect 9 1 11 0;
#P connect 3 1 11 0;
#P connect 0 6 5 0;
#P connect 5 0 1 0;
#P fasten 9 0 2 0 31 176 200 176;
#P connect 1 0 2 0;
#P connect 13 0 2 0;
#P connect 11 0 6 0;
#P connect 2 0 6 0;
#P connect 6 0 7 0;
#P connect 7 0 8 0;
#P connect 5 1 1 1;
#P connect 14 0 12 0;
#P connect 12 0 13 0;
#P pop;
#P newobj 466 379 117 196617 p play_sound;
#P hidden newex 296 190 45 196617 loadbang;
#P hidden newex 429 190 45 196617 loadbang;
#P hidden message 429 211 31 196617 clear;
#P hidden newex 85 22 45 196617 loadbang;
#P hidden message 85 43 14 196617 0;
#P message 402 64 75 196617 get a soundfile!;
#P user umenu 402 253 181 196647 1 2000 269;


#N vpatcher 50 40 424 383;
#P outlet 112 291 15 0;
#P newex 60 222 27 196617 del;
#P newex 60 201 38 196617 t b s;
#P newex 136 22 45 196617 loadbang;
#P newex 136 64 60 196617 prepend set;
#P message 136 43 14 196617 0;
#P outlet 88 291 15 0;
#P inlet 292 22 15 0;
#P inlet 60 22 15 0;
#P newex 292 64 28 196617 t b s;
#P newex 60 180 260 196617 sprintf replace \'%s%s\';
#P message 60 159 246 196617 0;
#P comment 103 201 216 196617 if you change things here \, the smart quotes
should be written with a backslash before them - this is true even if the
backslashes don't appear when you re-load the patch !;
#P connect 3 0 1 0;
#P connect 8 0 1 0;
#P connect 4 0 1 0;
#P connect 1 0 2 0;
#P connect 2 0 10 0;
#P connect 10 0 11 0;
#P connect 10 1 6 0;
#P connect 11 0 12 0;
#P connect 9 0 7 0;
#P connect 7 0 8 0;
#P connect 5 0 3 0;
#P connect 3 1 2 1;
#P pop;
#P newobj 349 295 234 196617 p load_into_buffer~;
#N vpatcher 50 40 312 244;
#P inlet 151 22 15 0;
#P outlet 103 148 15 0;
#P outlet 26 148 15 0;
#P inlet 26 22 15 0;
#P newex 26 106 60 196617 prepend set;
#P newex 26 64 87 196617 t s s;
#P newex 151 64 71 196617 prepend types;
#P newex 103 106 35 196617 folder;
#P connect 4 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 5 0;
#P connect 1 0 0 0;
#P connect 2 1 0 0;
#P connect 0 0 6 0;
#P connect 7 0 1 0;
#P pop;
#P newobj 349 211 63 196617 p get_folder;
#N vpatcher 50 40 272 308;
#P newex 162 64 20 196617 t b;
#P inlet 162 22 15 0;
#P message 26 127 50 196617 get AIFF;
#P outlet 114 210 15 0;
#P outlet 26 210 15 0;
#P inlet 26 22 15 0;
#P newex 26 64 98 196617 t s s;
#P newex 26 85 75 196617 prepend set get;
#N vpatcher 9 45 612 744;
#P newex 186 593 45 196617 loadbang;
#P newex 186 635 60 196617 prepend set;
#P message 186 614 14 196617 0;
#P newex 104 150 45 196617 loadbang;
#P newex 104 192 60 196617 prepend set;
#P message 104 171 14 196617 0;
#P newex 279 211 105 196617 sprintf set %i\\\, 0 %i;
#P newex 184 190 200 196617 t i i i;
#P newex 184 211 45 196617 pack 0 0;


#P newex 184 169 118 196617 counter;
#P newex 184 148 45 196617 t b i;
#P newex 145 505 27 196617 + 1;
#P newex 45 568 27 196617 del;
#P outlet 184 545 15 0;
#P newex 184 505 75 196617 prepend append;
#N comlet read a file (type TEXT);
#P inlet 62 22 15 0;
#P newex 184 442 35 196617 thresh;
#P newex 45 652 40 196617 change;
#P message 550 85 14 196617 1;
#P message 63 442 14 196617 0;
#P newex 45 421 28 196617 t b b;
#P newex 45 316 27 196617 gate;
#P newex 184 484 29 196617 ascii;
#P newex 45 547 55 196617 t b s;
#P message 45 610 110 196617;
#P newex 45 631 42 196617 line 0 1;
#P newex 45 484 110 196617 t i i;
#P newex 45 526 110 196617 sprintf set -1\\\, %i %i;
#P newex 45 337 51 196617 t i i;
#P newex 45 463 51 196617 i;
#P newex 45 400 35 196617 sel 58;
#P newex 45 379 101 196617 grab;
#P newex 62 85 27 196617 del;
#P newex 62 64 498 196617 t b s b b b;
#P message 62 253 107 196617;
#P newex 45 358 40 196617 change;
#P newex 62 274 42 196617 line 0 1;
#P message 428 85 31 196617 clear;
#P message 306 85 14 196617 0;
#N coll ;
#P newobj 184 421 40 196617 coll;
#P newex 184 127 29 196617 spell;
#P newex 184 106 55 196617 route read;
#P newex 184 85 69 196617 filename;
#P comment 310 502 265 196617 this is a nasty hack just to get rid of the
soundfile's name and keep only the patch of the folder that contains it !!;
#P comment 148 565 95 196617 to 'directory' menu;
#P fasten 25 0 23 0 68 461 35 461 35 310 50 310;
#P fasten 26 0 23 0 555 303 50 303;
#P connect 23 0 16 0;
#P connect 16 0 9 0;
#P connect 9 0 13 0;
#P connect 13 0 14 0;
#P connect 14 0 24 0;
#P connect 24 0 15 0;
#P connect 15 0 18 0;
#P connect 18 0 17 0;
#P connect 17 0 21 0;
#P connect 21 0 32 0;
#P connect 21 1 20 0;
#P connect 32 0 20 0;
#P connect 43 0 20 0;
#P connect 20 0 19 0;
#P connect 19 0 27 0;
#P connect 29 0 11 0;
#P connect 11 0 12 0;
#P fasten 38 0 10 0 284 237 67 237;
#P connect 12 0 10 0;
#P connect 40 0 10 0;
#P connect 10 0 8 0;
#P connect 8 0 23 1;
#P connect 24 1 25 0;
#P connect 16 1 15 1;
#P connect 41 0 39 0;
#P connect 39 0 40 0;


#P connect 18 1 33 0;
#P connect 33 0 17 1;
#P connect 11 1 2 0;
#P connect 2 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 34 0;
#P connect 34 0 35 0;
#P connect 35 0 37 0;
#P connect 37 0 36 0;
#P connect 36 0 5 0;
#P fasten 27 0 5 0 50 679 284 679 284 402 189 402;
#P connect 13 1 5 0;
#P fasten 7 0 5 0 433 378 189 378;
#P connect 5 0 28 0;
#P connect 28 0 22 0;
#P connect 22 0 30 0;
#P connect 30 0 31 0;
#P connect 44 0 42 0;
#P connect 42 0 43 0;
#P connect 34 1 36 1;
#P connect 6 0 35 2;
#P connect 37 1 38 0;
#P connect 11 2 6 0;
#P connect 37 2 38 1;
#P connect 11 3 7 0;
#P connect 11 4 26 0;
#P pop;
#P newobj 26 148 71 196617 p decode_path;
#P connect 3 0 2 0;
#P connect 2 0 1 0;
#P connect 8 0 6 0;
#P connect 1 0 6 0;
#P connect 6 0 0 0;
#P connect 0 0 4 0;
#P connect 2 1 5 0;
#P connect 7 0 8 0;
#P pop;
#P newobj 113 106 299 196617 p get_directory;
#P newex 349 337 70 196617 buffer~ sound;
#P user umenu 113 148 246 196647 1 64 164;
#P user umenu 85 64 38 196647 1 64 80;
#X add AIFF;
#X add SDII;
#P comment 127 65 100 196617 1) choose a file type;
#P comment 373 36 137 196617 2) open a soundfile anywhere on any HD to get
its pathname;
#P comment 26 144 83 196617 3) select the desired directory;
#P comment 220 334 125 196617 5) double-click the buffer~ object to see its
content;
#P comment 442 227 140 196617 4) select the desired soundfile and watch the
buffer~ window;
#P comment 447 338 18 196617 6);
#P comment 26 399 327 196622 this is a basic utility to store directories
leading to soundfiles placed in another disk that the one that contains
Max.The pathname of the directory is used to tell the folder object where
to look for soundfiles.;
#P comment 134 536 100 196617 by Li-'lChi-King;
#P comment 26 255 243 196617 you need to have Peter Swinnen's 'filename'
object in your Max's search path in order to make this patch work! If you
don't have the object \, you can get it there:
http://www.ping.be/peterswinnen;
#P hidden connect 18 0 17 0;
#P hidden connect 17 0 9 0;
#P connect 9 1 12 0;
#P hidden fasten 30 0 10 0 253 253 109 253 109 144 118 144;
#P hidden fasten 26 0 10 0 118 251 111 251 111 146 118 146;
#P connect 12 0 10 0;


#P hidden connect 27 0 25 0;
#P hidden connect 25 0 24 0;
#P hidden connect 24 0 26 0;
#P hidden connect 10 0 24 1;
#P hidden connect 28 0 29 0;
#P hidden connect 21 0 30 0;
#P hidden connect 29 0 30 0;
#P connect 10 1 13 0;
#P connect 13 0 14 0;
#P connect 14 0 11 0;
#P connect 16 0 12 1;
#P connect 12 1 13 1;
#P hidden connect 19 0 15 0;
#P connect 13 1 15 0;
#P hidden connect 36 0 34 0;
#P hidden connect 20 0 19 0;
#P connect 23 0 22 0;
#P hidden connect 34 0 31 0;
#P connect 22 0 31 0;
#P connect 33 0 32 0;
#P connect 31 0 32 0;
#P hidden connect 31 0 35 0;
#P connect 31 0 32 1;
#P connect 15 1 14 1;
#P connect 14 1 22 1;
#P pop;


sfplay~ version:


max v2;
#N vpatcher 9 45 640 672;
#P hidden newex 386 379 45 196617 loadbang;
#P hidden message 386 405 26 196617 127;
#P toggle 467 332 21 0;
#P user meter~ 492 421 505 543 15;
#P toggle 417 517 25 0;
#P newex 467 568 35 196617 dac~;
#P user gain~ 467 421 24 100 158 0 1.071519 7.94321 10.;
#P hidden message 248 232 31 196617 clear;
#P hidden newex 248 190 20 196617 t b;
#P message 248 169 98 196617 clear all directories;
#P message 113 169 118 196617 delete current directory;
#P hidden newex 113 232 73 196617 prepend delete;
#P hidden newex 113 190 20 196617 t b;
#P hidden newex 113 211 56 196617 i;
#P hidden newex 296 190 45 196617 loadbang;
#P hidden newex 429 190 45 196617 loadbang;
#P hidden message 429 211 31 196617 clear;
#P hidden newex 85 22 45 196617 loadbang;
#P hidden message 85 43 14 196617 0;
#P message 402 64 75 196617 get a soundfile!;
#P user umenu 402 253 181 196647 1 2000 269;
#N vpatcher 50 40 424 383;
#P outlet 114 286 15 0;
#P message 60 243 14 196617 1;
#P newex 60 222 27 196617 del;
#P newex 60 201 28 196617 t b s;
#P newex 136 22 45 196617 loadbang;
#P newex 136 64 60 196617 prepend set;


#P message 136 43 14 196617;
#P outlet 78 286 15 0;
#P inlet 292 22 15 0;
#P inlet 60 22 15 0;
#P newex 292 64 28 196617 t b s;
#P newex 60 180 260 196617 sprintf open \'%s%s\';
#P message 60 159 246 196617;
#P comment 103 201 216 196617 if you change things here \, the smart quotes
should be written with a backslash before them - this is true even if the
backslashes don't appear when you re-load the patch !;
#P connect 4 0 1 0;
#P connect 8 0 1 0;
#P connect 3 0 1 0;
#P connect 1 0 2 0;
#P connect 2 0 10 0;
#P connect 10 0 11 0;
#P connect 11 0 12 0;
#P connect 10 1 6 0;
#P connect 12 0 13 0;
#P connect 9 0 7 0;
#P connect 7 0 8 0;
#P connect 5 0 3 0;
#P connect 3 1 2 1;
#P pop;
#P newobj 349 295 234 196617 p open_from_sfplay~;
#N vpatcher 50 40 312 244;
#P inlet 151 22 15 0;
#P outlet 103 148 15 0;
#P outlet 26 148 15 0;
#P inlet 26 22 15 0;
#P newex 26 106 60 196617 prepend set;
#P newex 26 64 87 196617 t s s;
#P newex 151 64 71 196617 prepend types;
#P newex 103 106 35 196617 folder;
#P connect 4 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 5 0;
#P connect 2 1 0 0;
#P connect 1 0 0 0;
#P connect 0 0 6 0;
#P connect 7 0 1 0;
#P pop;
#P newobj 349 211 63 196617 p get_folder;
#N vpatcher 50 40 272 308;
#P newex 162 64 20 196617 t b;
#P inlet 162 22 15 0;
#P message 26 127 50 196617 get AIFF;
#P outlet 114 210 15 0;
#P outlet 26 210 15 0;
#P inlet 26 22 15 0;
#P newex 26 64 98 196617 t s s;
#P newex 26 85 75 196617 prepend set get;
#N vpatcher 9 45 612 744;
#P newex 186 592 45 196617 loadbang;
#P newex 186 634 60 196617 prepend set;
#P message 186 613 14 196617 0;
#P newex 98 157 45 196617 loadbang;
#P newex 98 199 60 196617 prepend set;
#P message 98 178 14 196617 0;
#P newex 279 211 105 196617 sprintf set %i\\\, 0 %i;
#P newex 184 190 200 196617 t i i i;
#P newex 184 211 45 196617 pack 0 0;
#P newex 184 169 118 196617 counter;
#P newex 184 148 45 196617 t b i;
#P newex 145 505 27 196617 + 1;
#P newex 45 568 27 196617 del;
#P outlet 184 545 15 0;


#P newex 184 505 75 196617 prepend append;
#N comlet read a file (type TEXT);
#P inlet 62 22 15 0;
#P newex 184 442 35 196617 thresh;
#P newex 45 652 40 196617 change;
#P message 550 85 14 196617 1;
#P message 63 442 14 196617 0;
#P newex 45 421 28 196617 t b b;
#P newex 45 316 27 196617 gate;
#P newex 184 484 29 196617 ascii;
#P newex 45 547 55 196617 t b s;
#P message 45 610 110 196617;
#P newex 45 631 42 196617 line 0 1;
#P newex 45 484 110 196617 t i i;
#P newex 45 526 110 196617 sprintf set -1\\\, %i %i;
#P newex 45 337 51 196617 t i i;
#P newex 45 463 51 196617 i;
#P newex 45 400 35 196617 sel 58;
#P newex 45 379 101 196617 grab;
#P newex 62 85 27 196617 del;
#P newex 62 64 498 196617 t b s b b b;
#P message 62 253 107 196617;
#P newex 45 358 40 196617 change;
#P newex 62 274 42 196617 line 0 1;
#P message 428 85 31 196617 clear;
#P message 306 85 14 196617 0;
#N coll ;
#P newobj 184 421 40 196617 coll;
#P newex 184 127 29 196617 spell;
#P newex 184 106 55 196617 route read;
#P newex 184 85 69 196617 filename;
#P comment 310 502 265 196617 this is a nasty hack just to get rid of the
soundfile's name and keep only the patch of the folder that contains it !!;
#P comment 148 565 95 196617 to 'directory' menu;
#P fasten 26 0 23 0 555 303 50 303;
#P fasten 25 0 23 0 68 461 35 461 35 310 50 310;
#P connect 23 0 16 0;
#P connect 16 0 9 0;
#P connect 9 0 13 0;
#P connect 13 0 14 0;
#P connect 14 0 24 0;
#P connect 24 0 15 0;
#P connect 15 0 18 0;
#P connect 18 0 17 0;
#P connect 17 0 21 0;
#P connect 21 0 32 0;
#P connect 32 0 20 0;
#P connect 21 1 20 0;
#P connect 43 0 20 0;
#P connect 20 0 19 0;
#P connect 19 0 27 0;
#P connect 29 0 11 0;
#P connect 11 0 12 0;
#P connect 12 0 10 0;
#P fasten 38 0 10 0 284 237 67 237;
#P connect 40 0 10 0;
#P connect 10 0 8 0;
#P connect 8 0 23 1;
#P connect 24 1 25 0;
#P connect 16 1 15 1;
#P connect 41 0 39 0;
#P connect 39 0 40 0;
#P connect 18 1 33 0;
#P connect 33 0 17 1;
#P connect 11 1 2 0;
#P connect 2 0 3 0;
#P connect 3 0 4 0;


#P connect 4 0 34 0;
#P connect 34 0 35 0;
#P connect 35 0 37 0;
#P connect 37 0 36 0;
#P fasten 7 0 5 0 433 378 189 378;
#P connect 13 1 5 0;
#P fasten 27 0 5 0 50 679 284 679 284 402 189 402;
#P connect 36 0 5 0;
#P connect 5 0 28 0;
#P connect 28 0 22 0;
#P connect 22 0 30 0;
#P connect 30 0 31 0;
#P connect 44 0 42 0;
#P connect 42 0 43 0;
#P connect 34 1 36 1;
#P connect 6 0 35 2;
#P connect 37 1 38 0;
#P connect 11 2 6 0;
#P connect 37 2 38 1;
#P connect 11 3 7 0;
#P connect 11 4 26 0;
#P pop;
#P newobj 26 148 71 196617 p decode_path;
#P connect 3 0 2 0;
#P connect 2 0 1 0;
#P connect 1 0 6 0;
#P connect 8 0 6 0;
#P connect 6 0 0 0;
#P connect 0 0 4 0;
#P connect 2 1 5 0;
#P connect 7 0 8 0;
#P pop;
#P newobj 113 106 299 196617 p get_directory;
#N sfplay~1 16384;
#P newobj 467 372 42 196617 sfplay~;
#P user umenu 113 148 246 196647 1 64 164;
#P user umenu 85 64 38 196647 1 64 80;
#X add AIFF;
#X add SDII;
#P comment 127 65 100 196617 1) choose a file type;
#P comment 373 36 137 196617 2) open a soundfile anywhere on any HD to get
its pathname;
#P comment 26 144 83 196617 3) select the desired directory;
#P comment 492 336 100 196617 5) play the soundfile;
#P comment 442 227 140 196617 4) select the desired soundfile and watch the
buffer~ window;
#P comment 26 399 327 196622 this is a basic utility to store directories
leading to soundfiles placed in another disk that the one that contains
Max.The pathname of the directory is used to tell the folder object where
to look for soundfiles.;
#P comment 134 536 100 196617 by Li-'lChi-King;
#P comment 26 255 243 196617 you need to have Peter Swinnen's 'filename'
object in your Max's search path in order to make this patch work! If you
don't have the object \, you can get it there:
http://www.ping.be/peterswinnen;
#P hidden connect 17 0 16 0;
#P hidden connect 16 0 8 0;
#P connect 8 1 11 0;
#P connect 11 0 9 0;
#P hidden fasten 23 0 9 0 118 251 111 251 111 146 118 146;
#P hidden fasten 27 0 9 0 253 253 109 253 109 144 118 144;
#P hidden connect 24 0 22 0;
#P hidden connect 22 0 21 0;
#P hidden connect 21 0 23 0;
#P hidden connect 9 0 21 1;
#P hidden connect 25 0 26 0;
#P hidden connect 26 0 27 0;


#P hidden connect 20 0 27 0;
#P connect 9 1 12 0;
#P connect 12 0 13 0;
#P hidden connect 34 0 33 0;
#P connect 15 0 11 1;
#P connect 11 1 12 1;
#P connect 12 1 14 0;
#P hidden connect 18 0 14 0;
#P hidden connect 19 0 18 0;
#P fasten 13 1 32 0 578 322 472 322;
#P connect 32 0 10 0;
#P connect 13 0 10 0;
#P connect 10 0 28 0;
#P hidden connect 33 0 28 0;
#P connect 28 0 29 0;
#P connect 30 0 29 0;
#P hidden connect 28 0 31 0;
#P connect 28 0 29 1;
#P connect 14 1 13 1;
#P pop;

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

End of MAX Digest - 30 Sep 1999 to 1 Oct 1999 - Special issue (#1999-285)
*************************************************************************