aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-11-22 18:39:09 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-11-22 18:39:09 +0000
commite13c080ea00836751efce187d516b3faa8a7040c (patch)
tree22bd22b4fbf3521038b88bb1cd9b5219530ec61e
parentdfc14193a98f79f54f7716800299d48b86d35d7e (diff)
got a working version of instances~ with AM demo
svn path=/trunk/externals/manypoly/; revision=14483
-rw-r--r--instances-template~-help.pd15
-rw-r--r--instances-template~.pd36
-rw-r--r--instances~-help.pd31
-rw-r--r--instances~.pd186
4 files changed, 268 insertions, 0 deletions
diff --git a/instances-template~-help.pd b/instances-template~-help.pd
new file mode 100644
index 0000000..0e899c5
--- /dev/null
+++ b/instances-template~-help.pd
@@ -0,0 +1,15 @@
+#N canvas 204 154 602 360 10;
+#X obj 110 254 instances-template~ 1 8 four more arguments possible
+;
+#X text 72 274 dsp-out left;
+#X text 381 274 dsp-out right;
+#X text 35 233 inlet for messages routed to instances;
+#X text 380 234 inlet for audio to all instances;
+#X text 80 35 instances-template~ is a basic patch here only to illustrate
+what a patch designed for [instances~] looks like. Feel free to use
+it as a template for your own patches for [instances~].;
+#X text 76 100 Your [instances~] abstraction needs one [inlet] and
+one [inlet~] and two [outlet~]s. First argument will be the voice index
+number starting from 0 \, second argument will be the total number
+of voices. Four more arguments can be passed as arguments to [instances~]
+and will be passed on to the custom abstraction.;
diff --git a/instances-template~.pd b/instances-template~.pd
new file mode 100644
index 0000000..6f639fb
--- /dev/null
+++ b/instances-template~.pd
@@ -0,0 +1,36 @@
+#N canvas 244 339 552 361 10;
+#X obj 54 11 inlet;
+#X obj 54 324 outlet~;
+#X obj 228 325 outlet~;
+#X obj 243 9 inlet~;
+#X obj 228 150 *~;
+#X obj 211 121 osc~;
+#X obj 100 48 print instances~_\$1;
+#X obj 54 302 *~;
+#X obj 129 137 osc~;
+#X obj 129 158 +~ 1;
+#X obj 129 178 *~ 0.5;
+#X obj 228 305 *~;
+#X obj 243 285 -~;
+#X msg 243 256 1;
+#X obj 243 236 loadbang;
+#X obj 130 81 float;
+#X obj 130 115 / 500;
+#X connect 0 0 6 0;
+#X connect 0 0 15 0;
+#X connect 3 0 4 1;
+#X connect 4 0 11 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 0;
+#X connect 7 0 1 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 7 1;
+#X connect 10 0 12 1;
+#X connect 11 0 2 0;
+#X connect 12 0 11 1;
+#X connect 13 0 12 0;
+#X connect 14 0 13 0;
+#X connect 15 0 5 0;
+#X connect 15 0 16 0;
+#X connect 16 0 8 0;
diff --git a/instances~-help.pd b/instances~-help.pd
new file mode 100644
index 0000000..f626c3e
--- /dev/null
+++ b/instances~-help.pd
@@ -0,0 +1,31 @@
+#N canvas 202 131 588 471 10;
+#X text 62 424 dsp-out left;
+#X text 371 424 dsp-out right;
+#X text 25 383 inlet for messages routed to instances;
+#X text 370 384 inlet for audio to all instances;
+#X obj 219 318 output~;
+#X obj 365 220 adc~;
+#X obj 168 249 list prepend;
+#X obj 237 228 hradio 15 1 1 5 empty empty empty 0 -8 0 10 -203904
+-1 -1 4;
+#X obj 168 272 instances~ 5 instances-template~;
+#X obj 171 203 hsl 128 15 200 500 1 1 empty empty empty -2 -8 0 10
+-261682 -1 -1 6600 0;
+#X obj 100 404 instances-template~ 1 8 four more arguments possible
+;
+#X obj 134 142 loadbang;
+#X msg 134 166 0 200 \, 1 300 \, 2 400 \, 3 500 \, 4 100;
+#X text 27 81 outlet~0: connected directly to each instance;
+#X text 27 101 outlet~1: connected directly to each instance;
+#X text 27 41 inlet~: connected directly to each instance;
+#X text 27 21 inlet: routed to each instance based on instance number
+;
+#X connect 5 0 8 1;
+#X connect 5 1 8 1;
+#X connect 6 0 8 0;
+#X connect 7 0 6 1;
+#X connect 8 0 4 0;
+#X connect 8 1 4 1;
+#X connect 9 0 6 0;
+#X connect 11 0 12 0;
+#X connect 12 0 8 0;
diff --git a/instances~.pd b/instances~.pd
new file mode 100644
index 0000000..c2f127f
--- /dev/null
+++ b/instances~.pd
@@ -0,0 +1,186 @@
+#N canvas 287 129 622 492 10;
+#X obj 26 8 inlet;
+#X obj 99 306 until;
+#X obj 137 333 + 1;
+#X obj 99 333 float;
+#X msg 138 306 0;
+#X obj 7 181 float \$1;
+#X obj 26 113 outlet~;
+#X text 122 62 <-- open this subpatch to see the instances;
+#N canvas 90 404 490 437 make 0;
+#X obj 88 14 inlet;
+#X obj 210 83 until;
+#X obj 210 107 float;
+#X obj 248 107 + 1;
+#X msg 251 83 0;
+#X msg 281 113 route;
+#X obj 210 244 list trim;
+#X obj 210 223 list prepend obj 10 30;
+#X msg 85 225 connect 0 0 4 0;
+#X obj 88 57 trigger bang bang anything bang;
+#X obj 210 317 outlet;
+#N canvas 0 22 450 300 tolist 0;
+#X obj 90 40 inlet;
+#X obj 169 40 inlet;
+#X obj 67 215 outlet;
+#X obj 90 150 list;
+#X obj 67 171 list;
+#X obj 90 127 list prepend;
+#X connect 0 0 5 0;
+#X connect 1 0 5 1;
+#X connect 1 0 4 0;
+#X connect 3 0 4 1;
+#X connect 3 0 5 1;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X restore 210 193 pd tolist;
+#X connect 0 0 9 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 0 11 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 5 0 11 0;
+#X connect 6 0 10 0;
+#X connect 7 0 6 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 11 1;
+#X connect 9 2 1 0;
+#X connect 9 3 5 0;
+#X connect 9 3 4 0;
+#X connect 11 0 7 0;
+#X restore 292 363 pd make route;
+#N canvas 493 375 432 461 create 1;
+#X obj 29 10 inlet;
+#X obj 281 61 float \$1;
+#X obj 29 141 + 5;
+#X obj 155 83 + 50;
+#X obj 173 108 pack float symbol float float;
+#X obj 173 153 list trim;
+#X obj 218 61 symbol \$2;
+#X obj 155 61 * 20;
+#X obj 173 132 list append \$3 \$4 \$5 \$6 \$7;
+#X msg 45 282 connect 1 0 \$1 1;
+#X obj 29 37 trigger anything anything anything bang bang anything
+;
+#X obj 58 225 pack float float;
+#X msg 58 247 connect 4 \$2 \$1 0;
+#X msg 35 302 connect \$1 0 2 0;
+#X msg 18 326 connect \$1 1 3 0;
+#X obj 173 409 outlet;
+#X msg 173 176 obj 150 \$1 \$2 \$4 \$3 \$5 \$6 \$7 \$8 \$9;
+#X connect 0 0 10 0;
+#X connect 1 0 4 2;
+#X connect 2 0 9 0;
+#X connect 2 0 11 0;
+#X connect 2 0 13 0;
+#X connect 2 0 14 0;
+#X connect 3 0 4 0;
+#X connect 4 0 8 0;
+#X connect 5 0 16 0;
+#X connect 6 0 4 1;
+#X connect 7 0 3 0;
+#X connect 8 0 5 0;
+#X connect 9 0 15 0;
+#X connect 10 0 2 0;
+#X connect 10 1 11 1;
+#X connect 10 2 7 0;
+#X connect 10 3 6 0;
+#X connect 10 4 1 0;
+#X connect 10 5 4 3;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 15 0;
+#X connect 14 0 15 0;
+#X connect 16 0 15 0;
+#X restore 106 363 pd create and link instances;
+#X obj 466 464 send;
+#X obj 99 278 trigger 0 bang;
+#X obj 7 160 loadbang;
+#X msg 46 363 loadbang;
+#X obj 487 362 makefilename pd-%s;
+#X obj 46 227 trigger bang anything anything bang bang bang;
+#X msg 439 363 clear;
+#N canvas 314 361 566 361 xlets 0;
+#X obj 78 -165 inlet;
+#X obj 78 29 outlet;
+#X text 126 -137 This will create fake "in/outlets" as senders and
+receivers.;
+#X obj 78 -73 float \$0;
+#X msg 78 -47 obj 10 10 receive \$1-message \, obj 400 10 catch~ \$1-audio-in
+\, obj 10 560 throw~ \$1-audio-out0 \, obj 380 560 throw~ \$1-audio-out1
+;
+#X connect 0 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X restore 384 363 pd xlets;
+#X obj 7 205 moses 1;
+#X text 59 203 no need to generate anything for 0 instances;
+#X obj 487 338 symbol \$0-instances;
+#N canvas 48 22 633 512 \$0-instances 0;
+#X obj 10 10 receive 20641-message;
+#X obj 400 10 catch~ 20641-audio-in;
+#X obj 10 560 throw~ 20641-audio-out0;
+#X obj 380 560 throw~ 20641-audio-out1;
+#X obj 10 30 route 0 1 2 3 4;
+#X obj 150 130 instances-template~ 5 4 0 0 0 0 0;
+#X obj 150 50 instances-template~ 5 0 0 0 0 0 0;
+#X obj 150 70 instances-template~ 5 1 0 0 0 0 0;
+#X obj 150 90 instances-template~ 5 2 0 0 0 0 0;
+#X obj 150 110 instances-template~ 5 3 0 0 0 0 0;
+#X connect 0 0 4 0;
+#X connect 1 0 5 1;
+#X connect 1 0 6 1;
+#X connect 1 0 7 1;
+#X connect 1 0 8 1;
+#X connect 1 0 9 1;
+#X connect 4 0 6 0;
+#X connect 4 1 7 0;
+#X connect 4 2 8 0;
+#X connect 4 3 9 0;
+#X connect 4 4 5 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 6 0 2 0;
+#X connect 6 1 3 0;
+#X connect 7 0 2 0;
+#X connect 7 1 3 0;
+#X connect 8 0 2 0;
+#X connect 8 1 3 0;
+#X connect 9 0 2 0;
+#X connect 9 1 3 0;
+#X restore 26 61 pd \$0-instances;
+#X obj 26 32 send \$0-message;
+#X obj 161 32 throw~ \$0-audio-in;
+#X obj 163 89 catch~ \$0-audio-out1;
+#X obj 26 89 catch~ \$0-audio-out0;
+#X obj 163 114 outlet~;
+#X obj 161 8 inlet~;
+#X connect 0 0 22 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 1;
+#X connect 3 0 2 0;
+#X connect 3 0 9 0;
+#X connect 4 0 3 1;
+#X connect 5 0 18 0;
+#X connect 8 0 10 0;
+#X connect 9 0 10 0;
+#X connect 11 0 1 0;
+#X connect 11 1 4 0;
+#X connect 12 0 5 0;
+#X connect 13 0 10 0;
+#X connect 14 0 10 1;
+#X connect 15 0 13 0;
+#X connect 15 1 11 0;
+#X connect 15 2 8 0;
+#X connect 15 3 17 0;
+#X connect 15 4 16 0;
+#X connect 15 5 20 0;
+#X connect 16 0 10 0;
+#X connect 17 0 10 0;
+#X connect 18 1 15 0;
+#X connect 20 0 14 0;
+#X connect 24 0 26 0;
+#X connect 25 0 6 0;
+#X connect 27 0 23 0;