-
Notifications
You must be signed in to change notification settings - Fork 1
/
dklooper~.pd
455 lines (455 loc) · 11.4 KB
/
dklooper~.pd
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
#N canvas 528 357 1417 485 12;
#X obj 43 210 tabwrite~ \$1;
#X obj 165 383 outlet~;
#X obj 45 22 inlet~;
#X text 104 25 signal;
#X obj 181 25 inlet;
#N canvas 679 114 1366 987 dkloooper-tabwrite-msg 0;
#X obj 403 123 r \$0-looper-sync;
#X obj 345 382 timer;
#X obj 653 646 del;
#X msg 784 393 stop;
#X obj 655 388 array size \$1;
#X obj 655 419 dksamptoms;
#X obj 47 290 r \$0-looper-stop;
#X obj 101 235 s \$0-looper-stop;
#X obj 647 687 s \$0-looper-stop;
#X msg 160 768 stop;
#X msg 230 838 start \$1;
#X obj 199 878 outlet;
#X obj 234 30 inlet;
#X text 344 74 rec off/on;
#X obj 50 419 s \$0-looper-playtrig;
#X obj 227 729 v \$0-looper-start;
#X obj 228 784 dkmstosamp;
#X obj 228 808 i;
#X text 357 737 start in ms;
#X obj 650 330 t b b b, f 18;
#X obj 655 501 -;
#X obj 712 465 v \$0-looper-start;
#X obj 655 525 max 0;
#X obj 345 428 + 0;
#X obj 396 401 v \$0-looper-start;
#X text 471 616 end of recording in ms;
#X obj 370 672 v \$0-looper-end;
#X obj 336 467 spigot 1;
#X obj 468 306 r \$0-looper-override;
#X obj 468 330 == 0;
#X obj 336 491 swap 0;
#X obj 421 467 r \$0-looper-qtize;
#X text 450 444 quantize end points?;
#X obj 336 515 pack f f;
#X text 468 287 override auto setting end point;
#X obj 336 539 route 0 1;
#X obj 472 547 r \$0-looper-syncdur;
#X obj 374 95 r \$0-looper-syncer;
#X obj 792 352 r \$0-looper-array;
#X obj 226 116 dkbangsync 0;
#X obj 376 297 t b b;
#X obj 119 366 s \$0-looper-clearblock;
#X obj 47 315 t b b b b b, f 34;
#X obj 337 623 t f f;
#X obj 339 881 outlet;
#X text 205 913 tabwrite msgs;
#X text 411 885 new ending value if not override;
#X obj 407 580 dknearest 0;
#X obj 256 261 t b b b b, f 98;
#X obj 948 293 symbol \$1;
#X obj 1029 257 r \$0-looper-array;
#X msg 953 333 \; \$1 const 0;
#X obj 427 638 print;
#X obj 234 54 t b f;
#X obj 226 168 f, f 7;
#X obj 226 192 sel 0 1;
#X connect 0 0 39 2;
#X connect 1 0 23 0;
#X connect 2 0 8 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 20 0;
#X connect 6 0 42 0;
#X connect 9 0 11 0;
#X connect 10 0 11 0;
#X connect 12 0 53 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 10 0;
#X connect 19 0 4 0;
#X connect 19 1 21 0;
#X connect 19 2 3 0;
#X connect 20 0 22 0;
#X connect 21 0 20 1;
#X connect 22 0 2 0;
#X connect 23 0 27 0;
#X connect 24 0 23 1;
#X connect 27 0 30 0;
#X connect 28 0 29 0;
#X connect 29 0 27 1;
#X connect 30 0 33 0;
#X connect 30 1 33 1;
#X connect 31 0 30 1;
#X connect 33 0 35 0;
#X connect 35 0 43 0;
#X connect 35 1 47 0;
#X connect 36 0 47 1;
#X connect 37 0 39 1;
#X connect 38 0 4 1;
#X connect 39 0 54 0;
#X connect 40 0 1 0;
#X connect 40 1 24 0;
#X connect 42 0 14 0;
#X connect 42 1 41 0;
#X connect 42 2 9 0;
#X connect 42 3 1 1;
#X connect 42 4 3 0;
#X connect 43 0 44 0;
#X connect 43 1 26 0;
#X connect 47 0 43 0;
#X connect 47 0 52 0;
#X connect 48 0 15 0;
#X connect 48 1 40 0;
#X connect 48 2 19 0;
#X connect 48 3 49 0;
#X connect 49 0 51 0;
#X connect 50 0 49 1;
#X connect 53 0 39 0;
#X connect 53 1 54 1;
#X connect 54 0 55 0;
#X connect 55 0 7 0;
#X connect 55 1 48 0;
#X restore 74 108 pd dkloooper-tabwrite-msg;
#X text 263 40 playback/rec;
#N canvas 927 114 1118 1035 dklooper-playback-ctrl 0;
#X obj 383 241 r \$0-looper-sync;
#N canvas 461 240 1028 903 dklooper-calclooplen 0;
#X obj 268 149 t b b, f 24;
#X obj 437 426 r \$0-looper-sync;
#X obj 253 478 swap 0, f 27;
#X obj 253 502 pack f f, f 27;
#X obj 253 526 route 0 1, f 33;
#X obj 252 671 outlet;
#X text 471 80 calculate loop length;
#X obj 277 73 inlet;
#X text 345 80 trig;
#X obj 268 178 v \$0-looper-end;
#X obj 432 175 v \$0-looper-start;
#X obj 258 254 -, f 27;
#X obj 257 286 abs;
#X obj 257 411 * 1, f 20;
#X obj 371 284 r \$0-looper-rate;
#X obj 371 308 t b f;
#X msg 371 332 1;
#X obj 371 356 /;
#X obj 371 380 t b f;
#X connect 0 0 9 0;
#X connect 0 1 10 0;
#X connect 1 0 2 1;
#X connect 2 0 3 0;
#X connect 2 1 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 1 5 0;
#X connect 7 0 0 0;
#X connect 9 0 11 0;
#X connect 10 0 11 1;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 15 1 17 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 13 0;
#X connect 18 1 13 1;
#X restore 284 390 pd dklooper-calclooplen;
#X obj 287 352 spigot 1;
#X obj 279 27 r \$0-looper-playtrig;
#X obj 286 157 spigot 0;
#X msg 559 203 1;
#X text 625 207 make sure we can trigger looplencalc;
#X msg 577 524 0;
#X obj 430 694 del;
#X msg 492 642 stop;
#X obj 437 531 t f b b;
#X obj 431 606 + 0;
#X obj 638 566 r \$0-looper-break;
#X text 473 690 playtrig callback for looping;
#X obj 430 718 t b b b;
#X obj 451 783 s \$0-looper-endofloop;
#X msg 590 735 1;
#X obj 432 844 s \$0-looper-playtrig;
#X obj 291 484 t f f, f 21;
#X obj 302 882 outlet;
#X obj 353 83 t f f;
#X obj 299 116 sel 1;
#X obj 326 199 r \$0-looper-syncer;
#X obj 287 268 dkbangsync 0;
#X obj 537 21 r \$0-looper-on;
#X obj 548 275 r \$0-looper-clearblock;
#X msg 548 299 1;
#X obj 543 50 t f f;
#X obj 559 103 sel 1 0;
#X obj 587 153 s \$0-looper-stopplay;
#X connect 0 0 23 2;
#X connect 1 0 18 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 4 0 23 0;
#X connect 5 0 2 1;
#X connect 7 0 2 1;
#X connect 8 0 14 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 10 1 7 0;
#X connect 10 2 9 0;
#X connect 11 0 8 0;
#X connect 12 0 11 1;
#X connect 14 0 17 0;
#X connect 14 1 15 0;
#X connect 14 2 16 0;
#X connect 16 0 2 1;
#X connect 18 0 19 0;
#X connect 18 1 10 0;
#X connect 20 0 21 0;
#X connect 20 1 4 1;
#X connect 21 0 4 0;
#X connect 22 0 23 1;
#X connect 23 0 2 0;
#X connect 24 0 27 0;
#X connect 25 0 26 0;
#X connect 26 0 2 1;
#X connect 27 0 20 0;
#X connect 27 1 28 0;
#X connect 28 0 5 0;
#X connect 28 1 29 0;
#X restore 174 187 pd dklooper-playback-ctrl;
#N canvas 578 184 815 780 dklooper-tabread-reader 0;
#X obj 83 52 inlet;
#X text 133 53 dur;
#X obj 84 204 t f f, f 41;
#X obj 360 271 t f b b, f 36;
#X obj 466 223 r \$0-looper-ramp;
#X obj 352 371 del;
#X msg 349 438 0;
#X msg 481 399 1;
#X msg 603 362 stop;
#X obj 346 546 line~;
#X obj 346 570 outlet~;
#X text 475 532 envelope;
#X obj 80 290 t b f, f 30;
#X obj 81 415 v \$0-looper-start;
#X obj 191 347 v \$0-looper-end;
#X msg 80 630 \$1 \, \$2 \$3;
#X obj 83 684 line~;
#X obj 83 546 pack f f f, f 31;
#X obj 80 314 t b b, f 16;
#X obj 83 708 outlet~;
#X text 165 679 reading location;
#X obj 191 371 dkmstosamp;
#X obj 81 439 dkmstosamp;
#X obj 346 522 pack 0 3;
#X obj 352 347 - 3;
#X obj 240 12 r \$0-looper-stopplay;
#X obj 415 71 r \$0-looper-sync;
#X obj 386 43 r \$0-looper-syncer;
#X obj 231 112 dkbangsync 0;
#X obj 83 570 t l l;
#X obj 476 719 outlet;
#X text 530 721 info dump;
#X msg 475 671 dur \$3;
#X connect 0 0 2 0;
#X connect 2 0 12 0;
#X connect 2 1 3 0;
#X connect 3 0 24 0;
#X connect 3 1 7 0;
#X connect 3 2 8 0;
#X connect 4 0 23 1;
#X connect 4 0 24 1;
#X connect 5 0 6 0;
#X connect 6 0 23 0;
#X connect 7 0 23 0;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 12 0 18 0;
#X connect 12 1 17 2;
#X connect 13 0 22 0;
#X connect 14 0 21 0;
#X connect 15 0 16 0;
#X connect 16 0 19 0;
#X connect 17 0 29 0;
#X connect 18 0 13 0;
#X connect 18 1 14 0;
#X connect 21 0 17 1;
#X connect 22 0 17 0;
#X connect 23 0 9 0;
#X connect 24 0 5 0;
#X connect 25 0 28 0;
#X connect 26 0 28 2;
#X connect 27 0 28 1;
#X connect 28 0 6 0;
#X connect 29 0 32 0;
#X connect 29 1 15 0;
#X connect 32 0 30 0;
#X restore 165 223 pd dklooper-tabread-reader;
#X obj 764 24 inlet;
#N canvas 6 203 1122 946 dklooper-message-handling 0;
#X obj 63 29 inlet;
#X msg 911 136 bang;
#X obj 904 169 s \$0-looper-syncer;
#X obj 425 162 > 0;
#X obj 425 186 s \$0-looper-on;
#X obj 384 322 > 0;
#X obj 384 346 s \$0-looper-qtize;
#X obj 350 210 > 0;
#X obj 350 234 s \$0-looper-sync;
#X obj 40 485 swap 0;
#X obj 40 509 pack f f;
#X obj 439 138 s \$0-looper-syncdur;
#X obj 211 545 r \$0-looper-syncdur;
#X obj 156 415 r \$0-looper-qtize;
#X obj 115 481 swap 0;
#X obj 115 505 pack f f;
#X obj 39 545 route 0 1;
#X obj 114 541 route 0 1;
#X obj 39 762 v \$0-looper-start;
#X obj 111 838 v \$0-looper-end;
#X obj 63 130 max 0;
#X obj 129 285 min;
#X obj 137 93 t f b;
#X obj 548 199 symbol;
#X obj 548 223 s \$0-looper-array;
#X obj 229 138 r \$0-looper-array;
#X obj 200 242 array size \$1;
#X obj 229 162 t b b s;
#X obj 618 118 max 0;
#X obj 618 142 s \$0-looper-ramp;
#X obj 696 198 s \$0-looper-rate;
#X obj 779 272 symbol \$1;
#X obj 839 240 r \$0-looper-array;
#X msg 776 308 \; \$1 const 0;
#X obj 802 90 > 0;
#X obj 802 114 s \$0-looper-override;
#X text 496 620 override: override auto setting end point;
#X obj 67 629 dknearest 0;
#X obj 165 684 dknearest 0;
#X obj 63 53 route start end quantize sync on syncdur set ramp rate
clear override syncer bang, f 142;
#X connect 0 0 39 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 5 0 6 0;
#X connect 7 0 8 0;
#X connect 9 0 10 0;
#X connect 9 1 10 1;
#X connect 10 0 16 0;
#X connect 12 0 37 1;
#X connect 12 0 38 1;
#X connect 13 0 9 1;
#X connect 13 0 14 1;
#X connect 14 0 15 0;
#X connect 14 1 15 1;
#X connect 15 0 17 0;
#X connect 16 0 18 0;
#X connect 16 1 37 0;
#X connect 17 0 19 0;
#X connect 17 1 38 0;
#X connect 20 0 9 0;
#X connect 21 0 14 0;
#X connect 22 0 21 0;
#X connect 23 0 24 0;
#X connect 25 0 27 0;
#X connect 26 0 21 1;
#X connect 27 0 21 0;
#X connect 27 1 26 0;
#X connect 27 2 26 1;
#X connect 28 0 29 0;
#X connect 31 0 33 0;
#X connect 32 0 31 1;
#X connect 34 0 35 0;
#X connect 37 0 18 0;
#X connect 38 0 19 0;
#X connect 39 0 20 0;
#X connect 39 1 22 0;
#X connect 39 2 5 0;
#X connect 39 3 7 0;
#X connect 39 4 3 0;
#X connect 39 5 11 0;
#X connect 39 6 23 0;
#X connect 39 7 28 0;
#X connect 39 8 30 0;
#X connect 39 9 31 0;
#X connect 39 10 34 0;
#X connect 39 11 1 0;
#X restore 764 85 pd dklooper-message-handling;
#X text 478 46 on;
#X obj 428 45 inlet;
#X obj 428 69 > 0;
#X obj 425 111 s \$0-looper-on;
#X obj 576 40 inlet;
#X msg 576 64 bang;
#X text 641 41 syncer;
#X obj 576 88 s \$0-looper-syncer;
#X obj 167 286 *~, f 23;
#X text 552 192 args: array name \, sync \, syncdur;
#X obj 104 143 r \$0-looper-array;
#X msg 103 168 set \$1;
#N canvas 946 621 979 502 dklooper-args 0;
#X obj 26 18 loadbang;
#X obj 34 133 f \$2;
#X text 329 30 args: array name \, sync \, syncdur;
#X obj 305 127 f \$3;
#X obj 25 298 outlet;
#X obj 618 115 loadbang;
#X obj 26 213 pack f f, f 43;
#X obj 26 42 t b b, f 38;
#X msg 26 237 syncdur \$2 \, sync \$1;
#X msg 618 139 start 0 \, rate 1 \, ramp 2;
#X connect 0 0 7 0;
#X connect 1 0 6 0;
#X connect 3 0 6 1;
#X connect 5 0 9 0;
#X connect 6 0 8 0;
#X connect 7 0 1 0;
#X connect 7 1 3 0;
#X connect 8 0 4 0;
#X connect 9 0 4 0;
#X restore 826 56 pd dklooper-args;
#X text 1304 9 derek kwan;
#X text 1303 55 gpl v 3;
#X text 1299 33 pdkvabs 2018;
#X obj 335 395 outlet;
#X text 397 397 info dump;
#X obj 512 399 outlet;
#X obj 518 359 r \$0-looper-endofloop;
#X text 579 399 end of loop;
#X text 548 219 inlets: signal \, playback/rec \, on \, syncer \, messages
;
#X obj 375 312 r \$0-looper-stop;
#X msg 375 336 rec 0;
#X msg 245 144 end \$1;
#X text 552 242 outlets: signal \, info dump \, end of loop;
#X obj 167 262 tabread4~ \$1;
#X connect 2 0 0 0;
#X connect 4 0 5 0;
#X connect 5 0 0 0;
#X connect 5 1 35 0;
#X connect 7 0 8 0;
#X connect 8 0 37 0;
#X connect 8 1 19 1;
#X connect 8 2 27 0;
#X connect 9 0 10 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 15 0 16 0;
#X connect 16 0 18 0;
#X connect 19 0 1 0;
#X connect 21 0 22 0;
#X connect 22 0 0 0;
#X connect 22 0 37 0;
#X connect 23 0 10 0;
#X connect 30 0 29 0;
#X connect 33 0 34 0;
#X connect 34 0 27 0;
#X connect 35 0 27 0;
#X connect 37 0 19 0;