VSt and Pattr


    Aug 08 2008 | 4:50 pm
    Hi,i m curious about vst plug in and parameter.
    Is there any way to saving vst parameter in pattr?
    Thanks
    Regards
    Nicolas

    • Aug 08 2008 | 8:19 pm
      Unfortunately there is not. VST is pretty clumsy when it comes
      to trying to save any state information. Even the VST you loaded!
      One general strategy I would suggest would be to load a VST and dump all the VST parameters. You can then parse those parameters, send them to a textedit object which does support pattr.
    • Aug 09 2008 | 6:27 am
      Thanks,
      I've tryed to put dump message on vst objet but it don't work.
      Why in max msp example we don't have some good tutorial to manage vst parameter.
      ex Store parameter / automatic load vst plug with his parameter.???
      Any good patch to do it?
      Thanks
      Nicolas
    • Aug 10 2008 | 12:36 pm
      >Thanks,
      >I've tryed to put dump message on vst objet but it don't work.
      >Why in max msp example we don't have some good tutorial to manage
      >vst parameter.
      >ex Store parameter / automatic load vst plug with his parameter.???
      >Any good patch to do it?
      it's pretty simple actually
      when you have a set up (parameters) you like, sending a "write"
      message writes this preset in the location you want, "read" loads it
      I specify the path (the folder etc) with the read message (and the
      name of the preset) and load it automatically
      works even with plug-ins such as reaktor
      *******
      the dump message works as well, which lets you "morph" presets (a
      little bit like the morph line on GRM tools)
      best
      kasper
      --
      Kasper T. Toeplitz
      noise, composition, bass, computer
    • Aug 10 2008 | 1:39 pm
      here's it to manage vst parameters with pattrstorage.
      you can also use my pattrstrage management with it.
      cheers.
      f./
    • Aug 10 2008 | 1:42 pm
      forgot to put the code in.
      #P toggle 89 98 16 0;
      #P window setfont "Sans Serif" 9.;
      #P window linecount 1;
      #P newex 8 141 67 196617 pattrstorage;
      #B color 12;
      #X client_rect 14 59 1082 326;
      #X storage_rect 0 0 640 240;
      #P objectname u785000001;
      #P toggle 9 78 16 0;
      #P user ubumenu 25 98 58 196617 0 0 1 1;
      #X setrgb 31 31 31 255 255 255 125 125 110 4 4 4 141 141 141 112 112
      112;
      #X add load;
      #X add open;
      #X add read;
      #X add write;
      #X prefix_set 0 0 0;
      #X pattrmode 1;
      #N vpatcher 4 331 310 791;
      #P origin -337 -315;
      #P window setfont "Sans Serif" 9.;
      #P window linecount 1;
      #P newex 75 200 54 196617 pattr plug;
      #B color 12;
      #X prestore 1 0 "Feedback Network.vst";
      #P objectname plug;
      #P newex 75 139 82 196617 sel load;
      #P comment 127 185 65 196617 get filename;
      #P newex 75 181 51 196617 strippath;
      #P newex 75 221 65 196617 prepend plug;
      #P newex 75 162 55 196617 opendialog;
      #P window linecount 0;
      #P newex 173 86 47 196617 pcontrol;
      #N vpatcher 275 259 649 464;
      #N comlet to coll;
      #P outlet 134 90 15 0;
      #P window setfont "Sans Serif" 9.;
      #P message 134 71 33 196617 clear;
      #P message 50 71 41 196617 params;
      #P message 95 71 38 196617 get -4;
      #P message 169 71 33 196617 close;
      #P newex 50 45 249 196617 sel 1 0;
      #P inlet 50 27 15 0;
      #N comlet open;
      #P outlet 50 91 15 0;
      #N comlet close;
      #P outlet 169 91 15 0;
      #P connect 2 0 3 0;
      #P fasten 3 0 6 0 55 66 55 66;
      #P fasten 6 0 1 0 55 88 55 88;
      #P fasten 5 0 1 0 100 88 55 88;
      #P fasten 3 0 5 0 55 66 100 66;
      #P fasten 3 0 7 0 55 66 139 66;
      #P connect 7 0 8 0;
      #P fasten 3 1 4 0 174 66 174 66;
      #P connect 4 0 0 0;
      #P pop;
      #P newobj 61 65 123 196617 p p-o-c;
      #B color 5;
      #N vpatcher 215 40 667 240;
      #P origin -53 -67;
      #P window setfont "Sans Serif" 9.;
      #P window linecount 0;
      #P hidden newex 279 212 114 196617 pattr parameters multi;
      #B color 12;
      #X prestore 24 0 0.230159 0.246032 0.261905 0.277778 0.301587
      0.325397 0.349206 0.359788 0.37037 0.380952 0.404762 0.444444
      0.444444 0.456349 0.468254 0.484127 0.515873 0.555556 0. 0. 0. 0. 0.
      0.904762;
      #P objectname parameters;
      #P hidden message 380 447 120 196617 script size multi $1 128;
      #N comlet coll management;
      #P hidden inlet 202 445 15 0;
      #P hidden newex 9 493 48 196617 loadbang;
      #B color 4;
      #P hidden newex 5 191 67 196617 r $0-to-LCD;
      #B color 6;
      #P hidden newex 109 570 67 196617 s $0-to-LCD;
      #B color 6;
      #P hidden newex 109 509 51 196617 tosymbol;
      #P hidden message 109 547 144 196617 clear , moveto 3 13 , write $1;
      #P window linecount 3;
      #P hidden message 9 512 95 196617 brgb 255 255 255 , frgb 0 0 0 ,
      font arial 10;
      #P user lcd 5 175 472 15 1 0 0 0 0;
      #P window linecount 1;
      #P hidden newex 109 528 80 196617 prepend symbol;
      #P hidden newex 120 419 41 196617 t b f;
      #P hidden newex 120 439 61 196617 i;
      #N vpatcher 561 498 861 774;
      #P window setfont "Sans Serif" 9.;
      #P newex 37 166 44 196617 zl nth 1;
      #P newex 71 85 77 196617 vexpr $f1-$f2;
      #P newex 71 126 100 196617 if $f2 != 0. then $i1;
      #P newex 71 105 61 196617 listfunnel 1;
      #P newex 37 50 44 196617 t l l l;
      #P newex 71 146 27 196617 t i i;
      #N comlet from multislider (pvar);
      #P inlet 37 30 15 0;
      #N comlet index;
      #P outlet 88 187 15 0;
      #N comlet Value;
      #P outlet 37 187 15 0;
      #P connect 2 0 4 0;
      #P connect 4 0 8 0;
      #P connect 8 0 0 0;
      #P connect 4 2 7 0;
      #P connect 7 0 5 0;
      #P connect 5 0 6 0;
      #P connect 6 0 3 0;
      #P connect 3 0 8 1;
      #P connect 3 1 1 0;
      #P connect 4 1 7 1;
      #P pop;
      #P hidden newobj 120 398 61 196617 p ind_value;
      #B color 5;
      #P hidden newex 109 490 69 196617 pack s 0.;
      #N coll parameters 1;
      #P hidden newobj 109 467 90 196617 coll parameters 1;
      #B color 14;
      #P hidden newex 109 297 78 196617 pack 1 s;
      #P hidden newex 109 232 78 196617 t b s;
      #N comlet parameters name;
      #P hidden inlet 109 203 15 0;
      #P hidden newex 368 334 53 196617 route min;
      #P hidden newex 411 378 37 196617 + 225;
      #P hidden message 459 428 41 196617 wclose;
      #P button 32 18 13 0;
      #P window linecount 2;
      #P message 411 399 309 196617 window flags float , window flags
      nozoom , window flags nogrow , window size 215 40 $1 240 , front
      , savewindow 1 , window exec;
      #P hidden message 452 314 291 196617 window title , window flags
      zoom , window flags grow , window flags nofloat , window size 150
      50 930 750 , window exec;
      #P window linecount 1;
      #N thispatcher;
      #Q window flags nogrow close nozoom float;
      #Q window size 215 40 667 240;
      #Q window title;
      #Q window exec;
      #Q savewindow 1;
      #Q end;
      #P hidden newobj 452 489 60 196617 thispatcher;
      #B color 4;
      #P hidden newex 273 363 57 196617 pvar multi;
      #B color 6;
      #P hidden newex 273 277 58 196617 pvar NCtrl;
      #B color 6;
      #P hidden newex 368 315 51 196617 pvar Dim;
      #B color 6;
      #N vpatcher 630 372 1038 677;
      #P origin 74 0;
      #P window setfont "Sans Serif" 9.;
      #P newex 24 104 27 196617 i;
      #P message 24 125 41 196617 min $1;
      #P newex 24 84 99 196617 zmap 1 128 18 800;
      #P newex 39 63 133 196617 expr (log($f1+1)*150)-40;
      #P newex 9 44 40 196617 t i i i;
      #P message 9 164 43 196617 size $1;
      #N comlet Number of Control(s);
      #P inlet 9 26 15 0;
      #N comlet to multi;
      #P outlet 9 184 15 0;
      #N comlet to dimension;
      #P outlet 24 145 15 0;
      #P connect 2 0 4 0;
      #P connect 4 0 3 0;
      #P connect 3 0 1 0;
      #P connect 4 1 6 0;
      #P connect 6 0 8 0;
      #P connect 8 0 7 0;
      #P connect 7 0 0 0;
      #P connect 5 0 0 0;
      #P connect 4 2 5 0;
      #P pop;
      #P hidden newobj 273 296 105 196617 p size;
      #B color 5;
      #P number 5 160 27 9 159 800 8291 3 0 0 0 221 221 221 222 222 222 0 0 0;
      #P objectname Dim;
      #P number 5 17 27 9 1 128 8291 3 0 0 0 221 221 221 222 222 222 0 0 0;
      #P objectname NCtrl;
      #P hidden number 203 265 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0
      0 0;
      #P hidden newex 258 475 83 196617 pack 1 0.;
      #P hidden newex 258 427 83 196617 t b f;
      #P hidden message 286 405 14 196617 1;
      #P hidden button 286 387 15 0;
      #N counter;
      #X flags 0 0;
      #P hidden newobj 258 451 66 196617 counter;
      #P hidden newex 258 404 25 196617 iter;
      #P hidden newex 188 232 40 196617 t i i 1;
      #P hidden message 258 344 54 196617 set $1 $2;
      #P user multiSlider 5 32 442 128 0. 1. 24 2681 47 0 1 2 0 70 0;
      #M frgb 0 0 0;
      #M brgb 255 255 255;
      #M rgb2 127 127 127;
      #M rgb3 0 0 0;
      #M rgb4 37 52 91;
      #M rgb5 74 105 182;
      #M rgb6 112 158 18;
      #M rgb7 149 211 110;
      #M rgb8 187 9 201;
      #M rgb9 224 62 37;
      #M rgb10 7 114 128;
      #P objectname multi;
      #P hidden message 218 344 39 196617 get $1;
      #P hidden newex 188 323 40 196617 uzi;
      #P hidden newex 188 208 48 196617 route -4;
      #N comlet from 4th outlet;
      #P hidden inlet 188 191 15 0;
      #N comlet to vst~;
      #P hidden outlet 218 501 15 0;
      #N counter 0 1 1;
      #X flags 0 0;
      #P hidden newobj 109 274 71 196617 counter 0 1 1;
      #P comment 45 17 51 196617 -> unlock;
      #P hidden connect 44 0 39 0;
      #P hidden connect 45 0 40 0;
      #P hidden connect 30 0 31 0;
      #P hidden connect 31 0 1 0;
      #P hidden connect 1 0 32 0;
      #P hidden fasten 46 0 33 0 207 464 114 464;
      #P hidden connect 32 0 33 0;
      #P hidden connect 36 0 33 0;
      #P hidden connect 33 0 34 0;
      #P hidden connect 34 0 42 0;
      #P hidden connect 42 0 38 0;
      #P hidden connect 38 0 41 0;
      #P hidden fasten 40 0 43 0 14 567 114 567;
      #P hidden connect 41 0 43 0;
      #P hidden connect 22 0 35 0;
      #P hidden connect 35 0 37 0;
      #P hidden connect 37 0 36 0;
      #P hidden connect 9 2 1 2;
      #P hidden connect 37 1 34 1;
      #P hidden connect 9 0 1 4;
      #P hidden connect 35 1 36 1;
      #P hidden connect 31 1 32 1;
      #P hidden connect 3 0 4 0;
      #P hidden connect 4 0 9 0;
      #P hidden connect 9 0 5 0;
      #P hidden connect 9 1 16 0;
      #P hidden connect 5 2 6 0;
      #P hidden fasten 15 0 2 0 263 496 223 496;
      #P hidden connect 6 0 2 0;
      #P hidden fasten 4 1 8 0 231 231 263 231;
      #P hidden fasten 22 0 10 0 278 392 263 392;
      #P hidden connect 10 0 14 0;
      #P hidden connect 14 0 11 0;
      #P hidden connect 11 0 15 0;
      #P hidden connect 9 1 21 0;
      #P hidden connect 21 0 19 0;
      #P hidden connect 19 0 22 0;
      #P hidden fasten 8 0 22 0 263 361 278 361;
      #P hidden fasten 22 0 12 0 278 384 291 384;
      #P hidden connect 12 0 13 0;
      #P hidden connect 13 0 11 2;
      #P hidden connect 14 1 15 1;
      #P hidden connect 19 1 20 0;
      #P hidden connect 20 0 29 0;
      #P hidden fasten 29 1 47 0 416 375 385 375;
      #P hidden connect 29 1 28 0;
      #P hidden connect 28 0 25 0;
      #P hidden fasten 26 0 24 0 37 159 457 159;
      #P hidden connect 27 0 23 0;
      #P hidden connect 24 0 23 0;
      #P hidden connect 25 0 23 0;
      #P hidden connect 47 0 23 0;
      #P pop;
      #P newobj 180 338 38 196617 p para;
      #B color 5;
      #P objectname parameters;
      #N comlet VST bypass;
      #P inlet 93 246 15 0;
      #P message 93 263 54 196617 disable $1;
      #N comlet VST command;
      #P inlet 75 122 15 0;
      #N vst~ loaduniqueid 0 2 8;
      #P newobj 68 305 164 196617 vst~ 2 8;
      #N comlet Reverb parameters;
      #P inlet 61 44 15 0;
      #P connect 0 0 6 0;
      #P fasten 9 0 1 0 80 242 73 242;
      #P fasten 12 1 1 0 152 242 73 242;
      #P fasten 5 0 1 0 185 359 37 359 37 283 73 283;
      #P fasten 3 0 1 0 98 283 73 283;
      #P fasten 6 0 1 0 66 283 73 283;
      #P connect 2 0 12 0;
      #P connect 12 0 8 0;
      #P connect 8 0 10 0;
      #P connect 10 0 13 0;
      #P connect 13 0 9 0;
      #P connect 4 0 3 0;
      #P connect 6 2 7 0;
      #P connect 1 8 5 0;
      #P connect 1 9 5 1;
      #P fasten 6 1 5 2 122 109 213 109;
      #P fasten 7 0 5 2 178 289 213 289;
      #P pop;
      #P hidden newobj 9 121 90 196617 p vst-parameters;
      #B color 5;
      #P objectname vst-parameters;
      #P comment 105 100 39 196617 on/off;
      #P comment 28 80 101 196617 -> show parameters;
      #P hidden connect 4 0 2 0;
      #P hidden connect 3 1 2 1;
      #P hidden connect 6 0 2 2;
      #P window clipboard copycount 7;
      --
      elt@altern.org
      http://pan-etc.net
      --
    • Aug 11 2008 | 3:33 pm
      Hey!
      This is amazing... saves me all kinds of trouble, as I was just about to ask a similar question.
      Out of curiosity, is there an easy way to adapt this to contain information for up to 8 VST instruments at once, or am I better off duplicating this several times over?
      Cheers,
      Joel