Au~ scripting

May 24, 2007 at 3:17pm

Au~ scripting

I’m trying to make a wrapper for the au~ object, so
that I can select AU’s from a ubumenu and dynamically
create new instances of au~.
However, although I can create an object called “au~
Compressor” manually, and it will work fine, if I
create an object “au~ Compressor” with scripting, I
get a message saying ‘Selected Audio Unit not found’.
Any ideas ?
Also, the list of AU’s printed in the Max window when
you send a ‘plugins’ message to au~ bears little
resemblance to the AU’s in my
Library/Audio/Plugins/Components folder – possibly
because there’s a load of old non-UB stuff in there,
but there is also a bunch of Apple plugs listed (all
startng with ‘AU’), which I can’t locate with
Spotlight – where does Apple hide them?
cheers
Roger

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 471 150 40 196617 itoa;
#P newex 472 107 40 196617 atoi;
#P newex 472 128 57 196617 zl ecils 10;
#P message 479 220 94 196617 script delete myau;
#P newex 437 179 53 196617 t b b s b;
#P message 437 295 280 196617 script connect myau 0
outL 0 , script connect myau 1 outR 0;
#P message 451 275 268 196617 script connect inL 0
myau 0 , script connect inR 0 myau 1;
#P newex 234 255 271 196617 sprintf script new myau
newex 34 93 83 196617 au~ %s;
#P outlet 107 163 15 0;
#P objectname outR;
#P outlet 33 163 15 0;
#P objectname outL;
#P inlet 107 42 15 0;
#P objectname inR;
#P inlet 34 43 15 0;
#P objectname inL;
#P button 239 102 15 0;
#P user ubumenu 374 83 206 196617 0 1 1 0;
#X add “20 Bands Eq.component”;
#X add “5 Band Eq.component”;
#X add “Altiverb AudioUnit.component”;
#X add AU303.component;
#X add Bassdrum.component;
#X add “BIAS SoundSoap AU.component”;
#X add Blue.component;
#X add “Buff rice.component”;
#X add “C3 Multi Band Compressor #BBCE1″;
#X add CamelCrusher.component;
#X add CheezeMachine.component;
#X add Chip32.component;
#X add Compressor.component;
#X add “Convolution reverb mono.#1B69F3″;
#X add “Convolution reverb stere#1B69FD”;
#X add CrazyIvan.component;
#X add Crystal.component;
#X add CS-80V.component;
#X add daHornet.component;
#X add “DC Blocker.component”;
#X add Decimator.component;
#X add ElCAJackIN.component;
#X add ElCAJackOUT.component;
#X add fish_fillets_manual.pdf;
#X add FishFillets.component;
#X add “Flying monkey synth.component”;
#X add Freeverb.component;
#X add “Funky repeater.component”;
#X add Gate.component;
#X add “Generator Presets”;
#X add Generator.component;
#X add “Graphic Equalizer.component”;
#X add “Hum remover.component”;
#X add JACK-insert.component;
#X add Limiter.component;
#X add “Lounge Lizard 2 Demo AU.c#BBE12″;
#X add Lpgeq2_1.component;
#X add MelodyneBridge.component;
#X add “MIDI Filter.component”;
#X add “Multiband freeverb.component”;
#X add “Multiband scraper.component”;
#X add OTBitmodder.component;
#X add Pluggo.component;
#X add “Prebuilt plugins”;
#X add “Rainy synth.component”;
#X add RumblenceAU.component;
#X add RumblenceZoyd.component;
#X add “SampleTank2 Free.component”;
#X add “SFX Machine RT.component”;
#X add “Simple reverb.component”;
#X add “SonicBirth Design.component”;
#X add SoundFontSynth.component;
#X add “SoundMagic Spectral”;
#X add SoundShuttle.component;
#X add “Soundtrack Pro Reverb.component”;
#X add SupaTrigga.component;
#X add “Swamp buffer.component”;
#X add TickyClav.component;
#X add UniversalUVIPlayer.component;
#X add “Valve warmer.component”;
#X add Voxynth.component;
#X add “Width Enhancer.component”;
#X prefix_set 0 0 0;
#N comlet b set folder;
#P inlet 231 41 15 0;
#N vpatcher 308 382 1069 786;
#P origin 26 0;
#P outlet 165 277 15 0;
#P window setfont “Sans Serif” 9.;
#P newex 176 203 30 196617 t s b;
#P message 1 221 31 196617 clear;
#P newex 23 63 27 196617 b;
#N comlet to menu;
#P outlet 47 276 15 0;
#N comlet from menu;
#P inlet 191 40 15 0;
#P newex 127 90 45 196617 loadbang;
#N comlet set folder;
#P inlet 22 43 15 0;
#P newex 205 300 84 196617 filepath search 0;
#P newex 205 273 60 196617 prepend set;
#P message 205 241 637 196617 “Macintosh
HD:/Library/Audio/Plug-Ins/Components/”;
#P newex 205 174 60 196617 prepend set;
#P message 127 117 33 196617 types;
#P newex 46 111 66 196617 absolutepath;
#P newex 45 85 74 196617 opendialog fold;
#P newex 46 137 35 196617 folder;
#P fasten 12 1 13 0 45 92 6 92;
#P connect 8 0 12 0;
#P fasten 12 0 1 0 28 83 50 83;
#P connect 1 0 2 0;
#P connect 3 0 0 0;
#P connect 2 0 0 0;
#P connect 0 0 11 0;
#P fasten 13 0 11 0 6 251 52 251;
#P connect 9 0 3 0;
#P connect 14 0 15 0;
#P connect 10 0 14 0;
#P connect 1 0 4 0;
#P connect 4 0 5 0;
#P connect 14 1 5 0;
#P connect 5 0 6 0;
#P connect 6 0 7 0;
#P pop;
#P newobj 253 143 55 196617 p folderset;
#N thispatcher;
#Q end;
#P newobj 234 370 61 196617 thispatcher;
#P newex 34 93 83 196617 au~ Compressor;
#P objectname myau;
#P comment 131 103 107 196617 Click to set AU folder;
#P comment 540 130 114 196617 get rid of ‘.component’;
#P comment 313 86 58 196617 select plug;
#P connect 3 0 11 0;
#P connect 9 0 3 0;
#P connect 10 0 3 1;
#P connect 3 1 12 0;
#P fasten 16 2 13 0 470 213 239 213;
#P connect 13 0 4 0;
#P fasten 14 0 4 0 456 310 239 310;
#P fasten 15 0 4 0 442 312 239 312;
#P fasten 17 0 4 0 484 341 239 341;
#P fasten 6 0 5 0 236 70 258 70;
#P connect 8 0 5 0;
#P fasten 5 0 7 0 258 171 313 171 313 73 379 73;
#P connect 20 0 16 0;
#P connect 16 0 15 0;
#P connect 16 1 14 0;
#P connect 18 0 20 0;
#P connect 7 1 19 0;
#P connect 19 0 18 0;
#P connect 16 3 17 0;
#P window clipboard copycount 21;

#32077
May 24, 2007 at 8:14pm

Quote: roger.carruthers wrote on Thu, 24 May 2007 17:17
—————————————————-
> I’m trying to make a wrapper for the au~ object, so
> that I can select AU’s from a ubumenu and dynamically
> create new instances of au~.
> However, although I can create an object called “au~
> Compressor” manually, and it will work fine, if I
> create an object “au~ Compressor” with scripting, I
> get a message saying ‘Selected Audio Unit not found’.
> Any ideas ?

Because you are trying to load an AU by its filename which is not its real name… ?
For example, MNSpectralAveraging is the filename displayed in the Finder and its real name is “Spectral Averaging” => [au~ "Spectral Averaging"]

> Also, the list of AU’s printed in the Max window when
> you send a ‘plugins’ message to au~ bears little
> resemblance to the AU’s in my
> Library/Audio/Plugins/Components folder – possibly

[au~] looks for the content of your user folder too:
~/Library/Audio/Plugins/Components

> because there’s a load of old non-UB stuff in there,
> but there is also a bunch of Apple plugs listed (all
> starting with ‘AU’), which I can’t locate with
> Spotlight – where does Apple hide them?

About the Apple’s AU (aufx filetype only) that come ship with Mac OS X, there’s no specified location (hidden).
Below the list in OSX.4.

Regards,
Philippe

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P message 266 412 39 196617 params;
#P message 266 362 39 196617 params;
#P message 266 311 39 196617 params;
#P message 266 256 39 196617 params;
#P message 266 201 39 196617 params;
#P message 266 141 39 196617 params;
#P message 266 86 39 196617 params;
#P message 266 31 39 196617 params;
#P message 52 412 39 196617 params;
#P message 52 362 39 196617 params;
#P message 52 312 39 196617 params;
#P message 52 256 39 196617 params;
#P message 52 201 39 196617 params;
#P message 52 141 39 196617 params;
#P message 52 86 39 196617 params;
#P message 52 31 39 196617 params;
#P message 240 412 25 196617 open;
#B color 5;
#P newex 240 430 74 196617 au~ AUNetSend;
#B color 5;
#P message 240 362 25 196617 open;
#B color 5;
#P newex 240 380 61 196617 au~ AUPitch;
#B color 5;
#P message 240 311 25 196617 open;
#B color 5;
#P newex 240 330 95 196617 au~ AUSampleDelay;
#B color 5;
#P message 240 256 25 196617 open;
#B color 5;
#P newex 240 274 91 196617 au~ AUPeakLimiter;
#B color 5;
#P message 240 141 25 196617 open;
#B color 5;
#P newex 240 159 134 196617 au~ AUMultibandCompressor;
#B color 5;
#P message 240 86 25 196617 open;
#B color 5;
#P newex 240 104 102 196617 au~ AUMatrixReverb;
#B color 5;
#P message 240 31 25 196617 open;
#B color 5;
#P newex 240 49 103 196617 au~ AULowShelfFilter;
#B color 5;
#P message 25 412 25 196617 open;
#B color 5;
#P newex 25 430 76 196617 au~ AULowpass;
#B color 5;
#P message 240 201 25 196617 open;
#B color 5;
#P newex 240 219 100 196617 au~ AUParametricEQ;
#B color 5;
#P message 26 362 25 196617 open;
#B color 5;
#P newex 26 380 104 196617 au~ AUHighShelfFilter;
#B color 5;
#P message 26 312 25 196617 open;
#B color 5;
#P newex 26 330 66 196617 au~ AUHipass;
#B color 5;
#P message 26 256 25 196617 open;
#B color 5;
#P message 26 201 25 196617 open;
#B color 5;
#P newex 26 219 63 196617 au~ AUFilter;
#B color 5;
#P message 26 141 25 196617 open;
#B color 5;
#P newex 26 159 63 196617 au~ AUDelay;
#B color 5;
#P message 26 86 25 196617 open;
#B color 5;
#P newex 26 104 127 196617 au~ AUDynamicsProcessor;
#B color 5;
#P message 26 31 25 196617 open;
#B color 5;
#P newex 26 49 78 196617 au~ AUBandpass;
#B color 5;
#P newex 26 274 82 196617 au~ AUGraphicEQ;
#B color 5;
#P connect 31 0 30 0;
#P connect 47 0 30 0;
#P connect 29 0 28 0;
#P connect 46 0 28 0;
#P connect 27 0 26 0;
#P connect 45 0 26 0;
#P connect 25 0 24 0;
#P connect 44 0 24 0;
#P connect 15 0 14 0;
#P connect 43 0 14 0;
#P connect 23 0 22 0;
#P connect 42 0 22 0;
#P connect 21 0 20 0;
#P connect 41 0 20 0;
#P connect 19 0 18 0;
#P connect 40 0 18 0;
#P connect 13 0 12 0;
#P connect 38 0 12 0;
#P connect 11 0 10 0;
#P connect 37 0 10 0;
#P connect 9 0 0 0;
#P connect 36 0 0 0;
#P connect 8 0 7 0;
#P connect 35 0 7 0;
#P connect 6 0 5 0;
#P connect 34 0 5 0;
#P connect 4 0 3 0;
#P connect 33 0 3 0;
#P connect 2 0 1 0;
#P connect 32 0 1 0;
#P connect 17 0 16 0;
#P connect 39 0 16 0;
#P window clipboard copycount 48;

#104988
May 25, 2007 at 8:41am

Thanks, Phillipe, but if I’m using the same name when entering it manually as I’m getting by scripting, then it must surely be the right name in both cases, as it works when created manually!
I’m guessing that this is something to do with the object itself, and thus a question for it’s developer – I was just hoping that one of you dev types might confirm this, before i go bothering him with it…
It would be nice to be able to interface with this object in a less clunky way than having to manually enter plugs’ names as an argument – scripting would be fine, if it worked…
It’s a shame Apple have to hide their plugs in this way – I can’t really see the point of it. Fair enough with the big boys like Space Designer, which they want you to buy Logic or Soundtrack Pro for, but it’s not going to encourage the adoption of AU as a standard if they wont enable easy access to bog standard things like filters & dynamics processors,
cheers
Roger

#104989
May 25, 2007 at 7:16pm

Hi Roger,

I wondered if you can write the actual parameters of a plug in into a ubumenu?

#104990
May 25, 2007 at 8:44pm

Quote: roger.carruthers wrote on Fri, 25 May 2007 10:41
—————————————————-

Hi Roger,

> Thanks, Philippe, but if I’m using the same name when entering
> it manually as I’m getting by scripting, then it must surely
> be the right name in both cases, as it works when created
> manually!

Could be then a problem with scripting. [au~] seems to need a ‘certain’ amount of time to be initialized.
I just find that putting a dummy [au~] is working when building a collective. This one below could give you an idea:

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P message 44 89 38 196617 params;
#B color 5;
#P objectname var4;
#P newex 24 180 64 196617 au~ “bla bla”;
#P message 18 89 25 196617 open;
#B color 5;
#P objectname var1;
#P message 272 111 28 196617 clean;
#P newex 272 62 48 196617 b 4;
#P newex 272 43 47 196617 del 2000;
#P newex 272 23 47 196617 loadbang;
#P window linecount 3;
#P message 162 152 108 196617 script connect var1 0 var2 0 , script connect var4 0 var2 0;
#P message 154 104 110 196617 script new var2 newex 18 110 115 196617 au~ AUMatrixReverb;
#P window linecount 1;
#N thispatcher;
#Q end;
#P newobj 154 205 56 196617 thispatcher;
#P comment 12 166 115 196617 put a dummy AU for init;
#P fasten 6 0 10 0 277 83 49 83;
#P connect 6 0 7 0;
#P connect 5 0 6 0;
#P connect 4 0 5 0;
#P fasten 6 2 3 0 301 147 167 147;
#P fasten 7 0 1 0 277 198 159 198;
#P connect 3 0 1 0;
#P connect 2 0 1 0;
#P fasten 6 3 2 0 313 90 159 90;
#P fasten 6 1 8 0 289 83 23 83;
#P window clipboard copycount 11;

> It’s a shame Apple have to hide their plugs in this way
> I can’t really see the point of it.

Ditto for ImageUnit and VideoUnit plug-ins too!

Cheerio,
Philippe

#104991
May 25, 2007 at 10:03pm

Quote: hans.mittendorf@free.fr wrote on Fri, 25 May 2007 21:16
—————————————————-
> I wondered if you can write the actual parameters of a plug in
> into a ubumenu?
—————————————————-

Yes, it would be very useful!

Do you know how to extract any info displayed in the Max window from the Max window?

Best,
Philippe

#104992
May 26, 2007 at 7:24am

Hi,
look at this patch. I was made by Gregory Taylor and is for vst, but that’s the way to do it, I believe.
max v2;
#N vpatcher 299 66 1052 834;
#P origin 0 108;
#P window setfont “Sans Serif” 10.;
#P window linecount 1;
#P comment 388 468 156 196618 Choose a parameter for dial 4;
#P comment 388 436 156 196618 Choose a parameter for dial 3;
#P comment 388 404 156 196618 Choose a parameter for dial 2;
#P comment 388 372 156 196618 Choose a parameter for dial 1;
#P user ubumenu 155 468 233 196618 0 0 1 0;
#X setrgb 255 255 255 153 102 187 153 102 187 4 4 4 141 141 141 112 112 112;
#X add Gain;
#X prefix_set 0 0 0;
#P user ubumenu 155 436 233 196618 0 0 1 0;
#X setrgb 255 255 255 153 102 187 153 102 187 4 4 4 141 141 141 112 112 112;
#X add Gain;
#X prefix_set 0 0
0;
#P user ubumenu 155 404 233 196618 0 0 1 0;
#X setrgb 255 255 255 153 102 187 153 102 187 4 4 4 141 141 141 112 112 112;
#X add Gain;
#X prefix_set 0 0
0;
#P window linecount 2;
#P comment 164 516 146 196618 controller messages from the midiparse object;
#B color 12;
#P window linecount 1;
#P comment 177 573 179 196618 < - double-click to see the patcher;
#P newex 164 546 56 196618 r mydials;
#N vpatcher 10 59 653 609;
#P window setfont “Sans Serif” 10.;
#P comment 314 399 191 196618 The zmap objects convert the 0-127 MIDI values to the range that VST parameters use (0.-1.0);
#P outlet 538 474 15 0;
#P comment 339 29 140 196618 MIDI controller messages;
#B color 12;
#P comment 44 474 245 196618 VST parameter messages for the vst~ object;
#B color 12;
#P outlet 23 474 15 0;
#P inlet 339 59 15 0;
#P inlet 252 59 15 0;
#P inlet 176 59 15 0;
#P inlet 100 59 15 0;
#P inlet 23 59 15 0;
#P newex 252 375 33 196618 + 1;
#P newex 252 401 52 196618 pak 0 0.;
#P newex 293 375 94 196618 zmap 0 127 0. 1.;
#P newex 176 327 33 196618 + 1;
#P newex 176 353 52 196618 pak 0 0.;
#P newex 218 327 94 196618 zmap 0 127 0. 1.;
#P newex 100 279 33 196618 + 1;
#P newex 100 305 52 196618 pak 0 0.;
#P newex 142 279 94 196618 zmap 0 127 0. 1.;
#P newex 23 231 33 196618 + 1;
#P newex 23 257 52 196618 pak 0 0.;
#P comment 22 29 245 196618 VST parameter numbers from the ubumenus Since ubumenu numbers from 0 , we add 1….;
#B color 12;
#P newex 65 231 94 196618 zmap 0 127 0. 1.;
#P number 293 355 35 10 0 0 32 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 218 307 35 10 0 0 32 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 142 259 35 10 0 0 32 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 65 212 35 10 0 0 32 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 339 133 213 196618 route 74 71 76 77;
#P comment 351 90 229 196618 The route object chooses only the controller numbers I want for my dials , and sends everything else out the right outlet;
#P connect 19 0 9 0;
#P connect 9 0 8 0;
#P connect 17 0 24 0;
#P connect 14 0 24 0;
#P connect 11 0 24 0;
#P connect 8 0 24 0;
#P connect 1 0 2 0;
#P connect 2 0 6 0;
#P connect 6 0 8 1;
#P connect 20 0 12 0;
#P connect 12 0 11 0;
#P connect 1 1 3 0;
#P connect 3 0 10 0;
#P connect 10 0 11 1;
#P connect 21 0 15 0;
#P connect 15 0 14 0;
#P connect 1 2 4 0;
#P connect 4 0 13 0;
#P connect 13 0 14 1;
#P connect 22 0 18 0;
#P connect 18 0 17 0;
#P connect 1 3 5 0;
#P connect 5 0 16 0;
#P connect 16 0 17 1;
#P connect 23 0 1 0;
#P connect 1 4 27 0;
#P pop;
#P newobj 100 573 77 196618 p dialhandler;
#P newex 44 249 56 196618 r vstdials;
#P newex 100 600 55 196618 s vstdials;
#P window linecount 3;
#P comment 405 90 277 196618 The trigger and deferlow objects are used to delay loading the ubumenu with a list of plug-in parameters until the VST plug-in finishes loading.;
#P window linecount 1;
#P comment 405 66 277 196618 The plug message is used to load a VST plug-in.;
#B color 12;
#P message 323 180 56 196618 params;
#B color 13;
#P newex 323 204 79 196618 trigger l clear;
#P user ezdac~ 24 465 68 498 0;
#P user gain~ 46 330 22 100 158 0 1.071519 7.94321 60.;
#P user gain~ 24 330 22 100 158 0 1.071519 7.94321 10.;
#P newex 323 116 67 196618 deferlow;
#P newex 323 90 75 196618 trigger b l;
#P message 323 66 44 196618 plug;
#B color 12;
#P window linecount 3;
#P comment 405 263 233 196618 You can see the plug-in’s edit window by using the open message or double-clicking on the vst~ object;
#B color 14;
#P window linecount 2;
#P comment 405 180 277 196618 The params message loads the four ubumenus with a listing of the plug-in parameters;
#B color 13;
#P window linecount 1;
#P message 322 263 68 196618 open;
#B color 14;
#P newex 104 317 90 196618 prepend append;
#P user ubumenu 155 372 233 196618 0 0 1 0;
#X setrgb 255 255 255 153 102 187 153 102 187 4 4 4 141 141 141 112 112 112;
#X add Gain;
#X prefix_set 0 0
0;
#N vst~ loaduniqueid 0;
#P newobj 24 294 212 196618 vst~;
#P newex 90 89 52 196618 s mydials;
#P newex 24 145 210 196618 qs.vstizer;
#B color 5;
#P newex 90 123 44 196618 r other;
#P newex 167 600 43 196618 s other;
#P window linecount 2;
#P comment 167 621 146 196618 send all other controller messages back to the vstizer;
#B color 12;
#P window linecount 1;
#P newex 24 39 46 196618 midiin;
#P newex 24 66 210 196618 midiparse;
#B color 5;
#P comment 72 40 295 196618 < - double-click on this object to select a MIDI input source;
#P connect 2 0 1 0;
#P connect 1 0 6 0;
#P fasten 11 0 8 0 327 285 29 285;
#P fasten 15 1 8 0 393 172 29 172;
#P fasten 20 0 8 0 328 231 29 231;
#P connect 6 0 8 0;
#P fasten 6 1 8 0 129 172 29 172;
#P fasten 25 0 8 0 49 276 29 276;
#P connect 8 0 17 0;
#P connect 17 0 19 0;
#P fasten 8 1 18 0 69 321 51 321;
#P hidden connect 17 1 18 0;
#P connect 1 1 6 1;
#P fasten 18 0 19 1 51 459 63 459;
#P connect 1 2 7 0;
#P connect 5 0 6 2;
#P fasten 9 0 26 0 160 395 105 395;
#P connect 26 0 24 0;
#P connect 8 2 10 0;
#P fasten 30 0 26 1 160 428 121 428;
#P connect 1 3 6 3;
#P fasten 31 0 26 2 160 461 137 461;
#P fasten 32 0 26 3 160 492 153 492;
#P fasten 20 1 9 0 397 344 160 344;
#P fasten 10 0 9 0 109 364 160 364;
#P fasten 20 1 30 0 397 344 160 344;
#P fasten 10 0 30 0 109 364 160 364;
#P fasten 20 1 31 0 397 344 160 344;
#P fasten 10 0 31 0 109 364 160 364;
#P fasten 20 1 32 0 397 344 160 344;
#P fasten 10 0 32 0 109 364 160 364;
#P connect 1 4 6 4;
#P connect 27 0 26 4;
#P connect 26 1 4 0;
#P connect 1 5 6 5;
#P connect 1 6 6 6;
#P connect 14 0 15 0;
#P connect 15 0 16 0;
#P connect 16 0 21 0;
#P connect 21 0 20 0;
#P pop;
Cheers

#104993
May 26, 2007 at 7:37am

Quote: hans.mittendorf@free.fr wrote on Sat, 26 May 2007 09:24
—————————————————-
> look at this patch. I was made by Gregory Taylor and is for vst,
> but that’s the way to do it, I believe.
—————————————————-

Yes, for the vst object. [au~] only prints out the info in the Max window :-(

Philippe

#104994
May 26, 2007 at 8:04am

Hi,

I just received a new version of the au object from Micheal. He has added a fourth output. Maybe he has it on his website already.

http://www.michaelnorris.info/software.html

#104995
May 26, 2007 at 8:24am

Quote: hans.mittendorf@free.fr wrote on Sat, 26 May 2007 10:04
—————————————————-
> I just received a new version of the au object from Micheal.
> He has added a fourth output. Maybe he has it on his website
> already.
> http://www.michaelnorris.info/software.html
—————————————————-

Yes, thanks!

< http://www.michaelnorris.info/soundmagicspectral/au.html>

#104996
May 26, 2007 at 12:48pm

Great, the new ‘plug ‘ message makes the whole scripting thing redundant
- unfortunately, creating an instance of the newest version (b.03) crashes
Max instantly :-(
Anyone else finding this ? Did the b.02 version accept the ‘plug’ message,
and if so, could someone send me a copy ?
Crashlog snippet below,
Cheers
Roger

Exception: EXC_BAD_ACCESS (0×0001)
Codes: KERN_PROTECTION_FAILURE (0×0002) at 0×00000007

Thread 0 Crashed:
0 com.cycling74.MaxMSP46 0x000680f9 freeobject + 23
(utilities.c:408)
1 com.cycling74.MaxAPI 0x0180991d freeobject + 30
2 info.michaelnorris.au~ 0x0e07e6b4 au_closewindow + 75
3 info.michaelnorris.au~ 0x0e07e79e open_au + 97
4 info.michaelnorris.au~ 0x0e07ecd2 au_new + 121
5 com.cycling74.MaxMSP46 0x0003091d typedmess_fun + 1943
(message.c:678)
6 com.cycling74.MaxMSP46 0x0011d7e0 object_new_typed + 166
(obex.c:664)
7 com.cycling74.MaxMSP46 0x00023d32 auxtable_search + 154
(install.c:367)
8 com.cycling74.MaxMSP46 0x000263c4 extload + 374
(loader.c:542)
9 com.cycling74.MaxMSP46 0×00026703 newload_internal + 665
(loader.c:622)
10 com.cycling74.MaxMSP46 0×00026807 newload + 47
(loader.c:564)
11 com.cycling74.MaxMSP46 0x0003023f typedmess_fun + 185
(message.c:488)
12 com.cycling74.MaxMSP46 0x00030c96 typedmess + 80
(message.c:399)
13 com.cycling74.MaxMSP46 0x000316f4 aeval + 1242
(message.c:1061)
14 com.cycling74.MaxMSP46 0×00009750 atombuf_eval + 204
(atombuf.c:234)
15 com.cycling74.MaxMSP46 0x000b96d5 patcher_vnewex + 165
(vnewobj.c:486)
16 com.cycling74.MaxMSP46 0×00030286 typedmess_fun + 256
(message.c:492)
17 com.cycling74.MaxMSP46 0x00030c96 typedmess + 80
(message.c:399)
18 com.cycling74.MaxMSP46 0x00031d25 eval + 1331
(message.c:1316)
19 com.cycling74.MaxMSP46 0x0000adb7 binbuf_loadeval + 133
(binbuf.c:350)
20 com.cycling74.MaxMSP46 0x0013f6f1 clipboard_newfrom + 105
(clipboard.c:19)

On 26/5/07 09:24, “Philippe Gruchet”

wrote:

>
> Quote: hans.mittendorf@free.fr wrote on Sat, 26 May 2007 10:04
> —————————————————-
>> I just received a new version of the au object from Micheal.
>> He has added a fourth output. Maybe he has it on his website
>> already.
>> http://www.michaelnorris.info/software.html
> —————————————————-
>
> Yes, thanks!
>
> < http://www.michaelnorris.info/soundmagicspectral/au.html>

#104997
May 26, 2007 at 10:02pm

Quote: roger.carruthers wrote on Sat, 26 May 2007 14:48
—————————————————-
> Great, the new ‘plug ‘ message makes the whole scripting
> thing redundant
> – unfortunately, creating an instance of the newest version
> (b.03) crashes Max instantly :-( Anyone else finding this ?

No crash here. Does it crash with this patch?:

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P message 30 166 52 196617 pgmnames;
#B color 5;
#P newex 16 109 138 196617 t open paramdump s set 0;
#P number 246 250 30 9 0 0 36 3 0 0 0 255 227 23 222 222 222 0 0 0;
#P newex 246 225 30 196617 zl len;
#P message 77 249 20 196617 set;
#B color 15;
#P window linecount 0;
#P message 16 275 142 196617;
#P window linecount 1;
#P newex 16 248 59 196617 prepend set;
#P message 24 146 39 196617 params;
#B color 5;
#P window setfont “Sans Serif” 10.;
#P user umenu 16 60 156 196651 1 64 77 1;
#X add AUBandpass;
#X add AUDynamicsProcessor;
#X add AUDelay;
#X add AUFilter;
#X add AUGraphicEQ;
#X add AUHipass;
#X add AUHighShelfFilter;
#X add AULowpass;
#X add AULowShelfFilter;
#X add AUMatrixReverb;
#X add AUMultibandCompressor;
#X add AUParametricEQ;
#X add AUPeakLimiter;
#X add AUSampleDelay;
#X add AUPitch;
#X add “Tremolo Unit”;
#X add AUNetSend;
#P window setfont “Sans Serif” 9.;
#P newex 80 143 61 196617 prepend plug;
#P newex 16 195 65 196617 au~;
#B color 5;
#P comment 136 252 112 196617 Number of parameters:;
#P fasten 10 4 9 0 149 246 251 246;
#P connect 8 0 9 0;
#P fasten 1 2 5 0 75 220 21 220;
#P fasten 1 2 8 0 75 220 251 220;
#P connect 10 2 2 0;
#P fasten 10 3 6 0 117 270 21 270;
#P connect 5 0 6 0;
#P fasten 7 0 6 0 82 270 21 270;
#P connect 11 0 1 0;
#P fasten 10 1 1 0 53 139 21 139;
#P connect 10 0 1 0;
#P fasten 2 0 1 0 85 190 21 190;
#P connect 4 0 1 0;
#P fasten 3 1 10 0 167 104 21 104;
#P window clipboard copycount 12;

> Did the b.02 version accept the ‘plug’ message

No.

> and if so, could someone send me a copy ?

Here it is.
Philippe

#104998
May 27, 2007 at 12:10am

Philippe:

I can confirm the crash Roger mentions under MAX.msp 4.6.2, with the
au~ beta .3. MB Pro Intel Core Duo, 2.16 GHz.

This patch crashed 3 times in succession. To be specific, attempting
to open it via ‘New from Clip Board’ crashed 3 times in a row.
Further, any attempt to substantiate the au~ (beta .3) object in a
clean patcher crashes the program. When I say crash, I mean it
immediately closes the program, no hanging, etc.

Best,

jason

On May 26, 2007, at 5:02 PM, Philippe Gruchet wrote:

> Quote: roger.carruthers wrote on Sat, 26 May 2007 14:48
> —————————————————-
>> Great, the new ‘plug ‘ message makes the whole scripting
>> thing redundant
>> – unfortunately, creating an instance of the newest version
>> (b.03) crashes Max instantly :-( Anyone else finding this ?
>
> No crash here. Does it crash with this patch?:
>
> #P window setfont “Sans Serif” 9.;
> #P window linecount 1;
> #P message 30 166 52 196617 pgmnames;
> #B color 5;
> #P newex 16 109 138 196617 t open paramdump s set 0;
> #P number 246 250 30 9 0 0 36 3 0 0 0 255 227 23 222 222 222 0 0 0;
> #P newex 246 225 30 196617 zl len;
> #P message 77 249 20 196617 set;
> #B color 15;
> #P window linecount 0;
> #P message 16 275 142 196617;
> #P window linecount 1;
> #P newex 16 248 59 196617 prepend set;
> #P message 24 146 39 196617 params;
> #B color 5;
> #P window setfont “Sans Serif” 10.;
> #P user umenu 16 60 156 196651 1 64 77 1;
> #X add AUBandpass;
> #X add AUDynamicsProcessor;
> #X add AUDelay;
> #X add AUFilter;
> #X add AUGraphicEQ;
> #X add AUHipass;
> #X add AUHighShelfFilter;
> #X add AULowpass;
> #X add AULowShelfFilter;
> #X add AUMatrixReverb;
> #X add AUMultibandCompressor;
> #X add AUParametricEQ;
> #X add AUPeakLimiter;
> #X add AUSampleDelay;
> #X add AUPitch;
> #X add “Tremolo Unit”;
> #X add AUNetSend;
> #P window setfont “Sans Serif” 9.;
> #P newex 80 143 61 196617 prepend plug;
> #P newex 16 195 65 196617 au~;
> #B color 5;
> #P comment 136 252 112 196617 Number of parameters:;
> #P fasten 10 4 9 0 149 246 251 246;
> #P connect 8 0 9 0;
> #P fasten 1 2 5 0 75 220 21 220;
> #P fasten 1 2 8 0 75 220 251 220;
> #P connect 10 2 2 0;
> #P fasten 10 3 6 0 117 270 21 270;
> #P connect 5 0 6 0;
> #P fasten 7 0 6 0 82 270 21 270;
> #P connect 11 0 1 0;
> #P fasten 10 1 1 0 53 139 21 139;
> #P connect 10 0 1 0;
> #P fasten 2 0 1 0 85 190 21 190;
> #P connect 4 0 1 0;
> #P fasten 3 1 10 0 167 104 21 104;
> #P window clipboard copycount 12;

Jason Geistweidt, Phd, MA, BMus

“Sound still remains to be deciphered, hence the idea of an
introduction to the sound object to train the ear to listen in a new
way: this requires that the conventional listening habits imparted by
education first be unlearned.”

::Pierre Schaeffer, Solfege de l’objet Sonore (1966)

#104999
May 28, 2007 at 8:04am

Philippe Gruchet schrieb:
> Do you know how to extract any info displayed in the Max window from
> the Max window?

Please bang cycling for this feature request, I made several proposals
already over the years…
I think it would be so useful that its essential (lets see what Max 5
will give us…)

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#105000
May 28, 2007 at 9:56am

yeah, I second it!!
It is annoying not to be able to copy it;

#105001
May 28, 2007 at 10:00am

Oh, one way to do it is:

you click on the Max window
you chose save as from the menue
you save it to the desktop
then you chose
open as text file from the menue
when the window opens you will have your text and you can copy with the copy function from the menu
have fun

#105002
May 28, 2007 at 10:11am

On 28 mai 07, at 12:00, Hans Mittendorf wrote:

> Oh, one way to do it is:
>
> you click on the Max window
> you chose save as from the menue
> you save it to the desktop
> then you chose
> open as text file from the menue
> when the window opens you will have your text and you can copy with
> the copy function from the menu
> have fun

? Is that so complicated?

For me:
- activate the Max window (make sure it’s the frontmost window)
- copy from edit menu

ej

#105003
May 28, 2007 at 10:20am

o.k. that’s better, but you can’t extract before you paste….

#105004
May 28, 2007 at 10:39am

On 28 mai 07, at 12:20, Hans Mittendorf wrote:

> o.k. that’s better, but you can’t extract before you paste….

You can if it’s an error message (with the error object). For au~
object, it would make sense that the Audio Unit list comes out one
au~’s outlet.

ej

#105005
May 28, 2007 at 11:35am

I recommend to go to Micheal’s website and download the latest au~object.
Things have changed a lot.

#105006
May 28, 2007 at 12:25pm

Do you know if the crash issue reported by Roger and Jason solved? Sorry
for being lazy… ;-)

Trond

Hans Mittendorf wrote:
> I recommend to go to Micheal’s website and download the latest au~object.
> Things have changed a lot.

#105007
May 28, 2007 at 12:33pm

So far, to the best of my knowledge the au object is limited for the moment to the plug ins Micheal has provided. I will mention this problem.
What has been done is parameter control. That’s really nice!!!

#105008
May 28, 2007 at 6:32pm

Quote: hans.mittendorf@free.fr wrote on Mon, 28 May 2007 13:35
—————————————————-
> I recommend to go to Micheal’s website and download the latest
> au~object. Things have changed a lot.
—————————————————-

That’s always the b3 version. Works fine on G5 machines!

#105009
May 28, 2007 at 7:56pm

Quote: hans.mittendorf@free.fr wrote on Mon, 28 May 2007 12:00
—————————————————-
> you click on the Max window
> you chose save as from the menu
> you save it to the desktop
> then you chose
> open as text file from the menue
> when the window opens you will have your text and you can copy
> with the copy function from the menu
—————————————————-

With osascript message(s) to [shell]:

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 109 67 45 196617 del 1000;
#P button 109 32 25 9;
#P window linecount 3;
#P message 183 141 188 196617 osascript -e ‘tell application |System Events| to tell process |MaxMSP| to click menu item 2 of menu 3 of menu bar 1′;
#P window linecount 4;
#P message 161 66 271 196617 osascript -e ‘tell application |System Events| to tell process |MaxMSP| to click menu item 4 of menu 11 of menu bar 1′ -e ‘tell application |System Events| to tell process |MaxMSP| to click menu item 5 of menu 4 of menu bar 1′;
#P window linecount 1;
#P newex 161 230 19 196617 34;
#P newex 161 211 45 196617 sel 124;
#P newex 161 280 44 196617 itoa;
#P newex 161 261 45 196617 thresh;
#P newex 161 192 45 196617 spell;
#P newex 161 299 45 196617 shell;
#P message 18 32 61 196617 blah blah bla;
#B color 9;
#P newex 18 67 31 196617 print;
#P comment 225 50 132 196617 copy Max window’s content;
#P comment 223 128 107 196617 “New from Clipboard”;
#P connect 13 0 11 0;
#P connect 7 0 4 0;
#P connect 6 0 7 0;
#P connect 8 1 6 0;
#P connect 9 0 6 0;
#P connect 8 0 9 0;
#P connect 5 0 8 0;
#P connect 10 0 5 0;
#P connect 11 0 5 0;
#P fasten 12 0 10 0 114 62 166 62;
#P connect 12 0 13 0;
#P connect 3 0 2 0;
#P window clipboard copycount 14;

#105010
May 29, 2007 at 7:37am

I get an eerror message
error shell no such object

Nothing happens…

#105011
May 29, 2007 at 8:46am

#105012
May 29, 2007 at 12:23pm

I put the shell objects into place but running the script does nothing.
What was to expect from the patch?

#105013
May 29, 2007 at 12:33pm

What version of Max are you using? Version 4.6.3 fixes a problem (on
Intel macs) which affected the shell object.

jb

Am 29.05.2007 um 14:23 schrieb Hans Mittendorf:

>
> I put the shell objects into place but running the script does
> nothing.
> What was to expect from the patch?

#105014
May 29, 2007 at 12:41pm

I have version 4.6.3

#105015
May 29, 2007 at 12:59pm

There goes that theory, then. ;)

jb

Am 29.05.2007 um 14:41 schrieb Hans Mittendorf:

>
> I have version 4.6.3

#105016
May 29, 2007 at 4:40pm

#105017
May 29, 2007 at 4:48pm

Quote: Emmanuel Jourdan wrote on Tue, 29 May 2007 10:46
—————————————————-
> Philippe’s patch use the shell object to run some apple script
> commands? that’s always a lot of fun:)
—————————————————-

Without any external Applescript is the funny challenge ;-)

But: could it be done with a javascript?
If yes, the Max window’s content could be then parsed from within MaxMSP, right?

Philippe

#105018
May 29, 2007 at 5:16pm

On 29 mai 07, at 18:48, Philippe Gruchet wrote:

> Without any external Applescript is the funny challenge ;-)

It’s the escaping characters challenge:)

> But: could it be done with a javascript?

AFAIK this is not possible.

ej

#105019
May 29, 2007 at 5:31pm

Quote: Emmanuel Jourdan wrote on Tue, 29 May 2007 19:16
—————————————————-
> It’s the escaping characters challenge:)

Nice trick, isn’t it? :-)
(I don’t remember who did it first)

> > But: could it be done with a javascript?
>
> AFAIK this is not possible.

Or a combination of both:
- copy to clipboard with osascript,
- parse with javascript.

Doable?

#105020
May 29, 2007 at 6:31pm

On 29 mai 07, at 19:31, Philippe Gruchet wrote:

> Or a combination of both:
> – copy to clipboard with osascript,
> – parse with javascript.
>
> Doable?

It’s certainly possible in Java. But in javascript AFAIK there’s no
way to get the content of the clipboard, nor execute shell command.

ej

#105021
May 31, 2007 at 8:04am

Quote: Emmanuel Jourdan wrote on Tue, 29 May 2007 20:31
—————————————————-
> > Or a combination of both:
> > – copy to clipboard with osascript,
> > – parse with javascript.
> >
> > Doable?
>
> It’s certainly possible in Java. But in javascript AFAIK
> there’s no way to get the content of the clipboard, nor execute
> shell command.
—————————————————-

And if I paste the Max window’s content into a [textedit], is it possible to send out the textedit content to a javascript, to be parsed by this javascript?

Philippe

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P message 346 107 28 196617 clear;
#P newex 7 84 73 196617 t b select front;
#N thispatcher;
#Q end;
#P newobj 69 105 56 196617 thispatcher;
#P button 7 21 26 9;
#P newex 7 60 45 196617 del 1000;
#P window linecount 6;
#P message 7 149 106 196617 osascript -e ‘tell application |System Events| to tell process |MaxMSP| to click menu item 6 of menu 4 of menu bar 1′;
#P window linecount 5;
#P message 129 60 211 196617 osascript -e ‘tell application |System Events| to tell process |MaxMSP| to click menu item 4 of menu 11 of menu bar 1′ -e ‘tell application |System Events| to tell process |MaxMSP| to click menu item 5 of menu 4 of menu bar 1′;
#P window linecount 1;
#P comment 171 47 132 196617 copy Max window’s content;
#P newex 7 273 19 196617 34;
#P newex 7 254 45 196617 sel 124;
#P newex 7 323 44 196617 itoa;
#P newex 7 304 45 196617 thresh;
#P newex 7 235 45 196617 spell;
#P newex 7 342 45 196617 shell;
#P user textedit 138 134 623 538 32896 3 9;
#P comment 13 136 88 196617 paste into textedit;
#P fasten 14 1 1 0 43 128 143 128;
#P fasten 15 0 1 0 351 128 143 128;
#P connect 12 0 11 0;
#P fasten 12 0 9 0 12 54 134 54;
#P connect 14 2 13 0;
#P connect 5 0 2 0;
#P connect 4 0 5 0;
#P connect 7 0 4 0;
#P connect 6 1 4 0;
#P connect 6 0 7 0;
#P connect 3 0 6 0;
#P connect 10 0 3 0;
#P fasten 9 0 3 0 134 229 12 229;
#P connect 14 0 10 0;
#P connect 11 0 14 0;
#P window clipboard copycount 16;

#105022
May 31, 2007 at 5:07pm

On 31 mai 07, at 10:04, Philippe Gruchet wrote:

> And if I paste the Max window’s content into a [textedit], is it
> possible to send out the textedit content to a javascript, to be
> parsed by this javascript?

Sure if you send a bang to textedit, it sends the text contents, so
you can parse with js or simple regexp.

ej

#105023
Jun 1, 2007 at 2:47am

Quote: Emmanuel Jourdan wrote on Thu, 31 May 2007 19:07
—————————————————-
> > And if I paste the Max window’s content into a [textedit], is
> > it possible to send out the textedit content to a javascript,
> > to be parsed by this javascript?
>
> Sure if you send a bang to textedit, it sends the text contents,
> so you can parse with js or simple regexp.
—————————————————-

Great!
regexp sounds a good approach to me.
Thanks Emmanuel for your help and support!

Cheerio ;-)
Philippe

#105024

You must be logged in to reply to this topic.