#N canvas 293 125 864 653 10; #X obj 36 31 inlet; #X obj 36 338 outlet; #X obj 276 208 until; #X obj 350 335 symbol \$2; #X obj 157 130 moses 1; #X obj 311 235 + 1; #X text 425 27 usage: nqpoly ; #X text 427 68 your abstraction is ultimately called with the parameters: ; #N canvas 7 455 362 318 1002-poly 0; #X restore 36 256 pd \$0-poly; #X obj 36 227 s \$0-in1; #X obj 121 228 s \$0-in2; #X obj 36 283 r \$0-out; #N canvas 220 112 751 428 init 0; #X obj 197 139 symbol \$0-poly; #X obj 197 163 makefilename pd-%s; #X obj 197 187 pack s \$0; #X msg 204 118 bang; #X text 154 317 This will clear the subpatch and create fake "in/outlets" as senders and receivers.; #X msg 197 230 \; \$1 clear \; \$1 obj 50 60 r \$2-in1 \; \$1 obj 199 60 r \$2-in2 \; \$1 obj 50 200 s \$2-out; #X obj 103 206 s \$0-subname; #X obj 197 92 b; #X obj 197 69 r \$0-init; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 6 0; #X connect 2 0 5 0; #X connect 3 0 0 0; #X connect 7 0 0 0; #X connect 8 0 7 0; #X restore 238 37 pd init; #X obj 276 235 f; #X obj 121 26 inlet; #X obj 173 37 loadbang; #X obj 121 60 f \$1; #X obj 377 216 f \$1; #X obj 323 208 0; #X obj 276 494 + 3; #N canvas 0 0 692 559 last-two 0; #X obj 153 175 cnv 15 150 80 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 378 110 first reset (b) \, then set new length (f).; #X text 311 195 Right outlet is responsible to first fill the list ; #X text 312 211 Left outlet then only lets the smaller list pass.; #X obj 180 183 list; #X obj 228 113 inlet; #X obj 180 149 inlet; #X obj 180 302 outlet; #X obj 180 228 list split 2; #X obj 228 149 b; #X connect 4 0 8 0; #X connect 5 0 9 0; #X connect 6 0 4 0; #X connect 8 0 4 1; #X connect 8 0 7 0; #X connect 8 2 4 1; #X connect 9 0 4 1; #X restore 276 516 pd last-two; #X obj 276 562 list prepend; #X msg 276 590 \; \$1 connect \$3 0 \$2 0 \;; #X obj 324 359 r \$0-subname; #X obj 355 541 r \$0-subname; #N canvas 0 0 1005 687 finish 0; #X obj 432 273 list prepend; #X obj 432 235 + 2; #X msg 432 304 \; \$1 connect 0 0 3 0 \; \$1 connect \$2 0 2 0 \;; #X obj 136 256 until; #X obj 171 283 + 1; #X obj 136 355 list prepend; #X obj 136 233 t a b; #X msg 136 389 \; \$1 connect 1 0 \$2 1 \;; #X obj 136 282 f 3; #X obj 183 256 3; #X obj 215 326 r \$0-subname; #X obj 513 249 r \$0-subname; #X text 182 234 first 3 objects are xlets; #X obj 92 102 inlet; #X obj 92 138 moses 1; #X obj 136 169 t a a; #X text 419 358 Connect final object to [s \$0-out]; #X text 69 439 Connect all wrapper object's right inlet to [r \$0-in2] ; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 3 0 8 0; #X connect 4 0 8 1; #X connect 5 0 7 0; #X connect 6 0 3 0; #X connect 6 1 9 0; #X connect 8 0 4 0; #X connect 8 0 5 0; #X connect 9 0 8 1; #X connect 10 0 5 1; #X connect 11 0 0 1; #X connect 13 0 14 0; #X connect 14 1 15 0; #X connect 15 0 6 0; #X connect 15 1 1 0; #X restore 139 198 pd finish; #X text 568 154 based on: nqpoly (v4) - pix.test.at; #X obj 276 188 t a b; #X obj 231 116 s \$0-init; #X obj 348 494 r \$0-init; #X text 567 178 changes: fbar at footils.org 2006; #X obj 298 390 pack f s s f; #X msg 298 441 \; \$2 obj 50 100 nqpwrap4 \$3 \$1 \$4 \$5 \$6 \$7 \$8 \;; #X obj 298 414 list append \$3 \$4 \$5 \$6; #X obj 121 85 t b a a a b; #X obj 276 271 t a a b; #X obj 320 28 inlet; #X obj 320 55 t b a; #X connect 0 0 9 0; #X connect 2 0 13 0; #X connect 3 0 31 2; #X connect 4 1 27 0; #X connect 5 0 13 1; #X connect 11 0 1 0; #X connect 13 0 5 0; #X connect 13 0 35 0; #X connect 14 0 16 0; #X connect 15 0 16 0; #X connect 16 0 34 0; #X connect 17 0 31 3; #X connect 18 0 13 1; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 21 0 22 0; #X connect 23 0 31 1; #X connect 24 0 21 1; #X connect 27 0 2 0; #X connect 27 1 18 0; #X connect 29 0 20 1; #X connect 31 0 33 0; #X connect 33 0 32 0; #X connect 34 0 10 0; #X connect 34 1 25 0; #X connect 34 2 4 0; #X connect 34 3 17 0; #X connect 34 4 28 0; #X connect 35 0 19 0; #X connect 35 1 31 0; #X connect 35 2 3 0; #X connect 36 0 37 0; #X connect 37 0 16 0; #X connect 37 1 3 0;