Forums > MaxMSP

plugmultiparam bugreport, 4th outlet of vst~ blues

December 11, 2006 | 4:25 pm

I think this is a bug in plugmultiparam. In a pluggo with a multislider
connected to plugmultiparam, loaded in Max with vst~, no parameter index
and value are output from the 4th outlet of vst~, when multislider is
changed with the mouse inside the plug, or when programs are changed.
Only when option click -> Undo Last Change, Randomize All, Evolve All
and Copy All From Program is used inside the plug output is OK.

I have been testing this issue on MaxMSP 4.5.7/Pluggo 3.5.4, PPC G4 and
MaxMSP 4.6.2/Pluggo 3.6.1, PPC G3, both running Mac OS 10.4.8

I’m transmitting the data from the vst~ outlet to other machines using
udpsend/udpreceive, and it would be really usefull to have
plugmultiparam working for this purpose.

The following patches should show the bevaviuor.

build a pluggo from this:

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P hidden message 139 178 104 196617 capture 2 "preset 2";
#P hidden message 27 178 104 196617 capture 1 "preset 1";
#P hidden newex 30 249 48 196617 plugout~;
#P hidden newex 31 225 42 196617 plugin~;
#N plugconfig;
#C useviews 1 1 1 1;
#C numprograms 64;
#C preempt 1;
#C sigvschange 1;
#C sigvsdefault 32;
#C windowsize;
#C defaultview Interface 1 1 1;
#C dragscroll 1;
#C noinfo;
#C setprogram 1 "preset 1" 0 0.870968 0.814516 0.758065 0.741935
0.709677 0.629032 0.548387 0.419355 0.370968 0.322581 0.290323 0.266129
0.25 0.217742 0.185484 0.16129 0.16129 0.169355 0.169355 0.153226
0.145161 0.137097 0.104839 0.072581 0.;
#C setprogram 2 "preset 2" 0 0.266129 0.362903 0.443548 0.524194
0.568548 0.612903 0.709677 0.754032 0.798387 0.887097 0.959677 0.935484
0.870968 0.798387 0.725806 0.685484 0.645161 0.564516 0.5 0.443548
0.403226 0.33871 0.266129 0.217742 0.177419;
#C uniqueid 128 162 70;
#C initialpgm 1;
#P newobj 27 203 55 196617 plugconfig;
#P user multiSlider 1 26 312 126 0. 1. 25 2681 15 0 0 5 5 45 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 newex 339 78 103 196617 plugmultiparam 1 25;
#P hidden connect 1 0 0 0;
#P hidden connect 3 1 4 1;
#P hidden connect 3 0 4 0;
#P hidden connect 6 0 2 0;
#P hidden connect 5 0 2 0;
#P hidden connect 0 0 1 0;
#P window clipboard copycount 7;

load the plug with this

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P comment 95 225 265 196617 Audio onoff , Overdrive onoff doesn’t make
any difference;
#P window linecount 3;
#P comment 207 150 265 196617 when option click -> Undo Last Change ,
Randomize All , Evolve All and Copy All From Program is used inside the
plug output is OK;
#P user ezdac~ 31 216 75 249 0;
#P number 110 33 35 9 0 2 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P message 59 34 30 196617 open;
#P message 29 34 26 196617 plug;
#P newex 68 99 132 196617 print "4th outlet from vst";
#N vst~ loaduniqueid 1028039296;
#P newobj 29 63 79 196617 vst~;
#P comment 150 34 100 196617 change program;
#P window linecount 4;
#P comment 207 88 265 196617 no parameter index and value output from
multislider connected to plugmultiparam , when changed with mouse
inside the plug , or when programs are changed via number into the
first vst~ inlet!;
#P connect 6 0 2 0;
#P connect 5 0 2 0;
#P connect 4 0 2 0;
#P connect 2 3 3 0;
#P window clipboard copycount 10;

Cheers,
Jakob


December 11, 2006 | 6:35 pm

Hi,

Yep – this is a known restriction – it has been round for ages.

Unfortunately – there’s almost nothing which can be done to workaround it.

-A


December 11, 2006 | 11:58 pm

>
>Yep – this is a known restriction – it has been round for ages.
OK, wasn’t aware of that. Why this restriction?

>
>Unfortunately – there’s almost nothing which can be done to workaround it.
I made sort of a workaround, an abstraction using a bunch of pp objects
instead. Works as plugmultiparam – same arguments. Requires Lobjects.
Save as abstraction, I call it pmp…

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 1 44 45 196617 Lchange;
#P newex 464 563 27 196617 – 1;
#P newex 434 539 40 196617 uzi;
#P message 434 514 21 196617 $2;
#P newex 434 488 48 196617 loadbang;
#N vpatcher 4 44 1018 765;
#P origin 41 0;
#P inlet 13 96 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 0;
#P newex 672 442 27 196617 t i i;
#P newex 672 514 180 196617 sprintf script connect pp%ld 0 f%ld 0;
#P newex 454 444 27 196617 t i i;
#P newex 454 514 180 196617 sprintf script connect f%ld 0 pp%ld 0;
#P window linecount 1;
#P newex 337 253 32 196617 + $1;
#P newex 65 228 40 196617 t i i i;
#P newex 80 253 32 196617 * 75;
#P newex 80 275 31 196617 + 30;
#P newex 65 315 282 196617 sprintf script new pp%ld newex %ld 230 38
196617 pp %ld;
#P newex 615 271 32 196617 * 75;
#P newex 615 293 27 196617 + 2;
#P newex 375 228 27 196617 t i i;
#P newex 375 315 250 196617 sprintf script new f%ld newex %ld 230 25 196617 f;
#P newex 13 448 27 196617 t i i;
#P newex 231 448 27 196617 t i i;
#P newex 13 515 201 196617 sprintf script connect f%ld 0 funneler %ld;
#P newex 231 515 200 196617 sprintf script connect sprayer %ld f%ld 0;
#P newex 13 186 79 196617 t i i i i i i;
#P outlet 13 630 15 0;
#P connect 19 0 1 0;
#P connect 1 0 5 0;
#P connect 5 0 3 0;
#P fasten 10 0 0 0 70 378 859 378 859 596 18 596;
#P fasten 6 0 0 0 380 374 866 374 866 602 18 602;
#P fasten 17 0 0 0 677 584 18 584;
#P fasten 15 0 0 0 459 578 18 578;
#P fasten 2 0 0 0 236 564 18 564;
#P connect 3 0 0 0;
#P fasten 1 4 13 0 70 220 70 220;
#P connect 13 0 10 0;
#P connect 13 1 12 0;
#P connect 12 0 11 0;
#P connect 11 0 10 1;
#P connect 5 1 3 1;
#P fasten 1 1 4 0 31 419 236 419;
#P connect 4 0 2 0;
#P fasten 13 2 14 0 100 249 342 249;
#P connect 14 0 10 2;
#P fasten 1 5 7 0 83 215 380 215;
#P connect 7 0 6 0;
#P connect 4 1 2 1;
#P fasten 1 2 16 0 44 415 459 415;
#P connect 16 0 15 0;
#P fasten 7 1 9 0 397 269 620 269;
#P connect 9 0 8 0;
#P connect 8 0 6 1;
#P connect 16 1 15 1;
#P fasten 1 3 18 0 57 411 677 411;
#P connect 18 0 17 0;
#P connect 18 1 17 1;
#P pop;
#P newobj 432 585 45 196617 p script;
#P newex 1 70 52 196617 listfunnel;
#P outlet 1 534 15 0;
#N thispatcher;
#Q end;
#P newobj 432 623 61 196617 thispatcher;
#P inlet 1 22 15 0;
#P newex 1 390 959 196617 Lbondo $2 5;
#P objectname funneler;
#P newex 1 99 953 196617 spray $2;
#P objectname sprayer;
#P connect 9 2 10 0;
#P connect 8 0 9 0;
#P connect 7 0 8 0;
#P connect 6 0 3 0;
#P fasten 10 0 6 0 469 582 437 582;
#P connect 1 0 4 0;
#P connect 5 0 0 0;
#P connect 11 0 5 0;
#P connect 2 0 11 0;
#P window clipboard copycount 12;

Cheers,
J


December 12, 2006 | 12:25 am

12/12/06, kl. 0:58 +0100 , skrev Jakob Riis:

>>
>>Unfortunately – there’s almost nothing which can be done to workaround it.
>I made sort of a workaround, an abstraction using a bunch of pp objects
>instead. Works as plugmultiparam – same arguments. Requires Lobjects.
>Save as abstraction, I call it pmp…
sorry, I posted a wrong version before, here is the right one:

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 2 46 45 196617 Lchange;
#P newex 465 563 27 196617 – 1;
#P newex 435 539 40 196617 uzi;
#P message 435 514 21 196617 $2;
#P newex 435 488 48 196617 loadbang;
#N vpatcher -16 44 998 765;
#P origin 131 0;
#P inlet -77 96 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 0;
#P newex 804 443 27 196617 t i i;
#P newex 804 515 180 196617 sprintf script connect pp%ld 0 f%ld 0;
#P newex 586 445 27 196617 t i i;
#P newex 586 515 180 196617 sprintf script connect f%ld 0 pp%ld 0;
#P newex 372 446 27 196617 t i i;
#P newex 372 515 180 196617 sprintf script connect ch%ld 0 f%ld 0;
#P window linecount 1;
#P newex 695 267 32 196617 + $1;
#P newex 423 242 40 196617 t i i i;
#P newex 438 267 32 196617 * 75;
#P newex 438 289 31 196617 + 30;
#P newex 423 329 282 196617 sprintf script new pp%ld newex %ld 260 38
196617 pp %ld;
#P newex 967 285 32 196617 * 75;
#P newex 967 307 27 196617 + 2;
#P newex 727 242 27 196617 t i i;
#P newex 727 329 250 196617 sprintf script new f%ld newex %ld 260 25 196617 f;
#P newex -77 448 27 196617 t i i;
#P newex 141 448 27 196617 t i i;
#P newex -77 515 201 196617 sprintf script connect f%ld 0 funneler %ld;
#P newex 141 515 206 196617 sprintf script connect sprayer %ld ch%ld 0;
#P newex 306 285 32 196617 * 75;
#P newex 306 307 27 196617 + 2;
#P newex 22 242 27 196617 t i i;
#P newex -77 186 105 196617 t i i i i i i i i;
#P newex 22 329 294 196617 sprintf script new ch%ld newex %ld 230 52
196617 change 0.;
#P outlet -77 630 15 0;
#P connect 25 0 2 0;
#P connect 2 0 9 0;
#P connect 9 0 7 0;
#P fasten 23 0 0 0 809 584 -72 584;
#P fasten 21 0 0 0 591 578 -72 578;
#P fasten 10 0 0 0 732 374 1045 374 1045 602 -72 602;
#P fasten 14 0 0 0 428 378 1023 378 1023 596 -72 596;
#P fasten 1 0 0 0 27 382 999 382 999 590 -72 590;
#P fasten 19 0 0 0 377 571 -72 571;
#P fasten 6 0 0 0 146 564 -72 564;
#P connect 7 0 0 0;
#P fasten 2 5 3 0 -7 222 27 222;
#P connect 3 0 1 0;
#P connect 9 1 7 1;
#P fasten 2 1 8 0 -59 419 146 419;
#P connect 8 0 6 0;
#P fasten 3 1 5 0 44 282 311 282;
#P connect 5 0 4 0;
#P connect 4 0 1 1;
#P connect 8 1 6 1;
#P fasten 2 2 20 0 -46 413 377 413;
#P connect 20 0 19 0;
#P fasten 2 6 17 0 6 218 428 218;
#P connect 17 0 14 0;
#P connect 17 1 16 0;
#P connect 16 0 15 0;
#P connect 20 1 19 1;
#P connect 15 0 14 1;
#P fasten 2 3 22 0 -33 407 591 407;
#P connect 22 0 21 0;
#P fasten 17 2 18 0 458 263 700 263;
#P connect 18 0 14 2;
#P fasten 2 7 11 0 19 214 732 214;
#P connect 11 0 10 0;
#P connect 22 1 21 1;
#P fasten 2 4 24 0 -20 401 809 401;
#P connect 24 0 23 0;
#P fasten 11 1 13 0 749 283 972 283;
#P connect 13 0 12 0;
#P connect 12 0 10 1;
#P connect 24 1 23 1;
#P pop;
#P newobj 433 585 45 196617 p script;
#P newex 2 72 52 196617 listfunnel;
#P outlet 2 534 15 0;
#N thispatcher;
#Q end;
#P newobj 433 623 61 196617 thispatcher;
#P inlet 2 22 15 0;
#P newex 2 390 959 196617 Lbondo $2 5;
#P objectname funneler;
#P newex 2 99 953 196617 spray $2;
#P objectname sprayer;
#P connect 9 2 10 0;
#P connect 8 0 9 0;
#P connect 7 0 8 0;
#P connect 6 0 3 0;
#P fasten 10 0 6 0 470 582 438 582;
#P connect 1 0 4 0;
#P connect 5 0 0 0;
#P connect 11 0 5 0;
#P connect 2 0 11 0;
#P window clipboard copycount 12;


Viewing 4 posts - 1 through 4 (of 4 total)