aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-11-22 19:28:25 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-11-22 19:28:25 +0000
commitbff8374f6fcca7202435957c12bf5fcfe442263b (patch)
tree7dfa0c8cbd1d43882c38109b79a5163e9ba8ee3d
parentc723d0c382d0f901ae302cb5c60cecaa2fbf2195 (diff)
sketch for poly object with dynamic instance allocation, somewhat like [polypoly]
svn path=/trunk/externals/manypoly/; revision=14485
-rw-r--r--rawpoly-test.pd17
-rw-r--r--rawpoly.pd185
2 files changed, 202 insertions, 0 deletions
diff --git a/rawpoly-test.pd b/rawpoly-test.pd
new file mode 100644
index 0000000..b507ce0
--- /dev/null
+++ b/rawpoly-test.pd
@@ -0,0 +1,17 @@
+#N canvas 372 366 450 300 10;
+#X text 53 202 beeware of loadbangs when dynamically adding instances
+using the 3rd inlet! Everytime a new instance is created \, all instances
+will receive a loadbang!;
+#X msg 218 113 7;
+#X msg 185 113 3;
+#X msg 249 112 9;
+#X text 279 112 control instances;
+#X obj 113 138 rawpoly 5 itest;
+#X text 27 21 inlet0: routed to each instance based on instance number
+;
+#X text 27 41 inlet1: connected directly to each instance;
+#X text 27 61 outlet~0: connected directly to each instance;
+#X text 27 81 outlet1: connected directly to each instance;
+#X connect 1 0 5 2;
+#X connect 2 0 5 2;
+#X connect 3 0 5 2;
diff --git a/rawpoly.pd b/rawpoly.pd
new file mode 100644
index 0000000..c81127a
--- /dev/null
+++ b/rawpoly.pd
@@ -0,0 +1,185 @@
+#N canvas 820 73 679 577 10;
+#X obj 26 8 inlet;
+#X obj 196 378 until;
+#X obj 234 403 + 1;
+#N canvas 169 250 601 588 \$0-poly 0;
+#X restore 26 61 pd \$0-poly;
+#X obj 196 403 float;
+#X obj 26 32 send \$0-in1;
+#X obj 100 8 inlet;
+#X obj 100 32 send \$0-in2;
+#X obj 214 246 float \$1;
+#X obj 126 113 outlet;
+#X obj 126 88 receive \$0-message;
+#X obj 26 89 catch~ \$0-audio;
+#X obj 26 113 outlet~;
+#X text 102 62 <-- open this subpatch to see the instances;
+#N canvas 452 457 572 467 create 0;
+#X obj 29 10 inlet;
+#X obj 173 153 list trim;
+#X obj 202 60 symbol \$2;
+#X obj 155 61 * 20;
+#X obj 173 132 list append \$3 \$4 \$5 \$6 \$7;
+#X obj 173 409 outlet;
+#X obj 173 174 trigger anything anything;
+#X obj 155 83 + 30;
+#X msg 186 281 connect 0 0 \$1 0;
+#X obj 92 62 * 2;
+#X obj 92 85 + 4;
+#X obj 29 192 pack float float;
+#X obj 29 62 * 2;
+#X obj 29 85 + 5;
+#X msg 294 281 connect \$1 0 \$2 0;
+#X msg 74 261 connect \$1 1 \$2 0;
+#X msg 186 261 connect 1 0 \$2 1;
+#X msg 294 260 connect \$2 1 3 0;
+#X msg 74 281 connect \$2 0 2 0;
+#X obj 350 84 makefilename $%d;
+#X msg 350 62 1;
+#X obj 173 108 pack float symbol float symbol;
+#X obj 29 37 trigger anything anything anything bang anything bang
+;
+#X msg 168 196 obj 125 \$1 route \$3 all;
+#X msg 320 196 obj 210 \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9;
+#X connect 0 0 22 0;
+#X connect 1 0 6 0;
+#X connect 2 0 21 1;
+#X connect 3 0 7 0;
+#X connect 4 0 1 0;
+#X connect 6 0 23 0;
+#X connect 6 1 24 0;
+#X connect 7 0 21 0;
+#X connect 8 0 5 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 1;
+#X connect 11 0 8 0;
+#X connect 11 0 14 0;
+#X connect 11 0 15 0;
+#X connect 11 0 16 0;
+#X connect 11 0 17 0;
+#X connect 11 0 18 0;
+#X connect 12 0 13 0;
+#X connect 13 0 11 0;
+#X connect 14 0 5 0;
+#X connect 15 0 5 0;
+#X connect 16 0 5 0;
+#X connect 17 0 5 0;
+#X connect 18 0 5 0;
+#X connect 19 0 21 3;
+#X connect 20 0 19 0;
+#X connect 21 0 4 0;
+#X connect 22 0 12 0;
+#X connect 22 1 9 0;
+#X connect 22 2 3 0;
+#X connect 22 3 2 0;
+#X connect 22 4 21 2;
+#X connect 22 5 20 0;
+#X connect 23 0 5 0;
+#X connect 24 0 5 0;
+#X restore 196 450 pd create and link instances;
+#X obj 458 530 send;
+#X msg 136 450 loadbang;
+#X msg 440 449 clear;
+#N canvas 973 300 625 362 xlets 0;
+#X obj 137 -89 inlet;
+#X obj 277 175 outlet;
+#X text 190 -84 This will create fake "in/outlets" as senders and receivers.
+;
+#X msg 137 -59 0;
+#X obj 477 28 makefilename $%d-in1;
+#X obj 337 28 makefilename $%d-in2;
+#X obj 187 28 makefilename $%d-audio;
+#X obj 27 28 makefilename $%d-message;
+#X obj 277 133 list prepend obj;
+#X obj 277 153 list trim;
+#X msg 27 49 480 560 send \$1;
+#X msg 187 49 10 560 throw~ \$1;
+#X msg 337 49 500 10 receive \$1;
+#X msg 477 49 10 10 receive \$1;
+#X obj 137 -36 trigger float float float float;
+#X connect 0 0 3 0;
+#X connect 3 0 14 0;
+#X connect 4 0 13 0;
+#X connect 5 0 12 0;
+#X connect 6 0 11 0;
+#X connect 7 0 10 0;
+#X connect 8 0 9 0;
+#X connect 9 0 1 0;
+#X connect 10 0 8 0;
+#X connect 11 0 8 0;
+#X connect 12 0 8 0;
+#X connect 13 0 8 0;
+#X connect 14 0 7 0;
+#X connect 14 1 6 0;
+#X connect 14 2 5 0;
+#X connect 14 3 4 0;
+#X restore 376 449 pd xlets;
+#X obj 330 10 inlet;
+#X obj 214 268 moses 1;
+#X obj 122 214 moses;
+#X obj 505 449 symbol pd-\$0-poly;
+#X obj 280 404 moses;
+#X msg 223 356 bang;
+#X msg 323 347 0;
+#X obj 376 425 trigger bang bang bang;
+#X obj 142 327 trigger bang bang anything;
+#X obj 253 292 trigger anything bang;
+#X obj 117 175 trigger 0 0;
+#N canvas 0 22 519 307 warning 0;
+#X obj 70 17 inlet;
+#X obj 383 18 inlet;
+#X obj 44 260 print rawpoly_WARNING;
+#X msg 62 122 inlet value less than current instance count- reseting
+all instances!;
+#X msg 116 65 inlet value equal to current instance count- ignoring!
+;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X restore 92 275 pd warning;
+#X obj 214 224 loadbang;
+#X text 22 507 Beware of loadbangs when dynamically adding instances
+using the 3rd inlet! Everytime a new instance is created \, all instances
+will receive a loadbang!;
+#X obj 207 426 print;
+#X obj 149 255 select;
+#X connect 0 0 5 0;
+#X connect 1 0 4 0;
+#X connect 2 0 23 0;
+#X connect 2 0 4 1;
+#X connect 4 0 2 0;
+#X connect 4 0 14 0;
+#X connect 4 0 33 0;
+#X connect 6 0 7 0;
+#X connect 8 0 20 0;
+#X connect 10 0 9 0;
+#X connect 11 0 12 0;
+#X connect 14 0 15 0;
+#X connect 16 0 15 0;
+#X connect 17 0 15 0;
+#X connect 18 0 15 0;
+#X connect 19 0 29 0;
+#X connect 20 1 28 0;
+#X connect 21 0 30 0;
+#X connect 21 0 8 0;
+#X connect 21 1 34 0;
+#X connect 22 0 15 1;
+#X connect 23 1 24 0;
+#X connect 24 0 1 1;
+#X connect 25 0 4 1;
+#X connect 26 0 18 0;
+#X connect 26 1 17 0;
+#X connect 26 2 22 0;
+#X connect 27 0 16 0;
+#X connect 27 1 1 0;
+#X connect 27 2 23 1;
+#X connect 28 0 27 0;
+#X connect 28 1 26 0;
+#X connect 28 1 25 0;
+#X connect 29 0 21 1;
+#X connect 29 0 34 1;
+#X connect 29 1 21 0;
+#X connect 31 0 8 0;
+#X connect 34 0 30 1;
+#X connect 34 1 27 0;