/
pp.fft-partconv-st~.pd
808 lines (808 loc) · 19.7 KB
/
pp.fft-partconv-st~.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
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
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
#N canvas 166 72 1017 622 10;
#X obj 402 525 *~;
#N canvas 368 71 803 563 load-IR 0;
#X obj 368 93 s \$0-open;
#X obj 368 48 r \$0-obng;
#X obj 178 475 soundfiler;
#X obj 178 418 pack s \$0;
#X obj 161 59 r \$0-open;
#X obj 195 173 soundfiler;
#X obj 195 127 pack s \$0;
#X msg 217 258 \$3;
#X obj 62 376 soundfiler;
#X obj 62 333 pack s \$0;
#X obj 161 92 t a a a a;
#X obj 62 313 spigot;
#X obj 217 279 < 2;
#X msg 195 150 read -resize \$1;
#X msg 178 441 read -resize \$1 \$2-dummy-l \$2-dummy-r \, read -resize \$1 \$2-impulse-l \$2-impulse-r;
#N canvas 272 198 890 454 pitchcorrection 0;
#X obj 168 -16 r \$0-ir-samprate;
#X obj 193 29 samplerate~;
#X obj 168 53 ==;
#X obj 168 76 sel 0;
#X obj 229 343 line~;
#X obj 231 164 r \$0-ir-length;
#X obj 229 275 /;
#X obj 277 231 / 1000;
#X obj 229 299 pack;
#X msg 229 320 0 \, \$2 \$1;
#X obj 231 187 t f f;
#X obj 216 242 f;
#X obj 168 105 del 1;
#X obj 277 209 r \$0-ir-samprate;
#X obj 405 89 r \$0-ir-length;
#X obj 420 111 r \$0-ir-samprate;
#X obj 405 139 /;
#X obj 405 194 t f b;
#X obj 432 217 samplerate~;
#X obj 405 237 *;
#X obj 390 169 f;
#X obj 168 6 t f b;
#X obj 28 179 print pp.fft-partconv~;
#X msg 28 155 correcting pitch..;
#X obj 405 272 array size \$0-impulse-l;
#X obj 385 293 array size \$0-impulse-r;
#X obj 183 392 tabread4~ \$0-dummy-l;
#X obj 361 389 tabread4~ \$0-dummy-r;
#X obj 167 422 tabwrite~ \$0-impulse-l;
#X obj 360 423 tabwrite~ \$0-impulse-r;
#X connect 0 0 21 0;
#X connect 1 0 2 1;
#X connect 2 0 3 0;
#X connect 3 0 12 0;
#X connect 3 0 23 0;
#X connect 4 0 26 0;
#X connect 4 0 27 0;
#X connect 5 0 10 0;
#X connect 6 0 8 0;
#X connect 7 0 6 1;
#X connect 8 0 9 0;
#X connect 9 0 4 0;
#X connect 10 0 11 1;
#X connect 10 1 8 1;
#X connect 11 0 6 0;
#X connect 12 0 11 0;
#X connect 12 0 20 0;
#X connect 12 0 28 0;
#X connect 12 0 29 0;
#X connect 13 0 7 0;
#X connect 14 0 16 0;
#X connect 15 0 16 1;
#X connect 16 0 20 1;
#X connect 17 0 19 0;
#X connect 17 1 18 0;
#X connect 18 0 19 1;
#X connect 19 0 24 0;
#X connect 19 0 25 0;
#X connect 20 0 17 0;
#X connect 21 0 2 0;
#X connect 21 1 1 0;
#X connect 23 0 22 0;
#X connect 26 0 28 0;
#X connect 27 0 29 0;
#X restore 177 530 pd pitchcorrection;
#X msg 62 355 read -resize \$1 \$2-dummy-r \, read -resize \$1 \$2-impulse-r;
#X obj 509 66 array define \$0-dummy-l;
#X obj 510 87 array define \$0-dummy-r;
#X obj 512 131 array define \$0-impulse-l;
#X obj 512 151 array define \$0-impulse-r;
#N canvas 522 220 600 405 openpanel 0;
#X obj 145 270 openpanel;
#X obj 145 47 f;
#X obj 175 48 + 1;
#X obj 145 70 sel 0;
#X obj 173 168 t b;
#X obj 145 20 inlet;
#X obj 145 293 outlet;
#X text 237 158 remember last directory;
#X obj 145 124 symbol ./;
#X obj 224 73 symbol;
#X obj 224 50 r \$0-open;
#X obj 173 210 symbol ./;
#N canvas 426 89 883 671 splitfilename 0;
#X obj 219 286 outlet;
#X text 263 289 filename;
#X obj 185 210 inlet;
#X obj 185 233 file splitname;
#X obj 185 256 list split 1;
#X obj 185 310 outlet;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 5 0;
#X connect 4 1 0 0;
#X restore 224 97 pd splitfilename;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 3 0 8 0;
#X connect 3 1 4 0;
#X connect 4 0 11 0;
#X connect 5 0 1 0;
#X connect 8 0 0 0;
#X connect 9 0 12 0;
#X connect 10 0 9 0;
#X connect 11 0 0 0;
#X connect 12 0 11 1;
#X connect 12 0 8 1;
#X restore 368 71 pd openpanel;
#X obj 195 327 s \$0-ir-length;
#X obj 289 327 s \$0-ir-samprate;
#X msg 289 306 \$1;
#N canvas 827 381 894 556 sondfile-info 0;
#X msg 386 77 label \$1;
#X msg 367 50 label empty..;
#X obj 367 27 loadbang;
#X obj 85 332 t f b;
#X obj 112 355 samplerate~;
#X obj 112 378 / 1000;
#X obj 85 402 /;
#X obj 85 10 r \$0-nparts;
#X obj 85 55 / 2;
#X obj 180 101 r \$0-min-blocksize;
#X obj 85 78 + 1;
#X obj 105 195 f;
#X obj 135 197 * 2;
#X obj 139 267 +;
#X obj 105 267 f;
#X obj 105 223 t b f;
#X msg 192 188 0;
#X obj 205 124 r \$0-max-blocksize;
#X obj 205 147 t b;
#X obj 180 148 f;
#X obj 105 166 until;
#X obj 85 99 t b f b b;
#X obj 85 292 f;
#X obj 295 461 pack f s;
#X msg 295 489 loaded \$1ms of IR \$2;
#X obj 241 308 r \$0-ir-length;
#X obj 226 333 <;
#X obj 226 356 sel 1;
#X obj 85 33 pipe 1;
#X obj 338 127 s \$0-irname;
#X obj 340 438 r \$0-irname;
#X obj 386 99 s \$0-irname-guir;
#X obj 295 517 print pp.fft-partconv-st~;
#X msg 226 381 IR length exceeds buffer;
#X obj 245 33 inlet;
#N canvas 426 89 883 671 splitfilename 0;
#X obj 219 286 outlet;
#X text 263 289 filename;
#X obj 185 210 inlet;
#X obj 185 233 file splitname;
#X obj 185 256 list split 1;
#X obj 185 310 outlet;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 5 0;
#X connect 4 1 0 0;
#X restore 245 59 pd splitfilename;
#X connect 0 0 31 0;
#X connect 1 0 31 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 3 1 4 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 23 0;
#X connect 7 0 28 0;
#X connect 8 0 10 0;
#X connect 9 0 19 0;
#X connect 10 0 21 0;
#X connect 11 0 12 0;
#X connect 11 0 15 0;
#X connect 12 0 11 1;
#X connect 13 0 14 1;
#X connect 14 0 13 0;
#X connect 14 0 22 1;
#X connect 15 0 14 0;
#X connect 15 1 13 1;
#X connect 16 0 14 1;
#X connect 16 0 13 1;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 11 1;
#X connect 20 0 11 0;
#X connect 21 0 22 0;
#X connect 21 1 20 0;
#X connect 21 2 16 0;
#X connect 21 3 19 0;
#X connect 22 0 3 0;
#X connect 22 0 26 0;
#X connect 23 0 24 0;
#X connect 24 0 32 0;
#X connect 25 0 26 1;
#X connect 26 0 27 0;
#X connect 27 0 33 0;
#X connect 28 0 8 0;
#X connect 30 0 23 1;
#X connect 33 0 32 0;
#X connect 34 0 35 0;
#X connect 35 1 0 0;
#X connect 35 1 29 0;
#X restore 312 222 pd sondfile-info;
#N canvas 194 181 619 300 nofile 0;
#X obj 227 31 inlet;
#X obj 117 30 inlet;
#X obj 117 184 spigot 1;
#X obj 272 100 != 0;
#X obj 117 276 outlet;
#X obj 362 240 symbol empty..;
#X obj 443 29 inlet;
#X obj 227 55 t a a;
#X obj 227 277 outlet;
#X obj 362 280 outlet;
#X obj 227 184 spigot 1;
#X obj 362 138 sel 1 0;
#X obj 381 162 symbol;
#X msg 381 183 couldn't find \$1;
#X msg 272 78 \$1;
#X obj 381 206 print fft-partconv~;
#X connect 0 0 7 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X connect 3 0 10 1;
#X connect 3 0 11 0;
#X connect 5 0 9 0;
#X connect 6 0 5 1;
#X connect 6 0 12 1;
#X connect 7 0 10 0;
#X connect 7 1 14 0;
#X connect 10 0 8 0;
#X connect 11 0 5 0;
#X connect 11 1 12 0;
#X connect 12 0 13 0;
#X connect 13 0 15 0;
#X connect 14 0 3 0;
#X restore 195 200 pd nofile;
#X f 20;
#X connect 1 0 21 0;
#X connect 3 0 14 0;
#X connect 4 0 10 0;
#X connect 5 0 26 0;
#X connect 5 1 26 1;
#X connect 6 0 13 0;
#X connect 7 0 12 0;
#X connect 9 0 16 0;
#X connect 10 0 11 0;
#X connect 10 1 3 0;
#X connect 10 2 6 0;
#X connect 10 3 26 2;
#X connect 11 0 9 0;
#X connect 12 0 11 1;
#X connect 13 0 5 0;
#X connect 14 0 2 0;
#X connect 16 0 8 0;
#X connect 21 0 0 0;
#X connect 24 0 23 0;
#X connect 26 0 22 0;
#X connect 26 1 7 0;
#X connect 26 1 24 0;
#X connect 26 2 25 0;
#X restore 753 187 pd load-IR;
#X obj 298 85 inlet~;
#X obj 403 558 outlet~;
#X obj 553 491 /;
#X msg 553 471 1 \$1;
#X obj 103 130 hsl 130 15 0 100 0 0 \$0-gui \$0-guir Dry/Wet(%) 3 8 2 10 #e0e0e0 #000000 #000000 0 1;
#X obj 276 130 hsl 2 8 0 1 0 0 \$0-gui \$0-guir empty 3 8 2 10 #e0e0e0 #dcdcdc #000000 0 1;
#X obj 235 130 nbx 5 15 0 100 0 0 \$0-drywet \$0-drywetr empty 0 -8 2 10 #dcdcdc #000000 #000000 0 256;
#X msg 158 186 set \$1;
#X obj 75 167 i;
#X msg 75 188 set \$1;
#X obj 54 217 s \$0-drywet;
#X obj 100 115 bng 15 250 50 0 \$0-obng \$0-obngr empty 17 7 0 10 #dcdcdc #fcfcfc #000000;
#X obj 414 85 inlet~;
#X obj 538 529 *~;
#X obj 539 556 outlet~;
#N canvas 149 330 450 300 \$0-container 0;
#X obj 178 55 inlet~;
#X obj 254 55 inlet~;
#N canvas 3 57 561 370 \$0-clone 0;
#X restore 190 97 pd \$0-clone;
#X obj 176 162 outlet~;
#X obj 254 162 outlet~;
#X restore 450 385 pd \$0-container;
#N canvas 3 54 450 300 delay 0;
#X obj 98 107 inlet~;
#X obj 98 128 outlet~;
#X obj 146 107 inlet~;
#X obj 146 128 outlet~;
#X obj 309 79 r \$0-min-blocksize;
#X obj 309 125 block~ \$1;
#X msg 309 102 set \$1 1;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 4 0 6 0;
#X connect 6 0 5 0;
#X restore 299 389 pd delay clean;
#X obj 530 111 *~ 0.01;
#X obj 553 451 r \$0-nparts;
#N canvas 292 214 1019 487 create 0;
#X obj 135 351 s \$0-loadbang;
#X obj 69 32 r \$0-ir-length;
#X obj 103 128 f;
#X obj 103 249 s \$0-nparts;
#N canvas 491 200 779 565 max-parts 0;
#X obj 326 18 inlet;
#X obj 120 9 inlet;
#X obj 326 57 log 2;
#X obj 311 173 +;
#X obj 340 281 +;
#X obj 311 278 f;
#X msg 379 244 0;
#X obj 120 423 f;
#X obj 252 269 <;
#X obj 147 292 t f f;
#X obj 252 292 sel 0;
#X obj 147 267 f;
#X obj 175 270 + 1;
#X obj 147 218 until;
#X msg 198 193 0;
#X obj 147 197 f;
#X obj 120 446 outlet;
#X obj 120 44 t bang bang bang float bang;
#X obj 162 172 + 2;
#X obj 162 150 expr $f2-$f1;
#X obj 377 57 log 2;
#X obj 377 20 inlet;
#X obj 377 78 t b f;
#X obj 311 196 expr pow(2 \, $f1);
#X obj 311 238 t b f;
#X obj 174 381 * 2;
#X connect 0 0 2 0;
#X connect 1 0 17 0;
#X connect 2 0 3 1;
#X connect 2 0 19 0;
#X connect 3 0 23 0;
#X connect 4 0 5 1;
#X connect 5 0 4 0;
#X connect 5 0 8 0;
#X connect 6 0 5 1;
#X connect 7 0 16 0;
#X connect 8 0 10 0;
#X connect 9 0 3 0;
#X connect 9 1 25 0;
#X connect 10 0 13 1;
#X connect 11 0 12 0;
#X connect 11 0 9 0;
#X connect 12 0 11 1;
#X connect 13 0 11 0;
#X connect 14 0 11 1;
#X connect 15 0 13 0;
#X connect 17 0 7 0;
#X connect 17 1 15 0;
#X connect 17 2 14 0;
#X connect 17 3 8 1;
#X connect 17 4 6 0;
#X connect 18 0 15 1;
#X connect 19 0 18 0;
#X connect 20 0 22 0;
#X connect 21 0 20 0;
#X connect 22 0 19 0;
#X connect 22 1 19 1;
#X connect 23 0 24 0;
#X connect 24 0 5 0;
#X connect 24 1 4 1;
#X connect 25 0 7 1;
#X restore 103 177 pd max-parts;
#X obj 362 14 r \$0-max-blocksize;
#X obj 244 365 s pd-\$0-clone;
#X obj 224 430 s pd-\$0-container;
#X msg 224 396 connect 0 0 2 0 \, connect 1 0 2 1 \, connect 2 0 3 0 \, connect 2 1 4 0;
#X msg 244 290 clear \, obj 300 50 inlet~ \, obj 500 50 inlet~ \, obj 100 200 outlet~ \, obj 300 200 outlet~ \, obj 100 100 clone pp.fft-partconv-st-part \$1 \$2 \$3 \, connect 0 0 4 1 \, connect 1 0 4 2 \, connect 4 0 2 0 \, connect 4 1 3 0;
#X obj 103 151 sel 0;
#X obj 362 37 t b f;
#X obj 229 36 t b f f;
#X obj 229 15 r \$0-min-blocksize;
#X obj 205 235 pack 0 \$0 0;
#X obj 205 256 t b b a;
#X connect 1 0 2 0;
#X connect 2 0 10 0;
#X connect 4 0 3 0;
#X connect 4 0 14 0;
#X connect 5 0 11 0;
#X connect 8 0 7 0;
#X connect 9 0 6 0;
#X connect 10 1 4 0;
#X connect 11 0 2 0;
#X connect 11 1 4 2;
#X connect 12 0 2 0;
#X connect 12 1 4 1;
#X connect 12 2 14 2;
#X connect 13 0 12 0;
#X connect 14 0 15 0;
#X connect 15 0 0 0;
#X connect 15 1 8 0;
#X connect 15 2 9 0;
#X restore 753 210 pd create;
#X text 845 546 philipp schmalfuß \, 2018/19;
#X obj 118 115 hsl 160 15 0 100 0 0 \$0-irname-gui \$0-irname-guir empty.. 3 8 2 10 #e0e0e0 #dcdcdc #000000 0 1;
#X obj 755 92 inlet;
#N canvas 3 57 692 496 in 0;
#X obj 125 323 s \$0-open;
#X obj 125 300 symbol;
#X obj 125 62 inlet;
#X obj 182 361 clip 0 100;
#X obj 182 382 s \$0-drywetr;
#X obj 195 314 loadbang;
#X msg 195 335 100;
#N canvas 518 274 450 300 set 0;
#X obj 161 29 inlet;
#X obj 152 140 array size;
#X obj 152 163 s \$0-ir-length;
#X msg 88 233 label \$1;
#X obj 224 114 s \$0-irname;
#X msg 207 227 set \$1;
#X obj 161 54 unpack s s;
#X obj 207 249 s \$0-set-imp-l;
#X msg 51 178 set \$1;
#X obj 51 200 s \$0-set-imp-r;
#X obj 51 154 symbol;
#X obj 51 96 t b s b s s;
#X obj 88 256 s \$0-irname-guir;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 3 0 12 0;
#X connect 5 0 7 0;
#X connect 6 0 11 0;
#X connect 6 1 10 1;
#X connect 8 0 9 0;
#X connect 10 0 8 0;
#X connect 11 0 10 0;
#X connect 11 1 5 0;
#X connect 11 1 3 0;
#X connect 11 2 1 0;
#X connect 11 3 1 1;
#X connect 11 4 4 0;
#X restore 239 242 pd set;
#N canvas 3 57 617 375 blocksize 0;
#X obj 184 76 t f f;
#X obj 184 212 spigot;
#X text 249 141 prevent setting blocksizes that are not a power of 2;
#X msg 244 244 blocksize is not a power of 2;
#X obj 184 294 outlet;
#X obj 244 222 sel 0;
#X obj 184 54 inlet;
#X obj 217 122 expr (($f1-1) & $f1) == 0;
#X obj 244 265 print pp.fft-partconv-st~;
#X connect 0 0 1 0;
#X connect 0 1 7 0;
#X connect 1 0 4 0;
#X connect 3 0 8 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 7 0 1 1;
#X connect 7 0 5 0;
#X restore 295 348 pd blocksize;
#X obj 314 251 f \$1;
#X obj 314 272 sel 0;
#X msg 306 295 1024;
#X obj 430 191 loadbang;
#X obj 125 162 route loadIR dry/wet set blocksize max-blocksize;
#X obj 457 409 s \$0-max-blocksize;
#X obj 457 309 sel 0;
#X obj 457 288 f \$2;
#X msg 457 337 65536;
#N canvas 3 57 617 375 blocksize 0;
#X obj 184 76 t f f;
#X obj 184 212 spigot;
#X text 249 141 prevent setting blocksizes that are not a power of 2;
#X obj 184 294 outlet;
#X obj 244 222 sel 0;
#X obj 184 54 inlet;
#X msg 244 244 max. blocksize is not a power of 2;
#X obj 217 122 expr (($f1-1) & $f1) == 0;
#X obj 244 265 print pp.fft-partconv-st~;
#X connect 0 0 1 0;
#X connect 0 1 7 0;
#X connect 1 0 3 0;
#X connect 4 0 6 0;
#X connect 5 0 0 0;
#X connect 6 0 8 0;
#X connect 7 0 1 1;
#X connect 7 0 4 0;
#X restore 457 385 pd blocksize;
#X obj 430 214 t b b;
#X obj 295 324 change;
#X obj 457 361 change;
#X obj 295 375 max 128;
#X obj 295 399 s \$0-min-blocksize;
#N canvas 698 546 200 251 route 0;
#X obj 20 20 inlet;
#X obj 30 60 route save recall;
#X obj 30 85 route float;
#X obj 97 111 route float;
#X obj 30 136 s \$0-save;
#X obj 30 108 i;
#X obj 98 133 i;
#X obj 98 161 s \$0-recall;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 2 0 5 0;
#X connect 3 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X restore 148 105 pd route save-recall;
#N canvas 362 125 450 479 recall 0;
#X obj 49 145 outlet;
#N canvas 3 54 450 600 listsplit 0;
#X obj 158 23 inlet;
#X obj 220 87 list length;
#X obj 220 113 until;
#X obj 182 150 f;
#X obj 278 150 + 1;
#X msg 265 111 0;
#X obj 182 226 list store;
#X msg 182 202 get \$1 1;
#X obj 154 367 list split;
#X obj 222 342 f;
#X obj 154 334 list;
#X obj 98 124 list;
#X obj 182 389 list split 1;
#X obj 154 274 t bang bang bang;
#X obj 182 179 t f f;
#X obj 158 48 t l l l b;
#X obj 154 473 outlet;
#X obj 154 440 list trim;
#X obj 163 248 sel |;
#X text 275 197 hacky split list at "|";
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 14 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 18 0;
#X connect 7 0 6 0;
#X connect 8 0 17 0;
#X connect 8 1 12 0;
#X connect 9 0 8 1;
#X connect 10 0 8 0;
#X connect 11 0 15 0;
#X connect 12 1 11 0;
#X connect 13 0 10 0;
#X connect 13 1 9 0;
#X connect 13 2 2 1;
#X connect 14 0 7 0;
#X connect 14 1 9 1;
#X connect 15 0 1 0;
#X connect 15 1 10 1;
#X connect 15 2 6 1;
#X connect 15 3 5 0;
#X connect 17 0 16 0;
#X connect 18 0 13 0;
#X restore 49 117 pd listsplit;
#X obj 49 24 r \$0-recall;
#X obj 49 54 pipe 1;
#X obj 221 409 text fromlist \$0-savestates;
#X obj 49 77 text get \$0-savestates;
#X msg 253 246 21;
#X obj 253 269 until;
#X obj 253 292 f;
#X obj 300 295 + 1;
#X obj 253 315 t b f;
#X obj 253 367 text set \$0-savestates;
#X obj 221 114 text tolist \$0-savestates;
#X msg 253 342 list empty_slot;
#X obj 221 160 t a b;
#X obj 151 166 loadbang;
#X obj 221 137 savestate;
#X obj 221 33 text define \$0-savestates;
#X obj 151 189 del 0;
#X msg 298 199 0;
#X obj 253 220 spigot 1;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 5 0 1 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 8 1;
#X connect 10 0 13 0;
#X connect 10 1 11 1;
#X connect 12 0 16 0;
#X connect 13 0 11 0;
#X connect 14 0 4 0;
#X connect 14 1 19 0;
#X connect 15 0 18 0;
#X connect 16 0 14 0;
#X connect 16 1 12 0;
#X connect 18 0 20 0;
#X connect 19 0 20 1;
#X connect 20 0 6 0;
#X restore 214 128 pd recall;
#X connect 1 0 0 0;
#X connect 2 0 13 0;
#X connect 2 0 24 0;
#X connect 3 0 4 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 8 0 22 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 1 20 0;
#X connect 11 0 20 0;
#X connect 12 0 19 0;
#X connect 13 0 1 0;
#X connect 13 1 3 0;
#X connect 13 2 7 0;
#X connect 13 3 20 0;
#X connect 13 4 21 0;
#X connect 15 0 17 0;
#X connect 15 1 21 0;
#X connect 16 0 15 0;
#X connect 17 0 21 0;
#X connect 18 0 14 0;
#X connect 19 0 9 0;
#X connect 19 1 16 0;
#X connect 20 0 8 0;
#X connect 21 0 18 0;
#X connect 22 0 23 0;
#X connect 25 0 13 0;
#X restore 755 114 pd in;
#X obj 760 541 outlet;
#N canvas 688 168 486 485 outlet-message 0;
#X obj 160 338 list trim;
#X msg 97 316 addcomma;
#X msg 26 233 set;
#X obj 160 315 list prepend add2;
#X obj 160 423 outlet;
#X obj 166 14 r \$0-open;
#X obj 166 35 t b a;
#X obj 85 22 r \$0-drywet;
#X obj 228 36 t b f;
#X obj 113 154 pack 100 s 1024 3000;
#X obj 344 36 t b f;
#X obj 344 14 r \$0-max-blocksize;
#X msg 143 218 blocksize \$3 \, dry/wet \$1 \, loadIR \$2 \, max-blocksize \$4;
#X obj 228 15 r \$0-min-blocksize;
#X obj 85 45 t b f;
#X obj 85 98 del 0;
#X obj 85 121 f;
#X obj 143 251 t b a a;
#X obj 113 185 t b a b;
#N canvas 497 347 297 264 save 0;
#X obj 48 16 inlet;
#N canvas 690 259 481 384 collect 0;
#X obj 47 60 inlet;
#X obj 47 274 outlet;
#X obj 98 180 list;
#X obj 166 181 t l;
#X obj 47 225 list;
#X obj 98 139 list append |;
#X obj 47 126 del 0;
#X obj 47 82 t b a;
#X text 119 75 hacky thing... replaycing " \, " with "|";
#X connect 0 0 7 0;
#X connect 2 0 3 0;
#X connect 2 0 4 1;
#X connect 3 0 2 1;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 6 0 2 1;
#X connect 6 0 4 0;
#X connect 7 0 6 0;
#X connect 7 1 5 0;
#X restore 48 38 pd collect;
#X obj 117 16 r \$0-save;
#X obj 27 130 text set \$0-savestates;
#X obj 27 104 list;
#X obj 117 62 t b f;
#X obj 117 39 clip 0 20;
#X connect 0 0 1 0;
#X connect 1 0 4 1;
#X connect 2 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 1 3 1;
#X connect 6 0 5 0;
#X restore 182 276 pd save;
#X connect 0 0 4 0;
#X connect 1 0 4 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 5 0 6 0;
#X connect 6 0 15 0;
#X connect 6 1 9 1;
#X connect 7 0 14 0;
#X connect 8 0 15 0;
#X connect 8 1 9 2;
#X connect 9 0 18 0;
#X connect 10 0 15 0;
#X connect 10 1 9 3;
#X connect 11 0 10 0;
#X connect 12 0 17 0;
#X connect 13 0 8 0;
#X connect 14 0 15 0;
#X connect 14 1 16 1;
#X connect 15 0 16 0;
#X connect 16 0 9 0;
#X connect 17 0 1 0;
#X connect 17 1 3 0;
#X connect 17 2 19 0;
#X connect 18 0 4 0;
#X connect 18 1 12 0;
#X connect 18 2 2 0;
#X restore 760 517 pd outlet-message;
#N canvas 2 57 745 476 dry/wet 0;
#X obj 182 27 inlet~;
#X obj 184 340 outlet~;
#X obj 184 272 *~;
#X obj 470 268 *~;
#X obj 548 119 line~;
#X obj 548 97 pack 0 30;
#X obj 316 229 -~;
#X obj 548 49 r \$0-drywet;
#X obj 548 72 / 50;
#X obj 330 205 clip~ 1 2;
#X obj 316 173 sig~ 2;
#X obj 519 200 clip~ 0 1;
#X obj 519 15 inlet~;
#X obj 518 119 +~;
#X obj 470 353 outlet~;
#X obj 282 27 inlet~;
#X obj 536 270 *~;
#X obj 536 355 outlet~;
#X obj 282 342 outlet~;
#X obj 282 279 *~;
#X connect 0 0 2 0;
#X connect 0 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 14 0;
#X connect 4 0 13 1;
#X connect 5 0 4 0;
#X connect 6 0 2 1;
#X connect 6 0 19 1;
#X connect 7 0 8 0;
#X connect 8 0 5 0;
#X connect 9 0 6 1;
#X connect 10 0 6 0;
#X connect 11 0 3 1;
#X connect 11 0 16 1;
#X connect 12 0 13 0;
#X connect 13 0 11 0;
#X connect 13 0 9 0;
#X connect 15 0 16 0;
#X connect 15 0 19 0;
#X connect 16 0 17 0;
#X connect 19 0 18 0;
#X restore 298 300 pd dry/wet;
#X f 39;
#X obj 530 91 inlet~;
#X text 575 91 dry/wet;
#X connect 0 0 3 0;
#X connect 2 0 28 0;
#X connect 4 0 0 1;
#X connect 4 0 15 1;
#X connect 5 0 4 0;
#X connect 6 0 10 0;
#X connect 8 0 9 0;
#X connect 9 0 6 0;
#X connect 10 0 11 0;
#X connect 10 0 12 0;
#X connect 11 0 8 0;
#X connect 14 0 28 1;
#X connect 15 0 16 0;
#X connect 17 0 0 0;
#X connect 17 1 15 0;
#X connect 18 0 3 0;
#X connect 18 1 16 0;
#X connect 19 0 28 2;
#X connect 20 0 5 0;
#X connect 24 0 25 0;
#X connect 27 0 26 0;
#X connect 28 0 18 0;
#X connect 28 1 18 1;
#X connect 28 2 17 0;
#X connect 28 3 17 1;
#X connect 29 0 19 0;
#X coords 0 -1 1 1 180 48 1 100 100;