From 4dc9c2b6bb6207f5bc4187f0a9a1a713ad56366f Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 23 Nov 2010 19:25:06 +0000 Subject: removed [initbang] dependency and refactored code to hopefully be faster and easier to maintain svn path=/trunk/externals/many/; revision=14510 --- voices~.pd | 314 ++++++++++++++++++++++++++++++------------------------------- 1 file changed, 152 insertions(+), 162 deletions(-) diff --git a/voices~.pd b/voices~.pd index c0fba17..e2061fe 100644 --- a/voices~.pd +++ b/voices~.pd @@ -1,186 +1,176 @@ -#N canvas 133 84 761 526 10; +#N canvas 361 57 694 548 10; #X obj 26 8 inlet; #X obj 256 209 outlet; -#X obj 175 388 until; -#X obj 136 333 moses 1; -#X obj 213 415 + 1; -#N canvas 748 380 472 324 init 0; -#X obj 142 101 makefilename pd-%s; -#X msg 149 56 bang; -#X text 99 265 This will clear the subpatch and create fake "in/outlets" -as senders and receivers.; -#X obj 38 154 send \$0-subname; -#X obj 142 125 pack symbol \$0; -#X obj 142 30 bang; -#X obj 142 7 inlet; -#X obj 142 77 symbol \$0-voices~; -#X msg 142 166 \; \$1 clear \; \$1 obj 10 10 receive \$2-in1 \; \$1 -obj 400 10 receive \$2-in2 \; \$1 obj 10 560 throw~ \$2-audioL \; \$1 -obj 380 560 throw~ \$2-audioR \; \$1 obj 500 560 send \$2-voicemsg -\;; -#X connect 0 0 3 0; -#X connect 0 0 4 0; -#X connect 1 0 7 0; -#X connect 4 0 8 0; -#X connect 5 0 7 0; -#X connect 6 0 5 0; -#X connect 7 0 0 0; -#X restore 225 332 pd init; -#N canvas 810 447 610 407 finish 0; -#X obj 373 197 list prepend; +#N canvas 539 471 610 407 finish 0; #X obj 77 180 until; #X obj 127 206 + 1; -#X obj 77 279 list prepend; -#X msg 77 313 \; \$1 connect 1 0 \$2 1 \;; #X text 210 158 first 3 objects are xlets; #X obj 38 26 inlet; #X obj 38 62 moses 1; -#X obj 156 250 receive \$0-subname; -#X obj 442 173 receive \$0-subname; -#X obj 77 206 float 3; #X obj 77 157 trigger anything bang; -#X obj 77 93 trigger anything anything; #X text 15 363 Connect all wrapper object's right inlet to [receive \$0-in2]; #X text 360 282 Connect final object to [send \$0-out]; #X msg 200 177 5; -#X msg 373 227 \; \$1 connect 0 0 5 0 \; \$1 connect \$2 0 4 0 \;; -#X obj 373 159 + 4; -#X connect 0 0 16 0; -#X connect 1 0 10 0; -#X connect 2 0 10 1; +#X obj 373 207 + 4; +#X obj 372 333 outlet; +#X msg 483 228 connect 0 0 5 0; +#X msg 373 227 connect \$1 0 4 0; +#X obj 77 93 trigger anything anything bang; +#X msg 144 249 connect 1 0 \$1 1; +#X obj 77 206 float; +#X connect 0 0 15 0; +#X connect 1 0 15 1; #X connect 3 0 4 0; -#X connect 6 0 7 0; -#X connect 7 1 12 0; -#X connect 8 0 3 1; -#X connect 9 0 0 1; -#X connect 10 0 2 0; -#X connect 10 0 3 0; -#X connect 11 0 1 0; -#X connect 11 1 15 0; -#X connect 12 0 11 0; -#X connect 12 1 17 0; -#X connect 15 0 10 1; -#X connect 17 0 0 0; -#X restore 48 331 pd finish; -#X obj 48 251 initbang; -#X obj 175 415 float; -#X obj 175 360 trigger anything bang; -#X msg 216 388 0; +#X connect 4 1 13 0; +#X connect 5 0 0 0; +#X connect 5 1 8 0; +#X connect 8 0 15 1; +#X connect 9 0 12 0; +#X connect 11 0 10 0; +#X connect 12 0 10 0; +#X connect 13 0 5 0; +#X connect 13 1 9 0; +#X connect 13 2 11 0; +#X connect 14 0 10 0; +#X connect 15 0 1 0; +#X connect 15 0 14 0; +#X restore 106 443 pd finish; #X obj 26 67 send \$0-in1; #X obj 100 8 inlet; #X obj 100 67 send \$0-in2; -#X obj 48 281 float \$1; #X obj 26 208 outlet~; -#N canvas 177 52 366 386 communications 0; -#X obj 29 10 inlet; -#N canvas 0 22 535 282 last-two 0; -#X obj 40 92 cnv 15 150 80 empty empty empty 20 12 0 14 -233017 -66577 -0; -#X text 265 27 first reset (b) \, then set new length (f).; -#X text 198 112 Right outlet is responsible to first fill the list -; -#X text 199 128 Left outlet then only lets the smaller list pass.; -#X obj 67 100 list; -#X obj 67 66 inlet; -#X obj 67 219 outlet; -#X obj 67 145 list split 2; -#X connect 4 0 7 0; -#X connect 5 0 4 0; -#X connect 7 0 4 1; -#X connect 7 0 6 0; -#X connect 7 2 4 1; -#X restore 29 242 pd last-two; -#X obj 29 288 list prepend; -#X obj 44 135 list append \$3 \$4 \$5 \$6; -#X obj 290 59 float \$1; -#X obj 150 84 receive \$0-subname; -#X obj 98 267 receive \$0-subname; -#X obj 44 111 pack float float symbol symbol float; -#X obj 97 67 * 19; -#X obj 97 89 + 30; -#X obj 29 221 + 5; -#X msg 29 316 \; \$1 connect \$3 0 \$2 0 \;; -#X obj 29 37 trigger anything anything anything bang bang; -#X msg 44 162 \; \$3 obj 150 \$2 voices-wrap~ \$4 \$1 \$5 \$6 \$7 -\$8 \$9 \;; -#N canvas 183 272 316 307 expandpath 0; -#X obj 59 16 inlet; -#X obj 55 271 outlet; -#X obj 59 43 trigger bang bang; -#X obj 59 98 list append; -#X msg 58 153 symbol \$1/\$2; -#X obj 158 66 symbol \$2; -#X obj 59 67 ggee/getdir 3; -#X connect 0 0 2 0; -#X connect 2 0 6 0; -#X connect 2 1 5 0; -#X connect 3 0 4 0; -#X connect 4 0 1 0; -#X connect 5 0 3 1; -#X connect 6 0 3 0; -#X restore 194 61 pd expandpath; -#X connect 0 0 12 0; -#X connect 1 0 2 0; -#X connect 2 0 11 0; -#X connect 3 0 13 0; -#X connect 4 0 7 4; -#X connect 5 0 7 2; -#X connect 6 0 2 1; -#X connect 7 0 3 0; -#X connect 8 0 9 0; -#X connect 9 0 7 1; -#X connect 10 0 1 0; -#X connect 12 0 10 0; -#X connect 12 1 7 0; -#X connect 12 2 8 0; -#X connect 12 3 14 0; -#X connect 12 4 4 0; -#X connect 14 0 7 3; -#X restore 175 482 pd communications connections; -#N canvas 875 553 450 300 connect 0; -#X obj 89 17 inlet; -#X obj 89 102 + 5; -#X obj 211 78 symbol; -#X obj 244 56 receive \$0-subname; -#X obj 87 136 pack float symbol; -#X obj 88 57 trigger anything bang; -#X msg 89 182 \; \$2 connect \$1 1 2 0 \; \$2 connect \$1 2 3 0; -#X connect 0 0 5 0; -#X connect 1 0 4 0; -#X connect 2 0 4 1; -#X connect 3 0 2 1; -#X connect 4 0 6 0; -#X connect 5 0 1 0; -#X connect 5 1 2 0; -#X restore 185 453 pd connect user outlets; #X text 122 97 <-- open this subpatch to see the instances; -#X obj 48 310 trigger anything anything bang; -#N canvas 100 24 601 588 \$0-voices~ 0; +#N canvas 138 22 601 588 \$0-voices~ 0; #X restore 26 96 pd \$0-voices~; #X obj 136 209 outlet~; #X obj 26 124 catch~ \$0-audioL; #X obj 136 124 catch~ \$0-audioR; #X obj 256 124 receive \$0-voicemsg; -#X obj 24 260 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +#X obj 168 386 until; +#X obj 206 413 + 1; +#X obj 168 413 float; +#X msg 207 386 0; +#X obj 27 261 float \$1; +#X obj 536 514 send; +#X obj 168 358 trigger 0 bang; +#X obj 27 239 loadbang; +#X msg 46 443 loadbang; +#X msg 509 443 clear; +#N canvas 73 546 512 291 xlets 0; +#X obj 70 -124 inlet; +#X obj 70 70 outlet; +#X text 101 -86 This will create fake "in/outlets" as senders and receivers. +; +#X obj 70 -32 float \$0; +#X msg 70 -6 obj 10 10 receive \$1-in1 \, obj 400 10 receive \$1-in2 +\, obj 10 560 throw~ \$1-audioL \, obj 380 560 throw~ \$1-audioR \, +obj 500 560 send \$1-voicemsg; +#X connect 0 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X restore 444 443 pd xlets; +#X obj 27 285 moses 1; +#X text 79 283 no need to generate anything for 0 instances; +#X obj 557 442 symbol pd-\$0-voices~; +#N canvas 1048 429 450 300 connect 0; +#X obj 89 17 inlet; +#X obj 89 102 + 5; +#X obj 89 248 outlet; +#X msg 89 123 connect \$1 1 2 0 \, connect \$1 2 3 0; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 3 0 2 0; +#X restore 340 443 pd connect xlets; +#X obj 10 241 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X connect 0 0 11 0; -#X connect 2 0 8 0; -#X connect 3 1 9 0; -#X connect 4 0 8 1; -#X connect 7 0 14 0; -#X connect 8 0 4 0; -#X connect 8 0 16 0; -#X connect 8 0 17 0; -#X connect 9 0 2 0; -#X connect 9 1 10 0; -#X connect 10 0 8 1; -#X connect 12 0 13 0; -#X connect 14 0 19 0; -#X connect 19 0 6 0; -#X connect 19 1 3 0; -#X connect 19 2 5 0; -#X connect 22 0 15 0; -#X connect 23 0 21 0; -#X connect 24 0 1 0; -#X connect 25 0 14 0; +#N canvas 934 484 551 402 create+connect 0; +#X obj 29 10 inlet; +#X obj 167 139 list append \$3 \$4 \$5 \$6; +#X obj 347 69 float \$1; +#X obj 224 93 + 30; +#X obj 29 181 + 5; +#X obj 281 70 symbol \$2; +#N canvas 40 466 316 307 expandpath 0; +#X obj 59 16 inlet; +#X obj 55 271 outlet; +#X obj 59 98 list append; +#X msg 58 153 symbol \$1/\$2; +#X obj 59 43 trigger bang anything; +#X obj 58 67 ggee/getdir 3; +#X connect 0 0 4 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 5 0; +#X connect 4 1 2 1; +#X connect 5 0 2 0; +#X restore 281 90 pd expandpath; +#X obj 225 347 outlet; +#X obj 167 115 pack float float symbol float; +#X obj 224 71 * 50; +#X msg 167 166 obj 100 \$2 voices-wrap~ \$3 \$1 \$4 \$5 \$6 \$7 \$8 +; +#X msg 39 296 connect \$1 1 2 0; +#X msg 29 318 connect \$1 2 3 0; +#X obj 77 226 pack float float; +#X obj 29 37 trigger anything anything anything anything bang bang +; +#X obj 111 184 + 4; +#X msg 77 248 connect \$2 0 \$1 0; +#X obj 38 203 moses 6; +#X connect 0 0 14 0; +#X connect 1 0 10 0; +#X connect 2 0 8 3; +#X connect 3 0 8 1; +#X connect 4 0 11 0; +#X connect 4 0 12 0; +#X connect 4 0 17 0; +#X connect 5 0 6 0; +#X connect 6 0 8 2; +#X connect 8 0 1 0; +#X connect 9 0 3 0; +#X connect 10 0 7 0; +#X connect 11 0 7 0; +#X connect 12 0 7 0; +#X connect 13 0 16 0; +#X connect 14 0 4 0; +#X connect 14 1 15 0; +#X connect 14 2 8 0; +#X connect 14 3 9 0; +#X connect 14 4 5 0; +#X connect 14 5 2 0; +#X connect 15 0 13 1; +#X connect 16 0 7 0; +#X connect 17 1 13 0; +#X restore 168 443 pd create+connect instances; +#X obj 66 307 trigger bang anything anything anything bang bang bang +; +#X connect 0 0 3 0; +#X connect 2 0 18 0; +#X connect 4 0 5 0; +#X connect 10 0 6 0; +#X connect 11 0 9 0; +#X connect 12 0 1 0; +#X connect 13 0 15 0; +#X connect 14 0 15 1; +#X connect 15 0 14 0; +#X connect 15 0 29 0; +#X connect 16 0 15 1; +#X connect 17 0 24 0; +#X connect 19 0 13 0; +#X connect 19 1 16 0; +#X connect 20 0 17 0; +#X connect 21 0 18 0; +#X connect 22 0 18 0; +#X connect 23 0 18 0; +#X connect 24 1 30 0; +#X connect 26 0 18 1; +#X connect 27 0 18 0; +#X connect 28 0 17 0; +#X connect 29 0 18 0; +#X connect 30 0 21 0; +#X connect 30 1 2 0; +#X connect 30 2 19 0; +#X connect 30 4 23 0; +#X connect 30 5 22 0; +#X connect 30 6 26 0; -- cgit v1.2.1