#N canvas 630 256 761 526 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-voicepoly; #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; #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 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 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; #X obj 224 59 symbol \$2; #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 voicepolywrap \$4 \$1 \$5 \$6 \$7 \$8 \$9 \;; #X connect 0 0 13 0; #X connect 1 0 8 3; #X connect 2 0 3 0; #X connect 3 0 12 0; #X connect 4 0 14 0; #X connect 5 0 8 4; #X connect 6 0 8 2; #X connect 7 0 3 1; #X connect 8 0 4 0; #X connect 9 0 10 0; #X connect 10 0 8 1; #X connect 11 0 2 0; #X connect 13 0 11 0; #X connect 13 1 8 0; #X connect 13 2 9 0; #X connect 13 3 1 0; #X connect 13 4 5 0; #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-voicepoly 0; #X obj 10 10 receive 1014-in1; #X obj 400 10 receive 1014-in2; #X obj 10 560 throw~ 1014-audio; #X obj 380 560 send 1014-message; #X obj 500 560 send 1014-nqp; #X obj 150 30 voicepolywrap itest 0 5 0 0 0 0; #X obj 150 49 voicepolywrap itest 1 5 0 0 0 0; #X obj 150 68 voicepolywrap itest 2 5 0 0 0 0; #X obj 150 87 voicepolywrap itest 3 5 0 0 0 0; #X obj 150 106 voicepolywrap itest 4 5 0 0 0 0; #X connect 0 0 5 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 5 0 6 0; #X connect 5 1 2 0; #X connect 5 2 3 0; #X connect 6 0 7 0; #X connect 6 1 2 0; #X connect 6 2 3 0; #X connect 7 0 8 0; #X connect 7 1 2 0; #X connect 7 2 3 0; #X connect 8 0 9 0; #X connect 8 1 2 0; #X connect 8 2 3 0; #X connect 9 0 4 0; #X connect 9 1 2 0; #X connect 9 2 3 0; #X restore 26 96 pd \$0-voicepoly; #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 -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;