aboutsummaryrefslogtreecommitdiff
path: root/s-nadsr~.pd
blob: 8eff47cd3c78605865fc9e5dc9a880cf41124b2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
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;