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 http://www.sleazeArt.com
    • Aug 10 2008 | 1:39 pm
      here's it to manage vst parameters with pattrstorage.
      you can also use my pattrstrage management with it. http://www.pan-etc.net/res/dev/Preset.zip
      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