#N canvas 114 74 1573 890 10;
#X obj 162 194 r notes;
#X obj 162 273 unpack 0 0;
#X obj 162 333 pack 0 0 0;
#N canvas 0 50 450 278 (subpatch) 0;
#X array notes-from-poly 8 float 2;
#X coords 0 127 8 0 200 140 1 0 0;
#X restore 886 85 graph;
#X obj 162 414 unpack;
#N canvas 0 50 450 278 (subpatch) 0;
#X array notes-squashed 8 float 3;
#A 0 0 0 0 0 0 0 0 0;
#X coords 0 127 8 0 200 140 1 0 0;
#X restore 885 267 graph;
#N canvas 0 50 450 278 (subpatch) 0;
#X array notes-increasing 8 float 3;
#A 0 0 0 0 0 0 0 0 0;
#X coords 0 127 8 0 200 140 1 0 0;
#X restore 888 643 graph;
#X obj 190 524 s reorder;
#N canvas 133 50 826 891 array-sort 0;
#X obj 263 111 until;
#X obj 263 153 f;
#X obj 296 154 + 1, f 4;
#X msg 321 91 0, f 2;
#X obj 296 21 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 312 267 f;
#X obj 264 232 t f b;
#X obj 262 182 t f f;
#X obj 249 452 f;
#X floatatom 240 515 5 0 0 0 - - -, f 5;
#X obj 306 399 sel 1;
#X obj 214 485 f;
#X obj 173 537 f;
#X obj 213 553 t b b;
#X obj 323 560 t b f;
#X obj 250 580 f;
#X obj 343 -90 until;
#X obj 344 -46 f;
#X obj 376 -47 + 1, f 4;
#X msg 401 -110 0, f 2;
#X obj 345 -139 t b b;
#X obj 329 -11 t b f;
#X obj 214 -206 r reorder;
#X obj 252 48 t b b b b;
#X msg 314 585 0, f 2;
#X msg 357 89 0;
#X obj 217 333 expr if ($f1 > $f2 \, $f1 \, $f2) \; if ($f1 > $f2 \,
1 \, 0);
#X msg 344 -115 8, f 2;
#X msg 263 83 8, f 2;
#X obj 170 -206 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 264 210 tabread notes-squashed;
#X obj 314 621 tabwrite notes-squashed;
#X obj 139 648 tabwrite notes-decreasing;
#X text 419 137 sort array a into b. a gets clobbered in the process
probably a much better way to do this ...;
#X obj 204 -173 t b b b;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 7 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 23 0;
#X connect 5 0 26 1;
#X connect 6 0 26 0;
#X connect 6 1 5 0;
#X connect 7 0 30 0;
#X connect 7 1 8 1;
#X connect 8 0 11 1;
#X connect 9 0 14 0;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 11 0 13 0;
#X connect 12 0 32 0;
#X connect 13 0 12 0;
#X connect 13 1 15 0;
#X connect 14 0 24 0;
#X connect 14 1 31 1;
#X connect 15 0 32 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 17 0 21 0;
#X connect 18 0 17 1;
#X connect 19 0 17 1;
#X connect 20 0 27 0;
#X connect 20 1 19 0;
#X connect 21 0 4 0;
#X connect 21 1 15 1;
#X connect 22 0 34 0;
#X connect 23 0 11 0;
#X connect 23 1 28 0;
#X connect 23 2 3 0;
#X connect 23 3 25 0;
#X connect 24 0 31 0;
#X connect 25 0 5 1;
#X connect 26 0 5 1;
#X connect 26 0 12 1;
#X connect 26 1 10 0;
#X connect 27 0 16 0;
#X connect 28 0 0 0;
#X connect 29 0 34 0;
#X connect 30 0 6 0;
#X connect 34 2 20 0;
#X restore 767 501 pd array-sort;
#X text 1127 148 array1 is raw data from poly (notes with 0 velocity
are given 0 pitch);
#X text 1102 522 here are the notes sorted...;
#X floatatom 533 682 5 0 0 0 - - -, f 5;
#N canvas 0 50 450 278 (subpatch) 0;
#X array notes-decreasing 8 float 2;
#X coords 0 127 8 0 200 140 1 0 0;
#X restore 886 460 graph;
#N canvas 167 50 726 731 increasing 0;
#X obj 156 260 until;
#X obj 157 304 f;
#X obj 189 303 + 1, f 4;
#X msg 214 240 0, f 2;
#X obj 155 236 f 0;
#X obj 156 357 - 0;
#X obj 157 408 abs;
#X obj 157 326 t f f;
#X obj 266 471 f;
#X obj 156 469 t f b;
#X obj 320 197 r num-down;
#X obj 156 379 + 1;
#X obj 416 331 until;
#X obj 416 373 f;
#X obj 449 374 + 1, f 4;
#X msg 474 311 0, f 2;
#X obj 416 276 t b b;
#X obj 424 398 t b f;
#X msg 415 423 0, f 2;
#X msg 416 303 8, f 2;
#X obj 155 197 t b b b;
#X obj 156 437 tabread notes-decreasing;
#X obj 152 508 tabwrite notes-increasing;
#X obj 413 448 tabwrite notes-increasing;
#X obj 153 67 inlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 7 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 0 0;
#X connect 5 0 11 0;
#X connect 6 0 21 0;
#X connect 7 0 5 0;
#X connect 7 1 8 1;
#X connect 8 0 22 1;
#X connect 9 0 22 0;
#X connect 9 1 8 0;
#X connect 10 0 4 1;
#X connect 10 0 5 1;
#X connect 11 0 6 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 13 0 17 0;
#X connect 14 0 13 1;
#X connect 15 0 13 1;
#X connect 16 0 19 0;
#X connect 16 1 15 0;
#X connect 17 0 18 0;
#X connect 17 1 23 1;
#X connect 18 0 23 0;
#X connect 19 0 12 0;
#X connect 20 0 4 0;
#X connect 20 1 3 0;
#X connect 20 2 16 0;
#X connect 21 0 9 0;
#X connect 24 0 20 0;
#X restore 771 707 pd increasing;
#X obj 533 708 s num-down;
#X obj 162 298 poly 8 1, f 10;
#X obj 123 524 s others;
#N canvas 9 50 588 574 format_for_array 0;
#X obj 111 44 inlet;
#X obj 102 128 f;
#X obj 144 151 sel 0;
#X msg 121 188 0;
#X obj 167 181 t b b;
#X obj 137 126 f;
#X obj 79 268 t f b;
#X obj 75 336 pack 0 0;
#X obj 85 75 unpack 0 0 0;
#X obj 41 132 t b f;
#X obj 117 304 f;
#X obj 78 389 outlet;
#X obj 133 274 - 1;
#X text 169 280 array index starts at 0 \, poly index starts at 1;
#X text 223 150 if the velocity is > 0 \, outputs note number. If =
0 \, it outputs 0 for note number;
#X connect 0 0 8 0;
#X connect 1 0 6 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 3 0 6 0;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X connect 6 1 10 0;
#X connect 7 0 11 0;
#X connect 8 0 9 0;
#X connect 8 1 1 1;
#X connect 8 2 5 1;
#X connect 9 0 5 0;
#X connect 9 1 12 0;
#X connect 10 0 7 1;
#X connect 12 0 10 1;
#X restore 162 362 pd format_for_array;
#N canvas 7 50 1000 647 array-copy 0;
#X obj 228 194 until;
#X obj 228 236 f;
#X obj 261 237 + 1, f 4;
#X msg 286 174 0, f 2;
#X obj 227 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 406 272 until;
#X obj 406 314 f;
#X obj 439 315 + 1, f 4;
#X msg 464 252 0, f 2;
#X obj 406 217 t b b;
#X obj 414 339 t b f;
#X msg 405 364 0, f 2;
#X obj 227 121 t b b b;
#X msg 228 166 8, f 2;
#X msg 406 244 8, f 2;
#X text 324 97 this removes 0 elements (or actually just moves the
following elements over 1 place);
#X text 508 296 first zero out the destination array;
#X obj 228 258 t f f;
#X obj 227 75 r copy;
#X obj 408 385 tabwrite notes-squashed;
#X obj 229 297 tabread notes-from-poly;
#X obj 247 410 tabwrite notes-squashed;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 17 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 12 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 6 0 10 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 14 0;
#X connect 9 1 8 0;
#X connect 10 0 11 0;
#X connect 10 1 19 1;
#X connect 11 0 19 0;
#X connect 12 0 13 0;
#X connect 12 1 3 0;
#X connect 12 2 9 0;
#X connect 13 0 0 0;
#X connect 14 0 5 0;
#X connect 17 0 20 0;
#X connect 17 1 21 1;
#X connect 18 0 4 0;
#X connect 20 0 21 0;
#X restore 764 325 pd array-copy;
#X obj 265 524 s copy;
#X obj 123 614 loadbang;
#X text 1099 685 then increasing;
#X obj 397 524 tabwrite notes-from-poly;
#X text 774 822 then play them!;
#N canvas 439 50 1358 931 arp 0;
#X floatatom 575 267 5 0 0 0 - - -, f 5;
#N canvas 18 50 1242 820 double-double 0;
#X obj 410 225 r num-down;
#X obj 307 345 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 422 282 5 0 0 0 - - -, f 5;
#X obj 420 255 r num-down;
#X floatatom 484 494 5 0 0 0 - - -, f 5;
#X obj 306 623 + 0;
#X obj 485 513 * 12;
#X obj 298 304 spigot;
#X obj 268 79 r sixteenths;
#X obj 234 516 tabread notes-increasing;
#X obj 306 659 - 12;
#X obj 378 338 sel 0;
#X obj 396 437 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 422 301 t f f;
#X msg 506 462 0;
#X obj 247 467 % 1;
#X obj 255 394 counter-up 0;
#X obj 480 427 counter-up 2;
#X obj 782 179 r num-down;
#X obj 679 299 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 599 447 5 0 0 0 - - -, f 5;
#X floatatom 794 236 5 0 0 0 - - -, f 5;
#X obj 792 209 r num-down;
#X floatatom 856 448 5 0 0 0 - - -, f 5;
#X obj 678 577 + 0;
#X obj 857 467 * 12;
#X obj 670 258 spigot;
#X obj 606 470 tabread notes-increasing;
#X obj 671 636 - 12;
#X obj 750 292 sel 0;
#X obj 768 391 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 794 255 t f f;
#X msg 878 416 0;
#X obj 619 421 % 1;
#X obj 627 348 counter-up 0;
#X obj 852 385 counter-up 2;
#X obj 624 67 r eighths;
#X obj 487 756 outlet;
#X obj 327 176 spigot 0;
#X obj 592 158 spigot 0;
#X obj 459 91 inlet;
#X connect 0 0 7 1;
#X connect 1 0 16 0;
#X connect 2 0 13 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 8 0 38 0;
#X connect 9 0 5 0;
#X connect 10 0 37 0;
#X connect 11 0 14 0;
#X connect 11 0 16 1;
#X connect 11 0 17 1;
#X connect 12 0 17 0;
#X connect 13 0 11 0;
#X connect 13 0 15 1;
#X connect 13 1 16 2;
#X connect 14 0 4 0;
#X connect 15 0 9 0;
#X connect 16 0 15 0;
#X connect 16 1 12 0;
#X connect 17 0 4 0;
#X connect 18 0 26 1;
#X connect 19 0 34 0;
#X connect 20 0 27 0;
#X connect 21 0 31 0;
#X connect 22 0 21 0;
#X connect 23 0 25 0;
#X connect 24 0 28 0;
#X connect 25 0 24 1;
#X connect 26 0 19 0;
#X connect 27 0 24 0;
#X connect 28 0 37 0;
#X connect 29 0 32 0;
#X connect 29 0 34 1;
#X connect 29 0 35 1;
#X connect 30 0 35 0;
#X connect 31 0 29 0;
#X connect 31 0 33 1;
#X connect 31 1 34 2;
#X connect 32 0 23 0;
#X connect 33 0 20 0;
#X connect 34 0 33 0;
#X connect 34 1 30 0;
#X connect 35 0 23 0;
#X connect 36 0 39 0;
#X connect 38 0 7 0;
#X connect 39 0 26 0;
#X connect 40 0 38 1;
#X connect 40 0 39 1;
#X restore 907 679 pd double-double;
#N canvas 196 122 800 645 synth 0;
#X obj 229 516 throw~ outL;
#X obj 339 514 throw~ outR;
#X text 344 466 final gain adjustment;
#X obj 198 312 route 1 2 3 4 5 6, f 34;
#X obj 219 66 inlet;
#X obj 219 150 t b a, f 15;
#X obj 321 175 unpack 0 0;
#X obj 321 273 pack 0 0 0;
#X obj 219 209 counter-up 6;
#X obj 219 237 + 1;
#X text 404 176 there are no note offs \, so just go around;
#X obj 219 93 stripnote;
#X obj 219 121 pack 0 0;
#X obj 427 348 voice;
#X obj 272 348 voice;
#X obj 169 348 voice;
#X obj 323 348 voice;
#X obj 375 348 voice;
#X obj 222 348 voice;
#X obj 291 467 *~ 0.3;
#X connect 3 0 15 0;
#X connect 3 1 18 0;
#X connect 3 2 14 0;
#X connect 3 3 16 0;
#X connect 3 4 17 0;
#X connect 3 5 13 0;
#X connect 4 0 11 0;
#X connect 5 0 8 0;
#X connect 5 1 6 0;
#X connect 6 0 7 1;
#X connect 6 1 7 2;
#X connect 7 0 3 0;
#X connect 8 0 9 0;
#X connect 9 0 7 0;
#X connect 11 0 12 0;
#X connect 11 1 12 1;
#X connect 12 0 5 0;
#X connect 13 0 19 0;
#X connect 14 0 19 0;
#X connect 15 0 19 0;
#X connect 16 0 19 0;
#X connect 17 0 19 0;
#X connect 18 0 19 0;
#X connect 19 0 0 0;
#X connect 19 0 1 0;
#X restore 509 839 pd synth;
#X obj 577 756 pack 0 100;
#X obj 575 246 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144
-1 -1 3;
#X obj 533 326 sel 0 1 2 3 4 5 6 7, f 69;
#X obj 575 287 t f b;
#X msg 607 617 0;
#X msg 530 358 1;
#X msg 601 356 1;
#X msg 663 355 1;
#X msg 721 353 1;
#N canvas 21 50 1242 820 double-randoms 0;
#X obj 410 225 r num-down;
#X obj 307 345 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 422 282 5 0 0 0 - - -, f 5;
#X obj 420 255 r num-down;
#X floatatom 484 494 5 0 0 0 - - -, f 5;
#X obj 306 623 + 0;
#X obj 485 513 * 12;
#X obj 298 304 spigot;
#X obj 268 79 r sixteenths;
#X obj 234 516 tabread notes-increasing;
#X obj 306 659 - 12;
#X obj 378 338 sel 0;
#X obj 396 437 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 422 301 t f f;
#X msg 506 462 0;
#X obj 247 467 % 1;
#X obj 782 179 r num-down;
#X obj 679 299 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 599 447 5 0 0 0 - - -, f 5;
#X floatatom 794 236 5 0 0 0 - - -, f 5;
#X obj 792 209 r num-down;
#X floatatom 856 448 5 0 0 0 - - -, f 5;
#X obj 678 577 + 0;
#X obj 857 467 * 12;
#X obj 670 258 spigot;
#X obj 606 470 tabread notes-increasing;
#X obj 671 636 - 12;
#X obj 750 292 sel 0;
#X obj 768 391 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 794 255 t f f;
#X msg 878 416 0;
#X obj 619 421 % 1;
#X obj 627 348 counter-up 0;
#X obj 852 385 counter-up 2;
#X obj 624 67 r eighths;
#X obj 487 756 outlet;
#X obj 327 176 spigot 0;
#X obj 592 158 spigot 0;
#X obj 459 91 inlet;
#X obj 451 425 random 3;
#X obj 255 394 random;
#X connect 0 0 7 1;
#X connect 1 0 40 0;
#X connect 1 0 12 0;
#X connect 2 0 13 0;
#X connect 3 0 2 0;
#X connect 3 0 40 1;
#X connect 4 0 6 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 8 0 36 0;
#X connect 9 0 5 0;
#X connect 10 0 35 0;
#X connect 11 0 14 0;
#X connect 12 0 39 0;
#X connect 13 0 11 0;
#X connect 13 0 15 1;
#X connect 14 0 4 0;
#X connect 15 0 9 0;
#X connect 16 0 24 1;
#X connect 17 0 32 0;
#X connect 18 0 25 0;
#X connect 19 0 29 0;
#X connect 20 0 19 0;
#X connect 21 0 23 0;
#X connect 22 0 26 0;
#X connect 23 0 22 1;
#X connect 24 0 17 0;
#X connect 25 0 22 0;
#X connect 26 0 35 0;
#X connect 27 0 30 0;
#X connect 27 0 32 1;
#X connect 27 0 33 1;
#X connect 28 0 33 0;
#X connect 29 0 27 0;
#X connect 29 0 31 1;
#X connect 29 1 32 2;
#X connect 30 0 21 0;
#X connect 31 0 18 0;
#X connect 32 0 31 0;
#X connect 32 1 28 0;
#X connect 33 0 21 0;
#X connect 34 0 37 0;
#X connect 36 0 7 0;
#X connect 37 0 24 0;
#X connect 38 0 36 1;
#X connect 38 0 37 1;
#X connect 39 0 4 0;
#X connect 40 0 15 0;
#X restore 776 681 pd double-randoms;
#X obj 550 124 r knob2;
#X obj 550 146 * 8;
#X obj 550 168 i;
#X floatatom 550 212 5 0 0 0 - - -, f 5;
#X obj 642 159 loadbang;
#X msg 642 181 0;
#N canvas 20 50 1242 820 singleup4 0;
#X obj 410 225 r num-down;
#X obj 307 345 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 422 282 5 0 0 0 - - -, f 5;
#X obj 420 255 r num-down;
#X floatatom 484 494 5 0 0 0 - - -, f 5;
#X obj 306 623 + 0;
#X obj 485 513 * 12;
#X obj 298 304 spigot;
#X obj 268 79 r sixteenths;
#X obj 234 516 tabread notes-increasing;
#X obj 378 338 sel 0;
#X obj 396 437 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 422 301 t f f;
#X msg 506 462 0;
#X obj 247 467 % 1;
#X obj 255 394 counter-up 0;
#X obj 487 756 outlet;
#X obj 327 176 spigot 0;
#X obj 459 91 inlet;
#X obj 480 427 counter-up 4;
#X obj 307 659 - 24;
#X connect 0 0 7 1;
#X connect 1 0 15 0;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 20 0;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 8 0 17 0;
#X connect 9 0 5 0;
#X connect 10 0 13 0;
#X connect 10 0 15 1;
#X connect 10 0 19 1;
#X connect 11 0 19 0;
#X connect 12 0 10 0;
#X connect 12 0 14 1;
#X connect 12 1 15 2;
#X connect 13 0 4 0;
#X connect 14 0 9 0;
#X connect 15 0 14 0;
#X connect 15 1 11 0;
#X connect 17 0 7 0;
#X connect 18 0 17 1;
#X connect 19 0 4 0;
#X connect 20 0 16 0;
#X restore 560 683 pd singleup4;
#N canvas 17 50 1242 820 singledown4 0;
#X obj 410 225 r num-down;
#X obj 307 345 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 422 282 5 0 0 0 - - -, f 5;
#X obj 420 255 r num-down;
#X floatatom 484 494 5 0 0 0 - - -, f 5;
#X obj 306 623 + 0;
#X obj 485 513 * 12;
#X obj 298 304 spigot;
#X obj 268 79 r sixteenths;
#X obj 234 516 tabread notes-increasing;
#X obj 378 338 sel 0;
#X obj 396 437 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 422 301 t f f;
#X msg 506 462 0;
#X obj 247 467 % 1;
#X obj 624 67 r eighths;
#X obj 487 756 outlet;
#X obj 327 176 spigot 0;
#X obj 459 91 inlet;
#X obj 307 659 - 24;
#X obj 255 394 counter-down 0;
#X obj 480 427 counter-down 4;
#X connect 0 0 7 1;
#X connect 1 0 20 0;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 19 0;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 8 0 17 0;
#X connect 9 0 5 0;
#X connect 10 0 13 0;
#X connect 10 0 20 1;
#X connect 10 0 21 1;
#X connect 11 0 21 0;
#X connect 12 0 10 0;
#X connect 12 0 14 1;
#X connect 12 1 20 2;
#X connect 13 0 4 0;
#X connect 14 0 9 0;
#X connect 17 0 7 0;
#X connect 18 0 17 1;
#X connect 19 0 16 0;
#X connect 20 0 14 0;
#X connect 20 1 11 0;
#X connect 21 0 4 0;
#X restore 663 681 pd singledown4;
#X msg 803 355 1;
#X msg 861 355 1;
#X msg 909 355 1;
#X msg 964 355 1;
#N canvas 25 50 1242 820 singleup2 0;
#X obj 410 225 r num-down;
#X obj 307 345 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 422 282 5 0 0 0 - - -, f 5;
#X obj 420 255 r num-down;
#X floatatom 484 494 5 0 0 0 - - -, f 5;
#X obj 306 623 + 0;
#X obj 485 513 * 12;
#X obj 298 304 spigot;
#X obj 268 79 r sixteenths;
#X obj 234 516 tabread notes-increasing;
#X obj 378 338 sel 0;
#X obj 396 437 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 422 301 t f f;
#X msg 506 462 0;
#X obj 247 467 % 1;
#X obj 255 394 counter-up 0;
#X obj 487 756 outlet;
#X obj 327 176 spigot 0;
#X obj 459 91 inlet;
#X obj 307 659 - 24;
#X obj 480 427 counter-up 2;
#X connect 0 0 7 1;
#X connect 1 0 15 0;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 19 0;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 8 0 17 0;
#X connect 9 0 5 0;
#X connect 10 0 13 0;
#X connect 10 0 15 1;
#X connect 10 0 20 1;
#X connect 11 0 20 0;
#X connect 12 0 10 0;
#X connect 12 0 14 1;
#X connect 12 1 15 2;
#X connect 13 0 4 0;
#X connect 14 0 9 0;
#X connect 15 0 14 0;
#X connect 15 1 11 0;
#X connect 17 0 7 0;
#X connect 18 0 17 1;
#X connect 19 0 16 0;
#X connect 20 0 4 0;
#X restore 342 682 pd singleup2;
#N canvas 21 50 1242 820 singledown2 0;
#X obj 410 225 r num-down;
#X obj 271 348 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 422 282 5 0 0 0 - - -, f 5;
#X obj 420 255 r num-down;
#X floatatom 484 494 5 0 0 0 - - -, f 5;
#X obj 306 623 + 0;
#X obj 485 513 * 12;
#X obj 298 304 spigot;
#X obj 268 79 r sixteenths;
#X obj 234 516 tabread notes-increasing;
#X obj 378 338 sel 0;
#X obj 396 437 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 422 301 t f f;
#X msg 506 462 0;
#X obj 247 467 % 1;
#X obj 624 67 r eighths;
#X obj 487 756 outlet;
#X obj 327 176 spigot 0;
#X obj 459 91 inlet;
#X obj 307 659 - 24;
#X obj 255 394 counter-down 0;
#X obj 480 427 counter-down 2;
#X connect 0 0 7 1;
#X connect 1 0 20 0;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 19 0;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 8 0 17 0;
#X connect 9 0 5 0;
#X connect 10 0 13 0;
#X connect 10 0 20 1;
#X connect 10 0 21 1;
#X connect 11 0 21 0;
#X connect 12 0 10 0;
#X connect 12 0 14 1;
#X connect 12 1 20 2;
#X connect 13 0 4 0;
#X connect 14 0 9 0;
#X connect 17 0 7 0;
#X connect 18 0 17 1;
#X connect 19 0 16 0;
#X connect 20 0 14 0;
#X connect 20 1 11 0;
#X connect 21 0 4 0;
#X restore 444 681 pd singledown2;
#N canvas 28 50 1242 820 updown2 0;
#X obj 338 565 outlet;
#N canvas 32 50 1242 820 singleup2 0;
#X obj 410 225 r num-down;
#X obj 307 345 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 422 282 5 0 0 0 - - -, f 5;
#X obj 420 255 r num-down;
#X floatatom 484 494 5 0 0 0 - - -, f 5;
#X obj 306 623 + 0;
#X obj 485 513 * 12;
#X obj 298 304 spigot;
#X obj 234 516 tabread notes-increasing;
#X obj 378 338 sel 0;
#X obj 396 437 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 422 301 t f f;
#X msg 506 462 0;
#X obj 247 467 % 1;
#X obj 255 394 counter-up 0;
#X obj 487 756 outlet;
#X obj 307 659 - 24;
#X obj 480 427 counter-up 2;
#X obj 631 661 outlet;
#X obj 225 164 inlet;
#X connect 0 0 7 1;
#X connect 1 0 14 0;
#X connect 2 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 16 0;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 8 0 5 0;
#X connect 9 0 12 0;
#X connect 9 0 14 1;
#X connect 9 0 17 1;
#X connect 10 0 17 0;
#X connect 11 0 9 0;
#X connect 11 0 13 1;
#X connect 11 1 14 2;
#X connect 12 0 4 0;
#X connect 13 0 8 0;
#X connect 14 0 13 0;
#X connect 14 1 10 0;
#X connect 16 0 15 0;
#X connect 17 0 4 0;
#X connect 17 1 18 0;
#X connect 19 0 7 0;
#X restore 276 400 pd singleup2;
#X obj 242 54 r sixteenths;
#X obj 301 151 spigot 0;
#X obj 433 66 inlet;
#N canvas 24 50 1242 820 singledown2 0;
#X obj 410 225 r num-down;
#X obj 271 348 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 422 282 5 0 0 0 - - -, f 5;
#X obj 420 255 r num-down;
#X floatatom 484 494 5 0 0 0 - - -, f 5;
#X obj 306 623 + 0;
#X obj 485 513 * 12;
#X obj 298 304 spigot;
#X obj 234 516 tabread notes-increasing;
#X obj 378 338 sel 0;
#X obj 396 437 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 422 301 t f f;
#X msg 506 462 0;
#X obj 247 467 % 1;
#X obj 487 756 outlet;
#X obj 307 659 - 24;
#X obj 255 394 counter-down 0;
#X obj 480 427 counter-down 2;
#X obj 678 572 outlet;
#X obj 327 176 inlet;
#X connect 0 0 7 1;
#X connect 1 0 16 0;
#X connect 2 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 6 0;
#X connect 5 0 15 0;
#X connect 6 0 5 1;
#X connect 7 0 1 0;
#X connect 8 0 5 0;
#X connect 9 0 12 0;
#X connect 9 0 16 1;
#X connect 9 0 17 1;
#X connect 10 0 17 0;
#X connect 11 0 9 0;
#X connect 11 0 13 1;
#X connect 11 1 16 2;
#X connect 12 0 4 0;
#X connect 13 0 8 0;
#X connect 15 0 14 0;
#X connect 16 0 13 0;
#X connect 16 1 10 0;
#X connect 17 0 4 0;
#X connect 17 1 18 0;
#X connect 19 0 7 0;
#X restore 411 403 pd singledown2;
#X obj 462 194 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 463 133 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 463 153 ==;
#X obj 314 243 spigot 0;
#X obj 230 240 spigot 1;
#X obj 544 71 r num-down;
#X obj 544 93 sel 0;
#X msg 544 115 1;
#X connect 1 0 0 0;
#X connect 1 1 7 0;
#X connect 2 0 3 0;
#X connect 3 0 10 0;
#X connect 3 0 9 0;
#X connect 4 0 3 1;
#X connect 5 0 0 0;
#X connect 5 1 7 0;
#X connect 6 0 9 1;
#X connect 7 0 8 0;
#X connect 7 0 10 1;
#X connect 8 0 6 0;
#X connect 9 0 5 0;
#X connect 10 0 1 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 7 0;
#X restore 1032 679 pd updown2;
#X msg 333 397 \; screenLine2 2: Up 2 Octave \;;
#X msg 370 447 \; screenLine2 2: Down 2 Octave \;;
#X msg 417 495 \; screenLine2 2: Up 4 Octave \;;
#X msg 642 416 \; screenLine2 2: Down 4 Octave \;;
#X msg 666 458 \; screenLine2 2: Double Randoms \;;
#X msg 688 498 \; screenLine2 2: Double Double \;;
#X msg 978 465 \; screenLine2 2: All \;;
#X msg 953 419 \; screenLine2 2: Up Down \;;
#X text 28 13 Controls Arpeggiation;
#X text 515 96 Sets the Pattern;
#X obj 548 191 change -1;
#X obj 36 170 master-metronome;
#X obj 36 135 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 36 68 loadbang;
#X msg 36 100 1;
#X obj 145 84 r knob1;
#X obj 145 106 * 250;
#X obj 145 132 + 10;
#X obj 294 232 i;
#X obj 294 254 change -1;
#X obj 36 232 i;
#X obj 36 254 change -1;
#X msg 294 278 \; screenLine1 1: Tempo \$1 BPM \;;
#X msg 36 278 \; screenLine1 1: Tempo \$1 BPM MIDI \;;
#X obj 846 102 sig~;
#X obj 846 124 lop~ 5;
#X obj 846 80 r knob3;
#X obj 846 146 s~ knob3-smooth;
#X obj 779 176 i;
#X obj 779 198 change -1;
#X obj 778 148 * 100;
#X obj 779 259 s screenLine3;
#X msg 780 225 3: Tone \$1;
#X obj 1030 158 i;
#X obj 1030 180 change -1;
#X obj 1030 230 s screenLine4;
#X obj 1030 84 r knob4;
#X obj 1030 105 * 2000;
#X obj 1030 127 + 20;
#X msg 1030 207 4: Decay \$1 ms;
#X obj 658 864 noteout 2;
#X obj 1138 176 s decay;
#X obj 642 789 unpack 0 0;
#X obj 667 832 makenote 100 100;
#X obj 740 779 r decay;
#X text 814 829 send arp notes out ch 2;
#X connect 0 0 6 0;
#X connect 1 0 3 0;
#X connect 3 0 2 0;
#X connect 3 0 70 0;
#X connect 4 0 0 0;
#X connect 5 0 8 0;
#X connect 5 0 28 0;
#X connect 5 1 9 0;
#X connect 5 1 29 0;
#X connect 5 2 10 0;
#X connect 5 2 30 0;
#X connect 5 3 11 0;
#X connect 5 3 31 0;
#X connect 5 4 21 0;
#X connect 5 4 32 0;
#X connect 5 5 22 0;
#X connect 5 5 33 0;
#X connect 5 6 23 0;
#X connect 5 6 35 0;
#X connect 5 7 24 0;
#X connect 5 7 34 0;
#X connect 6 0 5 0;
#X connect 6 1 7 0;
#X connect 7 0 19 0;
#X connect 7 0 20 0;
#X connect 7 0 12 0;
#X connect 7 0 1 0;
#X connect 7 0 25 0;
#X connect 7 0 26 0;
#X connect 7 0 27 0;
#X connect 8 0 25 0;
#X connect 9 0 26 0;
#X connect 10 0 19 0;
#X connect 11 0 20 0;
#X connect 12 0 3 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 38 0;
#X connect 16 0 4 0;
#X connect 17 0 18 0;
#X connect 18 0 4 0;
#X connect 19 0 3 0;
#X connect 20 0 3 0;
#X connect 21 0 12 0;
#X connect 22 0 1 0;
#X connect 23 0 27 0;
#X connect 24 0 25 0;
#X connect 24 0 26 0;
#X connect 24 0 20 0;
#X connect 24 0 27 0;
#X connect 24 0 12 0;
#X connect 25 0 3 0;
#X connect 26 0 3 0;
#X connect 27 0 3 0;
#X connect 28 0 25 0;
#X connect 38 0 16 0;
#X connect 39 0 48 0;
#X connect 39 1 46 0;
#X connect 40 0 39 0;
#X connect 41 0 42 0;
#X connect 42 0 40 0;
#X connect 43 0 44 0;
#X connect 44 0 45 0;
#X connect 45 0 39 1;
#X connect 46 0 47 0;
#X connect 47 0 50 0;
#X connect 48 0 49 0;
#X connect 49 0 51 0;
#X connect 52 0 53 0;
#X connect 53 0 55 0;
#X connect 54 0 52 0;
#X connect 54 0 58 0;
#X connect 56 0 57 0;
#X connect 57 0 60 0;
#X connect 58 0 56 0;
#X connect 60 0 59 0;
#X connect 61 0 62 0;
#X connect 62 0 67 0;
#X connect 64 0 65 0;
#X connect 65 0 66 0;
#X connect 66 0 61 0;
#X connect 66 0 69 0;
#X connect 67 0 63 0;
#X connect 70 0 71 0;
#X connect 71 0 68 0;
#X connect 71 1 68 1;
#X connect 72 0 71 2;
#X restore 775 852 pd arp;
#X text 1112 322 array squash pulls out 0 notes. this array gets clobbered
by the sorting function so it always looks blank;
#X obj 162 443 t b b b b f, f 34;
#N canvas 1383 80 533 527 countnotes 0;
#X obj 104 289 > 0;
#X obj 104 316 sel 1;
#X obj 158 352 + 1, f 4;
#X obj 110 353 f 0;
#X obj 141 130 until;
#X obj 142 174 f;
#X obj 174 173 + 1, f 4;
#X msg 319 198 0, f 2;
#X msg 142 105 8, f 2;
#X obj 143 35 r countem;
#X obj 89 395 f 0;
#X obj 89 458 outlet;
#X obj 83 200 t f f;
#X obj 36 244 sel 7;
#X obj 30 313 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 201 422 print;
#X obj 106 234 tabread notes-from-poly;
#X obj 143 81 t b b;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 3 1;
#X connect 2 0 10 1;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 5 0 12 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 7 0 3 1;
#X connect 7 0 10 1;
#X connect 8 0 4 0;
#X connect 9 0 17 0;
#X connect 10 0 11 0;
#X connect 12 0 13 0;
#X connect 12 1 16 0;
#X connect 13 0 10 0;
#X connect 14 0 10 0;
#X connect 16 0 0 0;
#X connect 17 0 8 0;
#X connect 17 1 7 0;
#X restore 533 656 pd countnotes;
#X obj 769 677 r others;
#X obj 319 524 s countem;
#X obj 265 202 sel 1;
#X obj 265 158 r fs;
#X obj 314 172 r aux;
#X text 105 39 notes are put into an array and then sorted in increasing
/ decreasing order. the 'arp' subpatch then counts through the arrays
in various patterns;
#N canvas 288 96 886 799 latch 0;
#X obj 43 371 latch-notes;
#X obj 263 200 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 263 232 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 173 298 spigot 1;
#X obj 43 298 spigot 0;
#X obj 263 258 == 0;
#X obj 309 312 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 263 160 t b b, f 7;
#X obj 263 368 sel 0 1;
#X obj 263 134 inlet;
#X obj 43 626 outlet;
#X obj 43 106 inlet;
#X text 311 135 bang enable / disables latch;
#X text 44 53 incoming notes get sent through latch if enabled \, or
directly to output if disabled;
#X msg 286 458 \; screenLine5 Aux / FS: Latch OFF \;;
#X msg 263 579 \; screenLine5 Aux / FS: Latch ON \;;
#X text 323 367 Update Screen & LED;
#X msg 273 545 \; led 2;
#X msg 299 418 \; led 0;
#X connect 0 0 10 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 2 0 4 1;
#X connect 3 0 10 0;
#X connect 4 0 0 0;
#X connect 5 0 3 1;
#X connect 5 0 8 0;
#X connect 6 0 0 1;
#X connect 7 0 1 0;
#X connect 7 1 6 0;
#X connect 8 0 15 0;
#X connect 8 0 17 0;
#X connect 8 1 14 0;
#X connect 8 1 18 0;
#X connect 9 0 7 0;
#X connect 11 0 4 0;
#X connect 11 0 3 0;
#X restore 162 239 pd latch;
#X msg 123 645 \; screenLine1 1: Tempo \; screenLine2 2: Pattern \;
screenLine3 3: Tone \; screenLine4 4: Decay \; screenLine5 Aux / FS:
Latch OFF \;;
#X text 108 99 the arp notes are sent out ch 2 (because Organelle sends
key presses on ch 1 by default);
#X connect 0 0 34 0;
#X connect 1 0 15 0;
#X connect 1 1 15 1;
#X connect 2 0 17 0;
#X connect 4 0 26 0;
#X connect 4 1 22 1;
#X connect 11 0 14 0;
#X connect 15 0 2 0;
#X connect 15 1 2 1;
#X connect 15 2 2 2;
#X connect 17 0 4 0;
#X connect 20 0 35 0;
#X connect 26 0 16 0;
#X connect 26 1 7 0;
#X connect 26 2 19 0;
#X connect 26 3 29 0;
#X connect 26 4 22 0;
#X connect 27 0 11 0;
#X connect 28 0 13 0;
#X connect 30 0 34 1;
#X connect 31 0 30 0;
#X connect 32 0 30 0;
#X connect 34 0 1 0;
