aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vst
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2004-08-24 02:44:38 +0000
committerThomas Grill <xovo@users.sourceforge.net>2004-08-24 02:44:38 +0000
commit7c56622ace1da1d3fe73c10049d6642631a60e80 (patch)
tree4699578d641abdf4466f47a024a4173e2dde3513 /externals/grill/vst
parent02a91a1c1287fea5932bde76ceaece20cb69d1e1 (diff)
""
svn path=/trunk/; revision=1973
Diffstat (limited to 'externals/grill/vst')
-rw-r--r--externals/grill/vst/pd/help-vst~.pd232
-rw-r--r--externals/grill/vst/src/main.cpp25
2 files changed, 141 insertions, 116 deletions
diff --git a/externals/grill/vst/pd/help-vst~.pd b/externals/grill/vst/pd/help-vst~.pd
index f27c9e54..f546d7a8 100644
--- a/externals/grill/vst/pd/help-vst~.pd
+++ b/externals/grill/vst/pd/help-vst~.pd
@@ -1,19 +1,16 @@
-#N canvas 180 14 842 665 12;
+#N canvas 130 41 801 527 12;
#X obj 26 190 dac~;
#X obj 26 94 noise~;
-#X obj 473 178 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -225271
--1 -1 0 1;
-#X msg 470 195 param 2 \$1;
#X obj 140 192 print A;
-#X obj 27 451 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0 1
-;
-#X msg 26 473 vis \$1;
-#X obj 27 367 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0 1
+#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 26 389 edit \$1;
-#X msg 94 389 getedit;
-#X msg 89 473 getvis;
-#N canvas 367 122 550 426 info 0;
+#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;
@@ -53,30 +50,21 @@
#X connect 19 0 7 0;
#X connect 21 0 7 0;
#X connect 23 0 7 0;
-#X restore 26 616 pd info;
+#X restore 445 110 pd info;
#X obj 96 96 r \$0-vst;
-#X obj 25 416 s \$0-vst;
-#X obj 25 499 s \$0-vst;
-#X text 52 366 display edit window;
-#X text 50 449 make edit window (in)visible;
-#X obj 432 360 s \$0-vst;
-#X obj 409 617 s \$0-vst;
-#X msg 532 478 getprogram;
-#X msg 433 96 getparams;
-#X text 511 96 get number of parameters;
-#X text 504 406 get number of programs;
-#X msg 409 409 getprograms;
-#X msg 572 196 getparam 2;
+#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 92 616 further information;
+#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 134 53 http://www.parasitaere-kapazitaeten.net;
#X text 137 173 attribute outlet;
#X text 103 137 inlets outlets [plugname];
-#N canvas 367 122 465 214 win 0;
+#N canvas 367 122 477 226 win 0;
#X obj 34 160 s \$0-vst;
#X msg 26 109 getx;
#X text 155 110 get window coordinates;
@@ -95,18 +83,13 @@
#X connect 5 0 0 0;
#X connect 6 0 7 0;
#X connect 7 0 0 0;
-#X restore 26 542 pd win;
-#X text 92 542 manipulating the edit window;
-#X msg 470 242 param gain 0;
-#X text 542 144 get parameter name;
-#X text 484 312 get value in textual representation;
-#X text 495 217 set/get parameter (0-based);
-#X text 463 497 set/get program (0-based);
+#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 490 335 midi 0;
+#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;
@@ -118,18 +101,18 @@
#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 -262144 -1 -1 0 256;
+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 -262144 -1 -1 0 256;
+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
--262144 -1 -1 0 256;
+-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 -262144 -1 -1 0 256;
+10 -225271 -1 -1 0 256;
#X connect 1 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
@@ -142,89 +125,112 @@
#X connect 16 0 0 0;
#X connect 17 0 0 0;
#X connect 18 0 17 0;
-#X restore 25 581 pd midi;
-#X text 93 582 midi messages for vst synths;
-#X msg 409 434 getprogcats;
-#X text 504 431 get number of program categories;
+#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 741 569 loadbang;
-#X msg 741 596 \; pd dsp 1;
-#X obj 228 339 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0
+#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 226 388 s \$0-vst;
-#X msg 227 361 bypass \$1;
-#X msg 309 361 getbypass;
-#X text 253 338 bypass plugin;
-#X obj 228 245 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0
+#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 226 294 s \$0-vst;
-#X text 253 244 mute output;
-#X msg 227 267 mute \$1;
-#X msg 309 267 getmute;
-#X msg 429 478 program \$1;
-#X obj 430 462 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
+#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 msg 471 290 getptext \$1;
-#X obj 471 273 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
+#X obj 61 68 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
-1 -1 0 256;
-#X obj 450 128 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
+#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 msg 450 146 getpname \$1;
-#X msg 576 290 getptext gain;
-#X msg 580 242 getparam gain;
-#X obj 434 516 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
+#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 432 533 getprogname \$1;
-#X text 552 530 get program name;
-#X obj 433 567 nbx 5 14 0 10000 0 0 empty empty empty 0 -6 0 10 -225271
+#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 569 582 get program name;
-#X msg 431 584 getprogname 2 \$1;
-#X text 571 596 (with category);
-#X text 480 328 (may be ambigous!);
-#X text 568 544 (no category);
-#X connect 1 0 49 0;
-#X connect 2 0 3 0;
-#X connect 3 0 17 0;
+#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 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 14 0;
-#X connect 7 0 8 0;
-#X connect 8 0 13 0;
-#X connect 9 0 13 0;
-#X connect 10 0 14 0;
-#X connect 12 0 49 0;
-#X connect 19 0 18 0;
-#X connect 20 0 17 0;
-#X connect 23 0 18 0;
-#X connect 24 0 17 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 35 0 17 0;
-#X connect 40 0 26 0;
-#X connect 41 0 42 0;
-#X connect 42 0 40 0;
-#X connect 45 0 18 0;
-#X connect 49 0 0 0;
-#X connect 49 1 0 1;
-#X connect 49 2 4 0;
-#X connect 50 0 51 0;
-#X connect 52 0 54 0;
-#X connect 54 0 53 0;
-#X connect 55 0 53 0;
-#X connect 57 0 60 0;
-#X connect 60 0 58 0;
-#X connect 61 0 58 0;
-#X connect 62 0 18 0;
-#X connect 63 0 62 0;
-#X connect 64 0 17 0;
-#X connect 65 0 64 0;
-#X connect 66 0 67 0;
-#X connect 67 0 17 0;
-#X connect 68 0 17 0;
-#X connect 69 0 17 0;
-#X connect 70 0 71 0;
-#X connect 71 0 18 0;
-#X connect 73 0 75 0;
-#X connect 75 0 18 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;
diff --git a/externals/grill/vst/src/main.cpp b/externals/grill/vst/src/main.cpp
index 13205a4d..00804e53 100644
--- a/externals/grill/vst/src/main.cpp
+++ b/externals/grill/vst/src/main.cpp
@@ -19,7 +19,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include <string>
-#define VST_VERSION "0.1.0pre13"
+#define VST_VERSION "0.1.0pre14"
class vst:
@@ -473,8 +473,27 @@ V vst::m_signal(I n,R *const *insigs,R *const *outsigs)
int i,mx = CntInSig();
if(mx > CntOutSig()) mx = CntOutSig();
- for(i = 0; i < mx; ++i)
- CopySamples(outsigs[i],insigs[i],n);
+ if(mx == 1) {
+ CopySamples(outsigs[0],insigs[0],n);
+ i = 1;
+ }
+ else if(mx == 2) {
+ R *o1 = outsigs[0],*o2 = outsigs[1];
+ const R *i1 = insigs[0],*i2 = insigs[1];
+ for(int s = 0; s < n; ++s) {
+ const R f = *(i1++);
+ *(o2++) = *(i2++);
+ *(o1++) = f;
+ }
+ i = 2;
+ }
+ else
+ for(i = 0; i < mx; ++i) {
+ // must copy via temporary buffer as ordering of output signals can collide with input signals
+ CopySamples(tmpin[i],insigs[i],n);
+ CopySamples(outsigs[i],tmpin[i],n);
+ }
+
for(; i < CntOutSig(); ++i)
ZeroSamples(outsigs[i],n);
}