#N canvas 146 124 817 543 12;
#X obj 26 190 dac~;
#X obj 26 94 noise~;
#X obj 140 192 print A;
#X obj 230 433 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0
1;
#X msg 229 455 vis \$1;
#X obj 25 430 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0 1
;
#X msg 24 452 edit \$1;
#X msg 92 452 getedit;
#X msg 292 455 getvis;
#N canvas 367 122 558 434 info 0;
#X msg 94 130 getversion;
#X msg 94 75 getname;
#X msg 95 153 getvendor;
#X msg 94 188 getsynth;
#X msg 94 218 getins;
#X msg 155 220 getouts;
#X msg 95 104 getdll;
#X obj 26 260 s \$0-vst;
#X msg 100 293 print;
#X msg 101 340 echo \$1;
#X obj 100 323 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0
1;
#X msg 173 339 getecho;
#X text 250 321 old stuff;
#X text 171 190 is synth?;
#X text 179 153 get vendor string;
#X text 181 131 get version;
#X text 154 104 get shared lib name;
#X text 159 79 get internal (official) plug name;
#X text 219 221 number of plug inlets and outlets;
#X msg 93 41 getattributes;
#X text 213 38 get all attributes;
#X msg 268 189 geteditor;
#X text 348 189 has editor?;
#X msg 22 41 help;
#X connect 0 0 7 0;
#X connect 1 0 7 0;
#X connect 2 0 7 0;
#X connect 3 0 7 0;
#X connect 4 0 7 0;
#X connect 5 0 7 0;
#X connect 6 0 7 0;
#X connect 8 0 7 0;
#X connect 9 0 7 0;
#X connect 10 0 9 0;
#X connect 11 0 7 0;
#X connect 19 0 7 0;
#X connect 21 0 7 0;
#X connect 23 0 7 0;
#X restore 445 110 pd info;
#X obj 96 96 r \$0-vst;
#X obj 23 479 s \$0-vst;
#X obj 228 481 s \$0-vst;
#X text 50 429 display edit window;
#X text 253 431 make edit window (in)visible;
#X msg 105 295 getplug;
#X obj 26 323 s \$0-vst;
#X text 65 249 set/get plugin;
#X text 511 110 further information;
#X obj 23 15 cnv 15 750 58 empty empty vst~ 10 32 0 24 -260818 -1 0
;
#X text 137 173 attribute outlet;
#X text 103 137 inlets outlets [plugname];
#N canvas 367 122 513 321 win 0;
#X obj 11 287 s \$0-vst;
#X msg 28 84 getx;
#X text 135 77 get window coordinates;
#X msg 73 84 gety;
#X obj 25 26 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 10
-225271 -1 -1 0 256;
#X msg 26 44 x \$1;
#X obj 95 26 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 10
-225271 -1 -1 0 256;
#X msg 96 42 y \$1;
#X text 165 26 set window coordinates;
#X text 161 43 (position of the actual VST interface);
#X text 132 92 (position of the actual VST interface);
#X obj 67 130 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0 1
;
#X msg 66 149 caption \$1;
#X msg 161 149 getcaption;
#X text 69 173 set/get window caption and borders;
#X text 68 238 set/get window title;
#X msg 168 214 gettitle;
#X msg 65 214 title KARL;
#X connect 1 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 5 0;
#X connect 5 0 0 0;
#X connect 6 0 7 0;
#X connect 7 0 0 0;
#X connect 11 0 12 0;
#X connect 12 0 0 0;
#X connect 13 0 0 0;
#X connect 16 0 0 0;
#X connect 17 0 0 0;
#X restore 446 244 pd win;
#X text 512 244 manipulating the edit window;
#X msg 28 296 plug \$1;
#X obj 27 240 bng 25 250 50 0 empty empty empty 0 -6 0 8 -225271 -1
-1;
#X obj 27 271 openpanel;
#N canvas 461 281 498 343 midi 0;
#X obj 20 279 s \$0-vst;
#X msg 238 147 ctlchg 3 123;
#X text 116 28 note on;
#X text 287 29 note off;
#X text 348 146 control change;
#X text 312 233 pitch bend;
#X text 319 174 program change;
#X msg 237 175 progchg 2;
#X msg 197 30 noteoff 10;
#X text 315 282 after touch;
#X obj 238 213 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
10 -225271 -1 -1 0 256;
#X obj 238 264 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
10 -225271 -1 -1 0 256;
#X msg 237 233 pbend \$1;
#X msg 236 283 atouch \$1;
#X obj 35 71 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 10
-225271 -1 -1 0 256;
#X msg 20 29 note 10 100;
#X msg 36 94 note \$1 100;
#X msg 193 94 noteoff \$1;
#X obj 194 72 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
10 -225271 -1 -1 0 256;
#X connect 1 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 10 0 12 0;
#X connect 11 0 13 0;
#X connect 12 0 0 0;
#X connect 13 0 0 0;
#X connect 14 0 16 0;
#X connect 15 0 0 0;
#X connect 16 0 0 0;
#X connect 17 0 0 0;
#X connect 18 0 17 0;
#X restore 445 208 pd midi;
#X text 134 33 based on the work of Jarno Seppanen and Mark Williamson
;
#X text 133 14 VST plugins for PD \, (C)2003-04 Thomas Grill;
#X obj 26 140 vst~ 1 2 @pnames 100;
#X obj 666 433 loadbang;
#X msg 666 460 \; pd dsp 1;
#X obj 230 324 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0
1;
#X obj 228 373 s \$0-vst;
#X msg 229 346 bypass \$1;
#X msg 311 346 getbypass;
#X text 255 323 bypass plugin;
#X obj 231 240 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0
1;
#X obj 229 289 s \$0-vst;
#X text 256 239 mute output;
#X msg 230 262 mute \$1;
#X msg 312 262 getmute;
#N canvas 200 110 473 372 parameters 0;
#X obj 84 118 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -225271
-1 -1 0 1;
#X msg 81 135 param 2 \$1;
#X obj 40 324 s \$0-vst;
#X msg 44 36 getparams;
#X text 122 36 get number of parameters;
#X msg 183 136 getparam 2;
#X msg 84 192 param gain 0;
#X text 153 84 get parameter name;
#X text 97 267 get value in textual representation;
#X text 106 157 set/get parameter (0-based);
#X msg 84 245 getptext \$1;
#X obj 84 228 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
-1 -1 0 256;
#X obj 61 68 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
-1 -1 0 256;
#X msg 61 86 getpname \$1;
#X msg 189 245 getptext gain;
#X msg 191 192 getparam gain;
#X text 93 283 (may be ambigous!);
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 10 0 2 0;
#X connect 11 0 10 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 14 0 2 0;
#X connect 15 0 2 0;
#X restore 444 143 pd parameters;
#N canvas 0 0 458 308 programs 0;
#X obj 39 245 s \$0-vst;
#X msg 162 106 getprogram;
#X text 134 34 get number of programs;
#X msg 39 37 getprograms;
#X text 93 125 set/get program (0-based);
#X msg 39 62 getprogcats;
#X text 134 59 get number of program categories;
#X msg 59 106 program \$1;
#X obj 60 90 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
-1 -1 0 256;
#X obj 64 144 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
-1 -1 0 256;
#X msg 62 161 getprogname \$1;
#X text 182 158 get program name;
#X obj 63 195 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
-1 -1 0 256;
#X text 199 210 get program name;
#X msg 61 212 getprogname 2 \$1;
#X text 201 224 (with category);
#X text 198 172 (no category);
#X connect 1 0 0 0;
#X connect 3 0 0 0;
#X connect 5 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 10 0 0 0;
#X connect 12 0 14 0;
#X connect 14 0 0 0;
#X restore 445 175 pd programs;
#X text 561 144 VST parameters;
#X text 562 175 VST programs;
#X text 134 53 http://grrrr.org;
#X text 513 209 midi messages for VST synths;
#X text 448 314 Attention: this vst~ version will crash when a plugin
is unloaded with the editor window open!;
#X connect 1 0 30 0;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 5 0 6 0;
#X connect 6 0 11 0;
#X connect 7 0 11 0;
#X connect 8 0 12 0;
#X connect 10 0 30 0;
#X connect 15 0 16 0;
#X connect 24 0 16 0;
#X connect 25 0 26 0;
#X connect 26 0 24 0;
#X connect 30 0 0 0;
#X connect 30 1 0 1;
#X connect 30 2 2 0;
#X connect 31 0 32 0;
#X connect 33 0 35 0;
#X connect 35 0 34 0;
#X connect 36 0 34 0;
#X connect 38 0 41 0;
#X connect 41 0 39 0;
#X connect 42 0 39 0;