aboutsummaryrefslogtreecommitdiff
path: root/s-arranger.pd
diff options
context:
space:
mode:
Diffstat (limited to 's-arranger.pd')
-rw-r--r--s-arranger.pd380
1 files changed, 380 insertions, 0 deletions
diff --git a/s-arranger.pd b/s-arranger.pd
new file mode 100644
index 0000000..3cb314e
--- /dev/null
+++ b/s-arranger.pd
@@ -0,0 +1,380 @@
+#N struct 1314cursor float x;
+#N canvas 0 16 999 675 10;
+#X text 6 627 template definition:;
+#X obj 72 205 bng 12 250 50 0 \$0new empty add_block 16 9 0 8 -260818
+-1 -1;
+#N canvas 134 279 506 489 1314data 0;
+#X scalar 1314cursor 0 \;;
+#X coords 0 -1 770 180 770 180 1;
+#X restore 19 22 pd \$0data;
+#X obj 19 205 bng 12 250 50 0 \$0clear empty clear 16 9 0 8 -260818
+-1 -1;
+#X text 8 40 1;
+#X text 8 50 2;
+#X text 8 60 3;
+#X text 8 70 4;
+#X text 8 30 0;
+#X text 8 80 5;
+#X text 8 90 6;
+#X text 8 100 7;
+#X text 8 110 8;
+#X text 8 120 9;
+#X text 8 130 A;
+#X text 8 140 B;
+#X text 8 150 C;
+#X text 8 160 D;
+#X text 8 170 E;
+#X text 8 180 F;
+#N canvas 67 68 640 606 1314lines 0;
+#X obj 7 7 struct \$0lines float x;
+#X obj 423 397 pointer;
+#X obj 316 174 t b b;
+#X obj 346 196 \$0;
+#X obj 346 218 makefilename pd-%ddata;
+#X msg 423 374 traverse \$1 \, bang;
+#X msg 529 218 \; \$1 clear \;;
+#X obj 529 174 \$0;
+#X obj 529 196 makefilename pd-%ddata;
+#X text 527 151 clear the data;
+#X obj 294 78 loadbang;
+#X obj 316 333 until;
+#X obj 316 354 f;
+#X obj 347 354 + 1;
+#X obj 316 266 t b b;
+#X obj 346 288 0;
+#X obj 316 423 append \$0lines x;
+#X obj 358 78 r \$0clear;
+#X obj 7 27 drawpolygon 333 1 8 11 8 170;
+#X obj 153 263 pointer;
+#X obj 39 168 t b b;
+#X obj 69 190 \$0;
+#X obj 69 212 makefilename pd-%ddata;
+#X msg 153 240 traverse \$1 \, bang;
+#X obj 39 286 append \$0cursor x;
+#X msg 39 241 0;
+#X text 36 134 create the cursor;
+#X obj 294 117 t b b b;
+#X text 320 155 create the lines;
+#X obj 316 288 \$2;
+#X obj 316 310 / \$3;
+#X obj 316 376 * 3;
+#X obj 316 397 * \$3;
+#X obj 39 309 s \$0cursorp;
+#X connect 1 0 16 1;
+#X connect 2 0 14 0;
+#X connect 2 1 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 10 0 27 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 0 31 0;
+#X connect 13 0 12 1;
+#X connect 14 0 29 0;
+#X connect 14 1 15 0;
+#X connect 15 0 12 1;
+#X connect 17 0 27 0;
+#X connect 19 0 24 1;
+#X connect 20 0 25 0;
+#X connect 20 1 21 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 23 0 19 0;
+#X connect 24 0 33 0;
+#X connect 25 0 24 0;
+#X connect 27 0 20 0;
+#X connect 27 1 2 0;
+#X connect 27 2 7 0;
+#X connect 29 0 30 0;
+#X connect 30 0 11 0;
+#X connect 31 0 32 0;
+#X connect 32 0 16 0;
+#X restore 79 647 pd \$0lines;
+#N canvas 382 73 583 576 1314rect 0;
+#X obj 126 529 pointer;
+#X obj 12 433 t b b;
+#X text 438 55 main bar;
+#X text 438 93 end: red;
+#X text 439 129 begin: black;
+#X obj 12 410 r \$0new;
+#X obj 42 455 \$0;
+#X obj 42 477 makefilename pd-%ddata;
+#X msg 126 506 traverse \$1 \, bang;
+#X obj 285 412 r \$0clear;
+#X msg 285 479 \; \$1 clear \;;
+#X obj 285 435 \$0;
+#X obj 285 457 makefilename pd-%ddata;
+#X text 284 393 clear the data;
+#X text 10 393 create a new block;
+#X obj 7 9 struct \$0rect float x float y float w float x0 float y0
+float t;
+#X obj 12 559 append \$0rect x y w t;
+#X msg 12 535 10 10 20 1;
+#X obj 7 42 filledpolygon 777 0 1 x0(0:300)(0:900)(1) y0(0:15)(0:150)(1)
+w(0:300)(0:900)(1) y0(0:15)(0:150)(1) w(0:300)(0:900)(1) y0(0:15)(10:160)(1)
+x0(0:300)(0:900)(1) y0(0:15)(10:160)(1);
+#X obj 7 101 drawpolygon 900 5 w(0:300)(0:900)(1) y0(0:15)(0:150)(1)
+w(0:300)(0:900)(1) y0(0:15)(11:161)(1);
+#X obj 7 134 drawpolygon 0 5 x0(0:300)(0:900)(1) y0(0:15)(0:150)(1)
+x0(0:300)(0:900)(1) y0(0:15)(11:161)(1);
+#X obj 7 167 drawnumber t(0:20)(0:20) x0(0:300)(10:910)(1) y0(0:15)(0:150)(1)
+;
+#X connect 0 0 16 4;
+#X connect 1 0 17 0;
+#X connect 1 1 6 0;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 9 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 10 0;
+#X connect 17 0 16 0;
+#X restore 8 647 pd \$0rect;
+#N canvas 67 68 640 606 1314cursor 0;
+#X obj 7 27 drawpolygon 900 1 8 11 8 170;
+#X obj 7 7 struct \$0cursor float x;
+#X restore 157 647 pd \$0cursor;
+#X obj 4 256 inlet;
+#X obj 373 647 namecanvas \$0arranger;
+#N canvas 43 35 764 635 setup 0;
+#X obj 109 326 pack f s;
+#X obj 160 280 \$0;
+#X obj 109 256 t f b;
+#X msg 109 349 \; \$2 obj 20 23 cnv 15 \$1 178 empty empty empty 20
+12 0 14 -260818 -66577 0 \;;
+#X obj 160 303 makefilename %darranger;
+#X obj 131 187 pack f s;
+#X obj 182 140 \$0;
+#X obj 131 117 t f b;
+#X obj 182 163 makefilename pd-%ddata;
+#X msg 131 212 \; \$2 donecanvasdialog 1 -1 1 0 -1 \$1 180 \$1 180
+25 40;
+#X obj 131 93 + 2;
+#X obj 87 71 t f f f;
+#X obj 87 427 pack f s;
+#X msg 87 450 \; \$2 donecanvasdialog 1 -1 1 0 -1 \$1 220 \$1 220 0
+0;
+#X obj 87 25 s-default \$2 256;
+#X obj 87 47 * 3;
+#X obj 87 402 + 28;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 4 0 0 1;
+#X connect 4 0 12 1;
+#X connect 5 0 9 0;
+#X connect 6 0 8 0;
+#X connect 7 0 5 0;
+#X connect 7 1 6 0;
+#X connect 8 0 5 1;
+#X connect 10 0 7 0;
+#X connect 11 0 16 0;
+#X connect 11 1 2 0;
+#X connect 11 2 10 0;
+#X connect 12 0 13 0;
+#X connect 14 0 15 0;
+#X connect 15 0 11 0;
+#X connect 16 0 12 0;
+#X restore 7 601 pd setup;
+#X text 2 223 args: [name] [length] [bars per section] [ticker name]
+[ticks per bar];
+#X obj 47 256 r \$4;
+#X obj 4 379 int;
+#X obj 4 401 change;
+#X obj 4 356 /;
+#X obj 141 508 r \$0cursorp;
+#X obj 97 531 pointer;
+#X obj 4 554 set \$0cursor x;
+#X obj 4 514 * 3;
+#X obj 20 335 s-default \$5 \$3;
+#N canvas 485 99 507 438 save 0;
+#X obj 176 16 r SSSAD_SAVE;
+#X obj 214 199 until;
+#X obj 172 338 list prepend;
+#X obj 265 338 t l;
+#X obj 149 367 list;
+#X obj 176 41 t b b b b;
+#X msg 214 112 traverse \$1 \, next;
+#X obj 214 68 \$0;
+#X obj 214 91 makefilename pd-%ddata;
+#X obj 7 415 outlet;
+#X obj 214 135 pointer \$0rect;
+#X obj 274 260 get \$0rect w x0 y0 t;
+#X obj 274 290 pack f f f f;
+#X msg 294 186 next;
+#X obj 7 394 sssad/sssad \$1/blocks;
+#X obj 214 160 t b p;
+#X connect 0 0 5 0;
+#X connect 1 0 13 0;
+#X connect 2 0 3 0;
+#X connect 2 0 4 1;
+#X connect 3 0 2 1;
+#X connect 4 0 14 1;
+#X connect 5 0 4 0;
+#X connect 5 2 7 0;
+#X connect 5 3 2 1;
+#X connect 6 0 10 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 10 0 15 0;
+#X connect 10 2 1 1;
+#X connect 11 0 12 0;
+#X connect 11 1 12 1;
+#X connect 11 2 12 2;
+#X connect 11 3 12 3;
+#X connect 12 0 2 0;
+#X connect 13 0 10 0;
+#X connect 14 0 9 0;
+#X connect 15 0 1 0;
+#X connect 15 1 11 0;
+#X restore 278 623 pd save;
+#N canvas 64 35 650 643 load 0;
+#X obj 21 6 inlet;
+#X obj 21 65 until;
+#X obj 21 103 list append;
+#X obj 120 148 bang;
+#X obj 205 202 \$0;
+#X obj 205 225 makefilename pd-%ddata;
+#X obj 21 32 t b l b b;
+#X obj 21 148 list split 4;
+#X obj 152 78 \$0;
+#X msg 205 246 traverse \$1 \, bang;
+#X obj 205 269 pointer;
+#X obj 21 381 append \$0rect w x0 y0 t x y;
+#X msg 127 292 10;
+#X obj 21 186 t l b;
+#X obj 21 292 unpack f f f f;
+#X msg 152 99 \; \$1clear bang \;;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 7 0;
+#X connect 3 0 1 1;
+#X connect 4 0 5 0;
+#X connect 5 0 9 0;
+#X connect 6 0 1 0;
+#X connect 6 1 2 1;
+#X connect 6 2 4 0;
+#X connect 6 3 8 0;
+#X connect 7 0 13 0;
+#X connect 7 1 2 1;
+#X connect 7 2 3 0;
+#X connect 8 0 15 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 6;
+#X connect 12 0 11 5;
+#X connect 12 0 11 4;
+#X connect 13 0 14 0;
+#X connect 13 1 12 0;
+#X connect 14 0 11 0;
+#X connect 14 1 11 1;
+#X connect 14 2 11 2;
+#X connect 14 3 11 3;
+#X restore 278 647 pd load;
+#X obj 4 448 t f b f;
+#N canvas 274 37 621 620 lookup 0;
+#X obj 12 7 inlet;
+#X obj 69 539 outlet;
+#X obj 74 274 until;
+#X msg 74 187 traverse \$1 \, next;
+#X obj 74 143 \$0;
+#X obj 74 166 makefilename pd-%ddata;
+#X obj 74 210 pointer \$0rect;
+#X obj 115 302 get \$0rect w x0 y0 t;
+#X msg 162 262 next;
+#X obj 74 235 t b p;
+#X obj 349 189 f;
+#X obj 294 374 &&;
+#X obj 294 398 select 1;
+#X obj 294 347 >=;
+#X obj 364 346 <=;
+#X obj 198 572 tabwrite \$0vals;
+#X text 409 6 Temporary storage for values;
+#X obj 412 28 table \$0vals 16;
+#X obj 104 105 \$0;
+#X msg 104 130 \; \$1vals const 0 \;;
+#X obj 55 51 t b b b f;
+#X obj 69 397 until;
+#X obj 99 475 tabread \$0vals;
+#X msg 69 375 16;
+#X msg 99 375 0;
+#X obj 69 419 f;
+#X obj 97 419 + 1;
+#X obj 55 337 t b b b;
+#X obj 230 445 pack f f;
+#X obj 207 475 list;
+#X obj 207 500 unpack f f;
+#X obj 224 548 f;
+#X obj 207 522 t b f;
+#X obj 69 448 t f f;
+#X obj 69 507 pack f f;
+#X connect 0 0 20 0;
+#X connect 2 0 8 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 6 0 9 0;
+#X connect 6 2 2 1;
+#X connect 7 0 13 0;
+#X connect 7 1 14 0;
+#X connect 7 2 28 0;
+#X connect 7 3 28 1;
+#X connect 8 0 6 0;
+#X connect 9 0 2 0;
+#X connect 9 1 7 0;
+#X connect 10 0 13 1;
+#X connect 10 0 14 1;
+#X connect 11 0 12 0;
+#X connect 12 0 29 0;
+#X connect 13 0 11 0;
+#X connect 14 0 11 1;
+#X connect 18 0 19 0;
+#X connect 20 0 27 0;
+#X connect 20 1 4 0;
+#X connect 20 2 18 0;
+#X connect 20 3 10 0;
+#X connect 21 0 25 0;
+#X connect 22 0 34 1;
+#X connect 23 0 21 0;
+#X connect 24 0 25 1;
+#X connect 25 0 26 0;
+#X connect 25 0 33 0;
+#X connect 26 0 25 1;
+#X connect 27 1 23 0;
+#X connect 27 2 24 0;
+#X connect 28 0 29 1;
+#X connect 29 0 30 0;
+#X connect 30 0 32 0;
+#X connect 30 1 31 1;
+#X connect 31 0 15 0;
+#X connect 32 0 31 0;
+#X connect 32 1 15 1;
+#X connect 33 0 34 0;
+#X connect 33 1 22 0;
+#X connect 34 0 1 0;
+#X restore 228 484 pd lookup;
+#X obj 228 508 outlet;
+#X obj 4 424 mod \$2;
+#X text 694 653 inspired by FB's quantized sequencer demo!;
+#X obj 279 508 s \$1/values;
+#X connect 23 0 30 0;
+#X connect 27 0 30 0;
+#X connect 28 0 29 0;
+#X connect 29 0 41 0;
+#X connect 30 0 28 0;
+#X connect 31 0 32 1;
+#X connect 32 0 33 1;
+#X connect 34 0 33 0;
+#X connect 35 0 30 1;
+#X connect 36 0 37 0;
+#X connect 38 0 34 0;
+#X connect 38 1 32 0;
+#X connect 38 2 39 0;
+#X connect 39 0 40 0;
+#X connect 39 0 43 0;
+#X connect 41 0 38 0;
+#X coords 0 -1 796 220 796 220 1 0 0;