aboutsummaryrefslogtreecommitdiff
path: root/s-nadsr~.pd
diff options
context:
space:
mode:
Diffstat (limited to 's-nadsr~.pd')
-rw-r--r--s-nadsr~.pd551
1 files changed, 551 insertions, 0 deletions
diff --git a/s-nadsr~.pd b/s-nadsr~.pd
new file mode 100644
index 0000000..8eff47c
--- /dev/null
+++ b/s-nadsr~.pd
@@ -0,0 +1,551 @@
+#N struct 1560template float x float y array 1560arrayvals 1560arraytemplate
+;
+#N struct 1560arraytemplate float x float y;
+#N struct 1560template-marker float pos;
+#N canvas 266 17 721 668 10;
+#N canvas 0 16 1001 677 1560data 0;
+#X scalar 1560template 0 0 \; 3 3 \; \;;
+#X coords 0 0 198 86 198 86 1;
+#X restore 4 18 pd \$0data;
+#N canvas 49 352 599 314 1560template 0;
+#X obj 17 51 struct \$0template float x float y array \$0arrayvals
+\$0arraytemplate;
+#X obj 17 86 outlet;
+#X obj 17 17 plot -x x(3:195)(3:195) -y y(3:83)(3:83) \$0arrayvals
+333 1 0 0 0;
+#X connect 0 0 1 0;
+#X restore 236 36 pd \$0template;
+#N canvas 435 201 450 300 1560arraytemplate 0;
+#X obj 24 43 struct \$0arraytemplate float x float y;
+#X obj 24 87 filledpolygon 333 333 1 -2 -2 2 -2 2 2 -2 2 -2 -2;
+#X obj 24 65 print;
+#X connect 0 0 2 0;
+#X restore 236 13 pd \$0arraytemplate;
+#N canvas 55 191 881 464 initarray 0;
+#X obj 163 211 pointer;
+#X msg 133 47 bang;
+#X text 186 35 click here to re-initialize;
+#X obj 163 96 \$0;
+#X msg 163 188 traverse \$1 \, bang;
+#X obj 163 119 makefilename pd-%ddata;
+#X obj 35 251 append \$0template x;
+#X msg 35 219 0;
+#X obj 133 12 loadbang;
+#X obj 68 114 outlet;
+#X obj 163 140 t s s;
+#X msg 300 176 \; \$1 clear \;;
+#X obj 601 134 \$0;
+#X obj 601 178 t s s;
+#X msg 631 202 \; \$1 clear \;;
+#X obj 133 72 t b b b b;
+#X obj 601 157 makefilename pd-%ddata-marker;
+#X obj 601 262 pointer;
+#X msg 601 239 traverse \$1 \, bang;
+#X msg 410 254 0;
+#X obj 571 113 t b b;
+#X text 515 88 Initialise the marker;
+#X obj 410 286 append \$0template-marker pos;
+#X connect 0 0 6 1;
+#X connect 1 0 15 0;
+#X connect 3 0 5 0;
+#X connect 4 0 0 0;
+#X connect 5 0 10 0;
+#X connect 7 0 6 0;
+#X connect 8 0 1 0;
+#X connect 10 0 4 0;
+#X connect 10 1 11 0;
+#X connect 12 0 16 0;
+#X connect 13 0 18 0;
+#X connect 13 1 14 0;
+#X connect 15 0 9 0;
+#X connect 15 1 7 0;
+#X connect 15 2 3 0;
+#X connect 15 3 20 0;
+#X connect 16 0 13 0;
+#X connect 17 0 22 1;
+#X connect 18 0 17 0;
+#X connect 19 0 22 0;
+#X connect 20 0 19 0;
+#X connect 20 1 12 0;
+#X restore 415 174 pd initarray;
+#X obj 236 58 print;
+#X obj 415 316 pointer;
+#X obj 453 387 setsize \$0template \$0arrayvals;
+#X msg 415 293 traverse \$1 \, next;
+#X obj 415 249 \$0;
+#X obj 415 272 makefilename pd-%ddata;
+#X msg 415 198 bang;
+#X obj 415 225 delay 10;
+#X obj 9 248 inlet;
+#X obj 357 592 outlet~;
+#X obj 415 543 t p p;
+#X obj 453 363 1;
+#N canvas 188 19 774 666 envgen 0;
+#X obj 102 279 element \$0template \$0arrayvals;
+#X obj 102 322 get \$0arraytemplate x y;
+#X obj 102 580 f;
+#X obj 102 560 t b f;
+#X obj 102 372 - 3;
+#X obj 102 464 t f f;
+#X obj 102 514 -;
+#X obj 242 471 expr 1 - $f1;
+#X obj 131 183 getsize \$0template \$0arrayvals;
+#X obj 307 254 inlet;
+#X obj 102 646 outlet~;
+#X obj 131 161 pointer;
+#X msg 131 138 traverse \$1 \, next;
+#X obj 131 94 \$0;
+#X obj 131 117 makefilename pd-%ddata;
+#X obj 242 421 - 3;
+#X obj 357 366 set \$0arraytemplate x y;
+#X text 473 334 redraw;
+#X obj 102 300 t p p;
+#X obj 242 449 / 80;
+#X obj 102 392 / 192;
+#X obj 118 412 r \$0/length;
+#X obj 102 433 * 1;
+#X obj 102 624 vline~;
+#X obj 102 602 pack f f f;
+#X obj 131 204 until;
+#X obj 136 233 + 1;
+#X obj 102 233 f;
+#X msg 102 94 0;
+#X obj 258 495 r \$0/height;
+#X obj 242 516 * 1;
+#N canvas 448 209 450 300 1560markerdraw 0;
+#X obj 6 9 inlet;
+#X obj 6 102 pointer;
+#X msg 6 79 traverse \$1 \, next;
+#X obj 6 35 \$0;
+#X obj 6 58 makefilename pd-%ddata-marker;
+#X obj 6 144 get \$0template-marker pos;
+#X obj 6 169 set \$0template-marker pos;
+#X obj 6 123 t p p;
+#X connect 0 0 3 0;
+#X connect 1 0 7 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 6 0;
+#X connect 7 0 5 0;
+#X connect 7 1 6 1;
+#X restore 132 48 pd \$0markerdraw;
+#X obj 102 27 t b b;
+#N canvas 0 0 450 300 1560getpos 0;
+#X obj 52 104 pointer;
+#X msg 52 81 traverse \$1 \, next;
+#X obj 52 37 \$0;
+#X obj 52 60 makefilename pd-%ddata-marker;
+#X obj 52 125 get \$0template-marker pos;
+#X obj 52 14 inlet;
+#X obj 52 147 outlet;
+#X connect 0 0 4 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 6 0;
+#X connect 5 0 2 0;
+#X restore 412 506 pd \$0getpos;
+#X obj 412 464 r \$0/startend;
+#X obj 102 6 r \$0/go;
+#X obj 412 527 s \$0/start;
+#X text 411 441 Calculate where the section should start from;
+#X msg 156 446 0;
+#N canvas 150 277 660 333 1560filtermarker 0;
+#X obj 6 4 inlet;
+#X obj 6 279 outlet;
+#X obj 6 74 moses;
+#X obj 36 52 r \$0/start;
+#X obj 6 124 spigot;
+#X obj 60 165 -;
+#X obj 60 124 spigot;
+#X obj 396 277 outlet;
+#X obj 6 219 t f b;
+#X obj 97 75 r \$0/startend;
+#X obj 76 145 r \$0/start;
+#X obj 97 101 expr 1 - $f1;
+#X obj 460 8 inlet before;
+#X obj 396 256 f;
+#N canvas 208 0 779 669 find-marker 0;
+#X obj 7 7 inlet;
+#X obj 668 7 inlet;
+#X obj 643 642 outlet;
+#X obj 6 648 outlet;
+#X obj 42 160 f;
+#X obj 304 12 inlet;
+#X msg 304 33 0;
+#X obj 58 211 r \$0/start;
+#X obj 21 106 t f f b;
+#X obj 37 259 r \$0/start;
+#X obj 46 324 &&;
+#X obj 46 350 sel 1;
+#X obj 92 351 r \$0/start;
+#X obj 71 421 f;
+#X obj 631 81 t f f b;
+#X obj 642 127 f;
+#X obj 42 232 <;
+#X obj 21 281 >=;
+#X obj 59 491 t f b;
+#X obj 248 343 -;
+#X obj 492 247 -;
+#X obj 481 556 *;
+#X obj 494 581 +;
+#X obj 180 484 -;
+#X obj 42 182 t f f f;
+#X obj 21 126 t f f f;
+#X obj 228 505 /;
+#X obj 479 607 f;
+#X obj 83 446 t f f f;
+#X connect 0 0 8 0;
+#X connect 1 0 14 0;
+#X connect 4 0 24 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 1;
+#X connect 6 0 15 1;
+#X connect 7 0 16 1;
+#X connect 8 0 25 0;
+#X connect 8 1 4 1;
+#X connect 8 2 4 0;
+#X connect 9 0 17 1;
+#X connect 10 0 11 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 1;
+#X connect 13 0 28 0;
+#X connect 14 0 20 0;
+#X connect 14 1 15 1;
+#X connect 14 2 15 0;
+#X connect 15 0 20 1;
+#X connect 15 0 22 1;
+#X connect 16 0 10 1;
+#X connect 17 0 10 0;
+#X connect 18 0 3 0;
+#X connect 18 1 27 0;
+#X connect 19 0 26 1;
+#X connect 20 0 21 1;
+#X connect 21 0 22 0;
+#X connect 22 0 27 1;
+#X connect 23 0 26 0;
+#X connect 24 0 16 0;
+#X connect 24 1 23 1;
+#X connect 24 2 19 1;
+#X connect 25 0 17 0;
+#X connect 25 1 19 0;
+#X connect 26 0 21 0;
+#X connect 27 0 2 0;
+#X connect 28 0 18 0;
+#X connect 28 1 23 0;
+#X restore 262 80 pd find-marker;
+#X obj 275 13 inlet reset;
+#X obj 6 27 t f f;
+#X obj 438 48 t f f;
+#X obj 60 188 + 3;
+#X obj 217 156 spigot;
+#X obj 271 197 -;
+#X obj 271 156 spigot;
+#X obj 217 251 t f b;
+#X obj 308 107 r \$0/startend;
+#X obj 287 177 r \$0/start;
+#X obj 308 133 expr 1 - $f1;
+#X obj 271 220 + 3;
+#X obj 248 272 f;
+#X connect 0 0 16 0;
+#X connect 2 0 4 0;
+#X connect 2 1 6 0;
+#X connect 3 0 2 1;
+#X connect 4 0 8 0;
+#X connect 5 0 18 0;
+#X connect 6 0 5 0;
+#X connect 8 0 1 0;
+#X connect 8 1 13 0;
+#X connect 9 0 11 0;
+#X connect 9 0 4 1;
+#X connect 10 0 5 1;
+#X connect 11 0 6 1;
+#X connect 12 0 17 0;
+#X connect 13 0 7 0;
+#X connect 14 0 19 0;
+#X connect 14 0 21 0;
+#X connect 14 1 27 1;
+#X connect 15 0 14 1;
+#X connect 16 0 2 0;
+#X connect 16 1 14 0;
+#X connect 17 0 14 2;
+#X connect 17 1 13 1;
+#X connect 18 0 8 0;
+#X connect 19 0 22 0;
+#X connect 20 0 26 0;
+#X connect 21 0 20 0;
+#X connect 22 0 1 0;
+#X connect 22 1 27 0;
+#X connect 23 0 25 0;
+#X connect 23 0 19 1;
+#X connect 24 0 20 1;
+#X connect 25 0 21 1;
+#X connect 26 0 22 0;
+#X connect 27 0 7 0;
+#X restore 102 348 pd \$0filtermarker;
+#X msg 412 485 bang;
+#X obj 102 68 t b b b b b;
+#X obj 147 516 f;
+#X obj 132 485 t f f b;
+#X connect 0 0 18 0;
+#X connect 1 0 16 0;
+#X connect 1 0 39 0;
+#X connect 1 1 16 1;
+#X connect 1 1 39 2;
+#X connect 2 0 24 0;
+#X connect 3 0 2 0;
+#X connect 3 1 24 1;
+#X connect 4 0 20 0;
+#X connect 5 0 6 1;
+#X connect 5 1 43 0;
+#X connect 6 0 3 0;
+#X connect 7 0 30 0;
+#X connect 8 0 25 0;
+#X connect 9 0 0 1;
+#X connect 11 0 8 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 15 0 19 0;
+#X connect 18 0 1 0;
+#X connect 18 1 16 2;
+#X connect 19 0 7 0;
+#X connect 20 0 22 0;
+#X connect 21 0 22 1;
+#X connect 22 0 5 0;
+#X connect 23 0 10 0;
+#X connect 24 0 23 0;
+#X connect 25 0 27 0;
+#X connect 26 0 27 1;
+#X connect 27 0 26 0;
+#X connect 27 0 0 0;
+#X connect 28 0 27 1;
+#X connect 29 0 30 1;
+#X connect 30 0 2 1;
+#X connect 32 0 41 0;
+#X connect 32 1 31 0;
+#X connect 33 0 36 0;
+#X connect 34 0 40 0;
+#X connect 35 0 32 0;
+#X connect 38 0 6 1;
+#X connect 38 0 42 1;
+#X connect 39 0 4 0;
+#X connect 39 1 15 0;
+#X connect 40 0 33 0;
+#X connect 41 1 13 0;
+#X connect 41 2 28 0;
+#X connect 41 3 38 0;
+#X connect 41 4 39 1;
+#X connect 42 0 24 2;
+#X connect 43 0 6 0;
+#X connect 43 1 42 1;
+#X connect 43 2 42 0;
+#X restore 357 568 pd envgen;
+#X obj 306 490 set \$0arraytemplate x y;
+#X obj 462 462 element \$0template \$0arrayvals;
+#X msg 384 463 3;
+#X msg 306 464 3;
+#X obj 434 416 t b b b p;
+#X msg 462 440 0;
+#X obj 415 340 t p p b p;
+#N canvas 212 221 696 446 save 0;
+#X obj 57 11 r SSSAD_SAVE;
+#X obj 74 239 element \$0template \$0arrayvals;
+#X obj 74 260 get \$0arraytemplate x y;
+#X obj 74 217 f;
+#X obj 102 217 + 1;
+#X obj 74 286 list append;
+#X obj 74 194 until;
+#X msg 111 172 0;
+#X obj 53 333 list prepend;
+#X obj 146 333 t l;
+#X obj 30 362 list;
+#X obj 57 36 t b b b b;
+#X obj 279 217 inlet;
+#X obj 72 127 pointer;
+#X msg 72 104 traverse \$1 \, next;
+#X obj 72 60 \$0;
+#X obj 72 83 makefilename pd-%ddata;
+#X obj 72 148 getsize \$0template \$0arrayvals;
+#X obj 7 415 outlet;
+#X obj 7 394 sssad/sssad \$1/envelope;
+#X obj 410 223 sssad/sssad \$1/pos;
+#X obj 410 243 outlet;
+#X obj 531 202 list;
+#X obj 400 111 pointer;
+#X msg 400 88 traverse \$1 \, next;
+#X obj 400 44 \$0;
+#X obj 400 67 makefilename pd-%ddata-marker;
+#X obj 400 132 get \$0template-marker pos;
+#X obj 400 22 r SSSAD_SAVE;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 5 1;
+#X connect 3 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 8 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 1;
+#X connect 8 0 9 0;
+#X connect 8 0 10 1;
+#X connect 9 0 8 1;
+#X connect 10 0 19 1;
+#X connect 11 0 10 0;
+#X connect 11 1 15 0;
+#X connect 11 2 7 0;
+#X connect 11 3 8 1;
+#X connect 12 0 1 1;
+#X connect 13 0 17 0;
+#X connect 14 0 13 0;
+#X connect 15 0 16 0;
+#X connect 16 0 14 0;
+#X connect 17 0 6 0;
+#X connect 19 0 18 0;
+#X connect 20 0 21 0;
+#X connect 22 0 20 1;
+#X connect 23 0 27 0;
+#X connect 24 0 23 0;
+#X connect 25 0 26 0;
+#X connect 26 0 24 0;
+#X connect 27 0 22 0;
+#X connect 28 0 25 0;
+#X restore 445 568 pd save;
+#N canvas 64 35 912 649 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 21 148 list split 2;
+#X obj 21 229 list split 1;
+#X obj 361 235 pointer;
+#X obj 156 305 setsize \$0template \$0arrayvals;
+#X msg 361 212 traverse \$1 \, next;
+#X obj 361 168 \$0;
+#X obj 361 191 makefilename pd-%ddata;
+#X msg 172 126 0;
+#X obj 156 232 f;
+#X obj 185 232 + 1;
+#X obj 49 174 t l b;
+#X obj 21 32 t b l b b;
+#X obj 183 342 element \$0template \$0arrayvals;
+#X obj 27 389 set \$0arraytemplate x y;
+#X obj 156 258 t f f;
+#X obj 186 281 + 1;
+#X obj 629 10 inlet;
+#X obj 659 121 pointer;
+#X msg 659 98 traverse \$1 \, next;
+#X obj 659 54 \$0;
+#X obj 629 31 t f b;
+#X obj 659 77 makefilename pd-%ddata-marker;
+#X obj 629 168 set \$0template-marker pos;
+#X connect 0 0 15 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 1;
+#X connect 4 0 14 0;
+#X connect 4 1 2 1;
+#X connect 4 2 3 0;
+#X connect 5 0 17 0;
+#X connect 5 1 17 1;
+#X connect 6 0 7 1;
+#X connect 6 0 16 1;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 12 1;
+#X connect 12 0 13 0;
+#X connect 12 0 18 0;
+#X connect 13 0 12 1;
+#X connect 14 0 5 0;
+#X connect 14 1 12 0;
+#X connect 15 0 1 0;
+#X connect 15 1 2 1;
+#X connect 15 2 11 0;
+#X connect 15 3 9 0;
+#X connect 16 0 17 2;
+#X connect 18 0 16 0;
+#X connect 18 1 19 0;
+#X connect 19 0 7 0;
+#X connect 20 0 24 0;
+#X connect 21 0 26 1;
+#X connect 22 0 21 0;
+#X connect 23 0 25 0;
+#X connect 24 0 26 0;
+#X connect 24 1 23 0;
+#X connect 25 0 22 0;
+#X restore 445 592 pd load;
+#X text 414 7 args: [name];
+#X obj 157 2 nbx 5 14 1 99999 0 0 \$0/length \$1/length length -38
+8 0 8 -260818 -1 -1 1 256;
+#X obj 416 63 sssad/auto \$0/length \$1/length;
+#N canvas 371 325 450 300 1560template-marker 0;
+#X obj 9 81 outlet;
+#X obj 9 59 struct \$0template-marker float pos;
+#X obj 9 38 drawpolygon 4095 1 pos(3:195)(3:195) 1 pos(3:195)(3:195)
+86;
+#X obj 9 17 drawpolygon 4095 5 pos(3:195)(3:195) 1 pos(3:195)(3:195)
+6;
+#X connect 1 0 0 0;
+#X restore 237 90 pd \$0template-marker;
+#X obj 237 111 print;
+#N canvas 0 0 450 300 1560data-marker 0;
+#X scalar 1560template-marker 0 \;;
+#X coords 0 0 198 86 198 86 1;
+#X restore 4 18 pd \$0data-marker;
+#X obj 5 19 cnv 15 196 84 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X obj 9 278 unpack f f;
+#X text 6 188 This guy takes midi note pairs.;
+#X text 6 204 The output will be scaled by the volume.;
+#X obj 74 305 sel 0;
+#X obj 17 345 \$0;
+#X obj 127 371 pack f f;
+#X obj 127 329 t b f;
+#X obj 127 350 \$0;
+#X msg 127 391 \; \$1/height \$2 \; \$1/startend 1 \; \$1/go bang \;
+;
+#X msg 17 368 \; \$1/startend 0 \; \$1/go bang \;;
+#X text 7 219 Note on plays up to the marker. Note off plays the rest.
+;
+#X obj 502 568 r \$1/pos;
+#X connect 1 0 4 0;
+#X connect 3 0 10 0;
+#X connect 5 0 23 0;
+#X connect 7 0 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 11 0;
+#X connect 11 0 8 0;
+#X connect 12 0 33 0;
+#X connect 14 0 16 0;
+#X connect 14 1 24 0;
+#X connect 15 0 6 0;
+#X connect 16 0 13 0;
+#X connect 18 0 17 2;
+#X connect 19 0 17 1;
+#X connect 20 0 17 0;
+#X connect 21 0 20 0;
+#X connect 21 1 19 0;
+#X connect 21 2 22 0;
+#X connect 21 3 18 1;
+#X connect 22 0 18 0;
+#X connect 23 0 14 0;
+#X connect 23 1 21 0;
+#X connect 23 2 15 0;
+#X connect 23 3 6 1;
+#X connect 24 0 25 0;
+#X connect 24 1 25 1;
+#X connect 29 0 30 0;
+#X connect 33 1 36 0;
+#X connect 36 0 37 0;
+#X connect 36 1 39 0;
+#X connect 37 0 42 0;
+#X connect 38 0 41 0;
+#X connect 39 0 40 0;
+#X connect 39 1 38 1;
+#X connect 40 0 38 0;
+#X connect 44 0 25 1;
+#X coords 0 -1 1 1 206 108 1 0 0;