-
Notifications
You must be signed in to change notification settings - Fork 4
/
ripple.pd
969 lines (969 loc) · 26.2 KB
/
ripple.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
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
#N struct 1003.window-frame float x float w;
#N struct 1003.zero-line float w;
#N struct 1003.cue-marker float x float clr float id;
#N struct 1003.cue-dtl float x float clr float id float vis;
#N canvas 508 266 602 571 10;
#X obj 47 112 loadbang;
#X obj 20 112 bng 17 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X floatatom 20 464 10 0 0 0 - - - 0;
#X msg 52 389 1;
#X msg 83 388 2;
#X msg 20 389 0;
#N canvas 0 106 493 269 display.stuff 0;
#N canvas 0 106 402 563 wav.detail 0;
#X obj 18 308 -;
#X obj 18 333 *;
#X obj 18 433 pack f f;
#X obj 18 184 pack f f;
#X obj 81 153 t b a;
#X msg 47 309 \$1;
#X msg 76 318 \$2;
#X obj 45 383 +;
#X obj 18 355 t a a;
#X obj 45 405 int;
#X obj 18 403 int;
#X msg 18 496 range \$1 \$2 \, update;
#X obj 91 462 s \$0.window.range;
#X obj 18 457 t a a;
#X obj 18 12 r \$0.window.position;
#X obj 123 58 r \$0.zoom;
#X obj 18 520 outlet;
#X obj 178 112 r \$0.zoom.max;
#X obj 159 89 r \$0.zoom.min;
#X obj 81 105 *;
#X obj 81 127 +;
#X msg 81 58 1 \$1;
#X obj 81 82 -;
#X obj 18 211 t a a a b, f 15;
#X obj 18 260 list prepend;
#X msg 18 236 \$2;
#X obj 159 166 -;
#X obj 178 135 t b a a;
#X obj 87 236 r \$0.length;
#X obj 24 35 r \$0.post.switch;
#X obj 18 75 f;
#X connect 0 0 1 0;
#X connect 1 0 8 0;
#X connect 2 0 13 0;
#X connect 3 0 23 0;
#X connect 4 0 3 0;
#X connect 4 1 3 1;
#X connect 5 0 1 1;
#X connect 6 0 7 1;
#X connect 7 0 9 0;
#X connect 8 0 10 0;
#X connect 8 1 7 0;
#X connect 9 0 2 1;
#X connect 10 0 2 0;
#X connect 11 0 16 0;
#X connect 13 0 11 0;
#X connect 13 1 12 0;
#X connect 14 0 30 0;
#X connect 15 0 21 0;
#X connect 17 0 27 0;
#X connect 18 0 26 0;
#X connect 19 0 20 0;
#X connect 20 0 4 0;
#X connect 21 0 22 0;
#X connect 22 0 19 0;
#X connect 23 0 25 0;
#X connect 23 1 5 0;
#X connect 23 2 6 0;
#X connect 24 0 0 0;
#X connect 25 0 24 0;
#X connect 26 0 19 1;
#X connect 27 0 26 0;
#X connect 27 1 26 1;
#X connect 27 2 20 1;
#X connect 28 0 24 1;
#X connect 29 0 30 0;
#X connect 30 0 3 0;
#X restore 9 13 pd wav.detail;
#X obj 106 127 r \$0.scale.dtl;
#X msg 106 150 scale \$1;
#X obj 270 133 array get, f 10;
#X msg 270 110 0 1200;
#X obj 270 16 r \$1.selected.instance;
#X obj 270 39 list prepend \$1;
#X msg 270 62 symbol \$1-\$2/overview;
#X obj 270 85 t b a, f 10;
#X obj 270 156 t a b;
#X msg 321 173 0;
#X obj 37 68 r \$0.src.table;
#X obj 270 207 array set \$1.wav.ov;
#X msg 37 94 source \$1;
#X obj 10 202 table \$0.dummy 2;
#X obj 9 177 rh_wavedisplay \$0.dummy \$1.wav.dtl;
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 2 0 15 0;
#X connect 3 0 9 0;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 4 0;
#X connect 8 1 3 2;
#X connect 9 0 12 0;
#X connect 9 1 10 0;
#X connect 10 0 12 1;
#X connect 11 0 13 0;
#X connect 13 0 15 0;
#X restore 457 58 pd display.stuff;
#N canvas 1238 426 317 312 gui.stuff 0;
#N canvas 73 266 450 300 window-frame 0;
#X obj 58 37 drawpolygon 555 1 1 1 w 1 w 79 1 79 1 1;
#X obj 57 62 struct \$0.window-frame float x float w;
#X restore 17 44 pd window-frame;
#N canvas 256 532 430 87 cue-marker 0;
#X obj 7 35 struct \$0.cue-marker float x float clr float id;
#X obj 7 11 drawpolygon clr 1 0 1 0 79;
#X restore 16 17 pd cue-marker;
#N canvas 0 106 450 354 create.scalars 0;
#X obj 51 283 s pd-\$0.gop;
#X obj 12 41 t b b b;
#X obj 31 216 list prepend \$0;
#X obj 12 319 outlet;
#X msg 31 241 scalar \$1.cue-marker \$2 \$3 \$4 \, scalar \$1.cue-dtl \$2 \$3 \$4 0;
#X obj 51 66 \$0;
#X msg 51 111 clear \, scalar \$1.window-frame 30 70 \, scalar \$1.zero-line 600;
#X obj 114 63 r \$0.vis.width;
#X obj 51 89 list append 600;
#X obj 12 15 r \$0.loadbang;
#X obj 94 138 r \$0.cue.clr.list;
#X obj 31 165 list append;
#X msg 31 192 0 \$1 0 \, 0 \$2 1 \, 0 \$3 2;
#X connect 1 0 3 0;
#X connect 1 1 11 0;
#X connect 1 2 5 0;
#X connect 2 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 8 0;
#X connect 6 0 0 0;
#X connect 7 0 8 1;
#X connect 8 0 6 0;
#X connect 9 0 1 0;
#X connect 10 0 11 1;
#X connect 11 0 12 0;
#X connect 12 0 2 0;
#X restore 17 69 pd create.scalars;
#N canvas 184 382 450 404 window-frame.control 0;
#X obj 243 148 pointer;
#X obj 243 94 \$0;
#X obj 7 15 r \$0.window.range;
#X obj 7 71 unpack f f;
#X obj 7 119 t a a, f 10;
#X obj 75 148 pack f f;
#X msg 75 172 \$2 \$1;
#X obj 75 196 -;
#X msg 243 123 traverse pd-\$1.gop \, next;
#X obj 112 187 r \$0.vis.width;
#X obj 216 16 inlet;
#X obj 7 95 /;
#X obj 64 95 /;
#X obj 7 253 *;
#X obj 75 250 *;
#X obj 7 276 - 1;
#X obj 112 214 - 1;
#X obj 75 275 + 1;
#X obj 7 353 set \$0.window-frame x w;
#X obj 216 65 s \$0.zoom.r;
#X obj 216 39 t b b;
#X obj 116 38 r \$0.length;
#X connect 0 0 18 2;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 11 0;
#X connect 3 1 12 0;
#X connect 4 0 13 0;
#X connect 4 1 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 14 0;
#X connect 8 0 0 0;
#X connect 9 0 16 0;
#X connect 10 0 20 0;
#X connect 11 0 4 0;
#X connect 12 0 5 1;
#X connect 13 0 15 0;
#X connect 14 0 17 0;
#X connect 15 0 18 0;
#X connect 16 0 13 1;
#X connect 16 0 14 1;
#X connect 17 0 18 1;
#X connect 20 0 19 0;
#X connect 20 1 1 0;
#X connect 21 0 12 1;
#X connect 21 0 11 1;
#X restore 17 97 pd window-frame.control;
#N canvas 256 532 430 87 cue-dtl 0;
#X obj 7 11 drawpolygon -v vis clr 1 0 81 0 199;
#X obj 7 35 struct \$0.cue-dtl float x float clr float id float vis;
#X restore 106 17 pd cue-dtl;
#N canvas 1031 135 388 513 update.cue.dtl 0;
#X obj 236 120 \$0;
#X msg 236 145 traverse pd-\$1.gop;
#X msg 178 148 next;
#X obj 178 95 t b b a, f 17;
#X obj 178 124 until;
#X obj 178 200 t a a;
#X obj 210 249 sel 0;
#X obj 46 34 r \$0.window.range;
#X obj 17 9 r \$0.position.in.window;
#X obj 71 412 r \$0.vis.width;
#X obj 56 438 *;
#X obj 178 176 pointer \$0.cue-dtl;
#X obj 210 225 get \$0.cue-dtl id;
#X obj 17 474 set \$0.cue-dtl x vis;
#X obj 17 60 b;
#X obj 17 83 del 0;
#X msg 17 106 0 \, 1 \, 2;
#X obj 17 130 t a a;
#X obj 50 186 r \$0.window.range;
#X obj 17 241 -;
#X obj 50 209 t a a;
#X msg 50 232 \$1;
#X msg 82 233 \$2 \$1;
#X obj 82 256 -;
#X obj 17 294 /;
#X obj 17 317 moses 0;
#X obj 56 340 moses 1;
#X obj 56 363 t a b;
#X msg 83 388 1;
#X msg 17 416 0;
#X obj 17 439 t a a;
#N canvas 0 304 336 198 resolve.cues 0;
#X obj 20 19 inlet;
#X obj 74 63 r \$0.instance;
#X obj 74 109 * 3;
#X obj 20 84 +;
#X obj 20 171 outlet;
#X obj 20 148 tabread \$1-cues;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 3 0 5 0;
#X connect 5 0 4 0;
#X restore 17 156 pd resolve.cues;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 2 0 11 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 3 2 6 1;
#X connect 4 0 2 0;
#X connect 5 0 13 2;
#X connect 5 1 12 0;
#X connect 6 0 4 1;
#X connect 7 0 14 0;
#X connect 8 0 14 0;
#X connect 9 0 10 1;
#X connect 10 0 13 0;
#X connect 11 0 5 0;
#X connect 11 2 4 1;
#X connect 12 0 6 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 31 0;
#X connect 17 1 3 0;
#X connect 18 0 20 0;
#X connect 19 0 24 0;
#X connect 20 0 21 0;
#X connect 20 1 22 0;
#X connect 21 0 19 1;
#X connect 22 0 23 0;
#X connect 23 0 24 1;
#X connect 24 0 25 0;
#X connect 25 0 29 0;
#X connect 25 1 26 0;
#X connect 26 0 27 0;
#X connect 26 1 29 0;
#X connect 27 0 10 0;
#X connect 27 1 28 0;
#X connect 28 0 13 1;
#X connect 29 0 30 0;
#X connect 30 0 13 0;
#X connect 30 1 13 1;
#X connect 31 0 19 0;
#X restore 17 146 pd update.cue.dtl;
#N canvas 599 597 450 300 zero-line 0;
#X obj 7 35 struct \$0.zero-line float w;
#X obj 7 11 drawpolygon 666 1 0 140 w 140;
#X restore 175 17 pd zero-line;
#N canvas 1157 258 450 416 convert.ds2iem 0;
#X obj 28 56 t a a, f 21;
#X obj 151 150 mod 10;
#X obj 28 79 div 10;
#X obj 28 102 t a a, f 11;
#X obj 91 150 mod 10;
#X obj 28 149 mod 10;
#X obj 28 125 div 10;
#X obj 28 185 clip 0 8;
#X obj 91 185 clip 0 8;
#X obj 151 185 clip 0 8;
#X obj 28 208 * 31.875;
#X obj 91 208 * 31.875;
#X obj 151 208 * 31.875;
#X obj 28 231 << 16;
#X obj 91 231 << 8;
#X obj 28 261 +, f 11;
#X obj 28 284 +, f 21;
#X obj 28 307 + 1;
#X obj 28 330 * -1;
#X obj 28 24 r \$0.convert.ds2iem.r;
#N canvas 1293 624 352 190 ds2iem 0;
#X obj 52 76 s \$0.convert.ds2iem.r;
#X obj 25 27 inlet;
#X obj 25 50 t b a;
#X obj 25 124 f;
#X obj 25 147 outlet;
#X obj 51 100 r \$0.convert.ds2iem.s;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 0 0;
#X connect 3 0 4 0;
#X connect 5 0 3 1;
#X restore 260 94 pd ds2iem;
#X obj 28 354 s \$0.convert.ds2iem.s;
#X connect 0 0 2 0;
#X connect 0 1 1 0;
#X connect 1 0 9 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 4 0;
#X connect 4 0 8 0;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X connect 7 0 10 0;
#X connect 8 0 11 0;
#X connect 9 0 12 0;
#X connect 10 0 13 0;
#X connect 11 0 14 0;
#X connect 12 0 16 1;
#X connect 13 0 15 0;
#X connect 14 0 15 1;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 21 0;
#X connect 19 0 0 0;
#X restore 17 171 pd convert.ds2iem;
#N canvas 1018 491 450 359 set.cue.clr 0;
#X obj 17 322 s, f 17;
#X obj 116 228 list prepend \$0;
#X msg 116 256 symbol \$1.cue.\$2.sld.r;
#N canvas 1293 624 352 190 ds2iem 0;
#X obj 52 76 s \$0.convert.ds2iem.r;
#X obj 25 27 inlet;
#X obj 25 50 t b a;
#X obj 25 124 f;
#X obj 25 147 outlet;
#X obj 51 100 r \$0.convert.ds2iem.s;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 0 0;
#X connect 3 0 4 0;
#X connect 5 0 3 1;
#X restore 17 229 pd ds2iem;
#X msg 17 293 color \$2 \$2 \$1;
#N canvas 0 106 383 211 append.label.clr 0;
#X obj 165 84 list append;
#X obj 228 55 r \$0.cue.clr.list;
#X obj 17 72 t a a;
#X obj 165 55 t b a;
#X obj 165 107 list split;
#X msg 193 130 \$1;
#X obj 17 115 list append;
#X obj 17 26 inlet;
#X obj 17 138 outlet;
#X connect 0 0 4 0;
#X connect 1 0 0 1;
#X connect 2 0 6 0;
#X connect 2 1 3 0;
#X connect 3 0 0 0;
#X connect 3 1 4 1;
#X connect 4 1 5 0;
#X connect 5 0 6 1;
#X connect 6 0 8 0;
#X connect 7 0 2 0;
#X restore 17 91 pd append.label.clr;
#X obj 17 151 list append 0;
#X msg 17 178 \$2 \$3 \$1;
#X obj 17 201 unpack f f f, f 17;
#X obj 17 261 pack f f;
#X obj 175 9 r \$0.cue.click;
#X obj 175 32 t a a b;
#X obj 192 61 f;
#X obj 116 62 t a b;
#X obj 174 91 t a b;
#X msg 121 130 0;
#X obj 17 15 r \$0.loadbang;
#X obj 17 65 t a b;
#X msg 17 41 1 \, 2;
#X msg 195 172 0 \$1;
#X msg 88 125 20;
#X connect 1 0 2 0;
#X connect 2 0 0 1;
#X connect 3 0 9 0;
#X connect 4 0 0 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 3 0;
#X connect 8 1 9 1;
#X connect 8 2 1 0;
#X connect 9 0 4 0;
#X connect 10 0 11 0;
#X connect 11 0 13 0;
#X connect 11 1 12 1;
#X connect 11 2 12 0;
#X connect 12 0 14 0;
#X connect 13 0 5 0;
#X connect 13 1 20 0;
#X connect 14 0 5 0;
#X connect 14 1 15 0;
#X connect 15 0 6 1;
#X connect 16 0 18 0;
#X connect 17 0 5 0;
#X connect 17 1 15 0;
#X connect 18 0 17 0;
#X connect 19 0 4 0;
#X connect 20 0 6 1;
#X restore 17 194 pd set.cue.clr;
#N canvas 991 395 415 161 cue.clicks 0;
#X obj 9 13 r \$0.cue.0.sld;
#X obj 9 36 sel;
#X obj 37 36 t a;
#X obj 101 36 sel;
#X obj 129 36 t a;
#X obj 192 36 sel;
#X obj 220 36 t a;
#X obj 101 13 r \$0.cue.1.sld;
#X obj 192 13 r \$0.cue.2.sld;
#X msg 9 59 0;
#X msg 101 59 1;
#X msg 192 59 2;
#X obj 9 99 s \$0.cue.click;
#X obj 135 117 del 0;
#X obj 135 91 r \$0.loadbang;
#X connect 0 0 1 0;
#X connect 1 0 9 0;
#X connect 1 1 2 0;
#X connect 2 0 1 1;
#X connect 3 0 10 0;
#X connect 3 1 4 0;
#X connect 4 0 3 1;
#X connect 5 0 11 0;
#X connect 5 1 6 0;
#X connect 6 0 5 1;
#X connect 7 0 3 0;
#X connect 8 0 5 0;
#X connect 9 0 12 0;
#X connect 10 0 12 0;
#X connect 11 0 12 0;
#X connect 13 0 9 0;
#X connect 14 0 13 0;
#X restore 17 218 pd cue.clicks;
#N canvas 123 227 413 180 rec.length 0;
#X obj 29 108 s \$0.length.sld.r;
#X obj 29 21 r \$0.length.sld;
#X obj 29 44 makefilename %.2fs;
#X msg 29 67 label \$1;
#X obj 201 57 / 1000;
#X obj 201 34 r \$0.default.length;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 4 0;
#X restore 16 244 pd rec.length;
#N canvas 1031 135 388 513 switch.cues 0;
#X obj 236 120 \$0;
#X msg 236 145 traverse pd-\$1.gop;
#X msg 178 148 next;
#X obj 178 95 t b b a, f 17;
#X obj 178 124 until;
#X obj 178 200 t a a;
#X obj 210 249 sel 0;
#X obj 17 60 b;
#X msg 17 106 0 \, 1 \, 2;
#X obj 17 130 t a a;
#N canvas 0 304 336 198 resolve.cues 0;
#X obj 20 19 inlet;
#X obj 74 63 r \$0.instance;
#X obj 74 109 * 3;
#X obj 20 84 +;
#X obj 20 171 outlet;
#X obj 20 148 tabread \$1-cues;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 3 0 5 0;
#X connect 5 0 4 0;
#X restore 17 156 pd resolve.cues;
#X obj 17 474 set \$0.cue-marker x;
#X obj 17 371 /;
#X obj 54 395 r \$0.vis.width;
#X obj 17 412 *;
#X obj 54 418 0;
#X obj 34 337 r \$0.length;
#X obj 178 176 pointer \$0.cue-marker;
#X obj 210 225 get \$0.cue-marker id;
#X obj 17 31 r \$0.post.switch;
#X connect 0 0 1 0;
#X connect 1 0 17 0;
#X connect 2 0 17 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 3 2 6 1;
#X connect 4 0 2 0;
#X connect 5 0 11 1;
#X connect 5 1 18 0;
#X connect 6 0 4 1;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 9 1 3 0;
#X connect 10 0 12 0;
#X connect 12 0 14 0;
#X connect 13 0 15 0;
#X connect 14 0 11 0;
#X connect 15 0 14 1;
#X connect 16 0 12 1;
#X connect 17 0 5 0;
#X connect 17 2 4 1;
#X connect 18 0 6 0;
#X connect 19 0 7 0;
#X restore 90 122 pd switch.cues;
#N canvas 1031 135 413 620 set.cue 0;
#X obj 236 120 \$0;
#X obj 178 176 pointer \$0.cue-marker;
#X msg 236 145 traverse pd-\$1.gop;
#X msg 178 148 next;
#X obj 210 225 get \$0.cue-marker id;
#X obj 178 95 t b b a, f 17;
#X obj 178 124 until;
#X obj 178 200 t a a;
#X obj 210 249 sel 0;
#X obj 23 490 set \$0.cue-marker x;
#X obj 50 104 r \$0.window.range;
#X obj 50 127 t a a;
#X obj 50 180 -;
#X obj 23 76 r \$0.position.in.window;
#X obj 23 207 *;
#X msg 50 151 \$2 \$1;
#X msg 93 153 \$1;
#X obj 23 232 +;
#X obj 23 371 /;
#X obj 60 395 r \$0.vis.width;
#X obj 23 412 *;
#X obj 60 418 0;
#X obj 23 297 t a a;
#X obj 178 37 r \$0.cue.click;
#X obj 40 337 r \$0.length;
#X obj 291 290 r \$0.instance;
#X obj 291 313 * 3;
#X obj 277 365 +;
#X obj 184 448 tabwrite \$1-cues;
#X obj 291 336 t b a;
#X connect 0 0 2 0;
#X connect 1 0 7 0;
#X connect 1 2 6 1;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 8 0;
#X connect 5 0 6 0;
#X connect 5 1 0 0;
#X connect 5 2 8 1;
#X connect 5 2 27 0;
#X connect 6 0 3 0;
#X connect 7 0 9 1;
#X connect 7 1 4 0;
#X connect 8 0 6 1;
#X connect 10 0 11 0;
#X connect 11 0 15 0;
#X connect 11 1 16 0;
#X connect 12 0 14 1;
#X connect 13 0 14 0;
#X connect 14 0 17 0;
#X connect 15 0 12 0;
#X connect 16 0 17 1;
#X connect 17 0 22 0;
#X connect 18 0 20 0;
#X connect 19 0 21 0;
#X connect 20 0 9 0;
#X connect 21 0 20 1;
#X connect 22 0 18 0;
#X connect 22 1 28 0;
#X connect 23 0 5 0;
#X connect 24 0 18 1;
#X connect 25 0 26 0;
#X connect 26 0 29 0;
#X connect 27 0 28 1;
#X connect 29 0 27 0;
#X connect 29 1 27 1;
#X restore 17 121 pd set.cue;
#N canvas 958 508 633 455 offset|pan|mode|recmode 0;
#X obj 12 87 rh_midi2notename;
#X obj 12 13 r \$1.pitchoffset.r;
#X obj 12 36 route set;
#X obj 74 58 route float;
#X msg 12 110 label \$1;
#X obj 12 133 s \$1.pitchoffset.label.r;
#X obj 74 35 r \$1.pitchoffset;
#X obj 190 17 rh_slider_doubleclick \$1.pan;
#X msg 190 40 0.5;
#X obj 190 63 s \$1.pan.r;
#X obj 194 102 r \$1.mode.click;
#X obj 194 125 sel;
#X obj 225 126 t a;
#X obj 194 223 s \$1.mode;
#X obj 194 200 mod 3;
#X obj 194 155 f;
#X obj 269 125 r \$1.mode;
#X obj 265 148 r \$1.mode.r;
#X obj 265 171 route set;
#X obj 194 178 + 1;
#X obj 287 200 r \$1.mode;
#X obj 304 226 r \$1.mode.r;
#X obj 304 249 route set;
#X obj 287 272 sel 0 1 2;
#X msg 287 337 symbol NORMAL;
#X msg 304 315 symbol ONESHOT;
#X msg 321 294 symbol LOOP;
#X msg 287 364 label \$1;
#X obj 287 387 s \$1.mode.label;
#X obj 394 125 sel;
#X obj 425 126 t a;
#X obj 394 155 f;
#X obj 465 171 route set;
#X obj 394 178 + 1;
#X obj 504 249 route set;
#X msg 487 364 label \$1;
#X obj 394 102 r \$1.recmode.click;
#X obj 394 200 mod 2;
#X obj 394 223 s \$1.recmode;
#X obj 469 125 r \$1.recmode;
#X obj 465 148 r \$1.recmode.r;
#X obj 487 200 r \$1.recmode;
#X obj 504 226 r \$1.recmode.r;
#X obj 487 272 sel 0 1;
#X obj 487 387 s \$1.recmode.label;
#X msg 506 305 symbol STEREO;
#X msg 487 337 symbol MONO;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 5 0;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 10 0 11 0;
#X connect 11 0 15 0;
#X connect 11 1 12 0;
#X connect 12 0 11 1;
#X connect 14 0 13 0;
#X connect 15 0 19 0;
#X connect 16 0 15 1;
#X connect 17 0 18 0;
#X connect 18 0 15 1;
#X connect 19 0 14 0;
#X connect 20 0 23 0;
#X connect 21 0 22 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 23 1 25 0;
#X connect 23 2 26 0;
#X connect 24 0 27 0;
#X connect 25 0 27 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 29 0 31 0;
#X connect 29 1 30 0;
#X connect 30 0 29 1;
#X connect 31 0 33 0;
#X connect 32 0 31 1;
#X connect 33 0 37 0;
#X connect 34 0 43 0;
#X connect 35 0 44 0;
#X connect 36 0 29 0;
#X connect 37 0 38 0;
#X connect 39 0 31 1;
#X connect 40 0 32 0;
#X connect 41 0 43 0;
#X connect 42 0 34 0;
#X connect 43 0 46 0;
#X connect 43 1 45 0;
#X connect 45 0 35 0;
#X connect 46 0 35 0;
#X restore 16 270 pd offset|pan|mode|recmode;
#X connect 2 0 3 0;
#X restore 457 36 pd gui.stuff;
#N canvas 694 192 473 231 recording 0;
#X obj 197 27 r \$0.rec.btn;
#X obj 197 50 sel;
#X obj 224 50 t a;
#X obj 308 136 r \$1.selected.instance;
#X obj 288 43 r \$0.length.sld;
#X obj 288 66 * 1000;
#X obj 197 94 f;
#X msg 197 117 startuntil \$1;
#X obj 197 165 list prepend;
#X obj 197 193 s \$1.sample.control;
#X obj 19 113 s~ \$1.audio.in.l;
#X obj 18 23 adc~ 1 2;
#X obj 62 85 s~ \$1.audio.in.r;
#X connect 0 0 1 0;
#X connect 1 0 6 0;
#X connect 1 1 2 0;
#X connect 2 0 1 1;
#X connect 3 0 8 1;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 11 0 10 0;
#X connect 11 1 12 0;
#X restore 457 80 pd recording;
#N canvas 564 211 629 334 \$1-ripple 0;
#X obj 10 184 cnv 15 100 15 empty empty empty 20 12 0 14 #fcfcfc #404040 0;
#X obj 13 200 hsl 595 120 0 1 0 0 \$0.position.in.window \$0.position.in.window.r ripple 120 60 0 90 #ececec #ececec #dcdcdc 0 0;
#N canvas 0 106 450 250 (subpatch) 0;
#X array \$1.wav.dtl 1200 float 2;
#X coords 0 1 1199 -1 600 120 1 0 0;
#X restore 10 200 graph;
#X obj 610 202 vsl 10 115 1 100 1 0 \$0.scale.dtl \$0.scale.dtl.r empty 0 -9 0 10 #b8b8b8 #fcfcfc #000000 0 1;
#X obj 610 122 vsl 10 75 1 100 1 0 \$1.scale.ov \$1.scale.ov.r empty 0 -9 0 10 #b8b8b8 #fcfcfc #000000 0 1;
#X obj 13 120 hsl 595 80 0 1 0 0 \$0.window.position \$0.window.position empty -2 -8 0 10 #e8f4fc #e8f4fc #000000 0 0;
#N canvas 0 50 450 250 (subpatch) 0;
#X array \$1.wav.ov 1200 float 2;
#X coords 0 1 1200 -1 600 80 1 0 0;
#X restore 10 120 graph;
#N canvas 598 479 677 501 \$0.gop 0;
#X scalar 1003.window-frame -1 1 \;;
#X scalar 1003.zero-line 600 \;;
#X scalar 1003.cue-marker 0 500 0 \;;
#X scalar 1003.cue-dtl 0 500 0 0 \;;
#X scalar 1003.cue-marker 0 50 1 \;;
#X scalar 1003.cue-dtl 0 50 1 0 \;;
#X scalar 1003.cue-marker 0 5 2 \;;
#X scalar 1003.cue-dtl 0 5 2 0 \;;
#X coords 0 0 599 199 600 200 2 20 20;
#X restore 10 120 pd \$0.gop;
#X obj 10 74 cnv 15 100 15 empty empty empty 20 12 0 14 #fcfcfc #404040 0;
#X obj 478 105 hsl 130 15 0 1 0 0 \$0.zoom \$0.zoom.r empty 2 8 0 10 #fcfcfc #9c9c9c #000000 0 1;
#X obj 13 105 hsl 60 15 1 20 1 0 \$0.length.sld \$0.length.sld.r 2.00s 4 8 0 12 #fcfcfc #b8b8b8 #404040 0 1;
#X obj 133 105 hsl 23 15 0 1 0 0 \$0.rec.btn \$1.rec.btn.r ● 7 7 0 12 #fff0f0 #fff0f0 #fc0400 0 1;
#X obj 285 90 hsl 77 15 0 1 0 0 \$1.adsr/a \$1.adsr/a.r A 4 8 0 12 #fcfcfc #b8b8b8 #404040 0 1;
#X obj 367 90 hsl 77 15 0 1 0 0 \$1.adsr/d \$1.adsr/d.r D 4 8 0 12 #fcfcfc #b8b8b8 #404040 0 1;
#X obj 449 90 hsl 77 15 0 1 0 0 \$1.adsr/s \$1.adsr/s.r S 4 8 0 12 #fcfcfc #b8b8b8 #404040 0 1;
#X obj 531 90 hsl 77 15 0 1 0 0 \$1.adsr/r \$1.adsr/r.r R 4 8 0 12 #fcfcfc #b8b8b8 #404040 0 1;
#X obj 236 90 nbx 4 14 0 127 0 0 \$1.pitchoffset \$1.pitchoffset.r empty 0 -8 0 10 #fcfcfc #000000 #000000 0 256;
#X obj 238 90 hsl 42 15 0 1 0 0 \$1.pitchoffset.label \$1.pitchoffset.label.r C4 4 8 0 12 #fcfcfc #fcfcfc #404040 0 1;
#X obj 78 90 hsl 155 15 0 1 0 0 \$1.pan \$1.pan.r PAN 4 8 0 12 #fcfcfc #b8b8b8 #404040 0 1;
#X obj 13 90 hsl 60 15 0 1 0 0 \$1.mode.click \$1.mode.label NORMAL 4 8 0 12 #fcfcfc #fcfcfc #404040 0 1;
#X obj 284 106 cnv 13 190 13 empty empty empty 20 12 0 14 #dcdcdc #404040 0;
#X obj 78 105 hsl 50 15 0 1 0 0 \$1.recmode.click \$1.recmode.label MONO 4 8 0 12 #fcfcfc #fcfcfc #404040 0 1;
#X obj 110 30 ripple-sampler \$1 2;
#X obj 210 30 ripple-sampler \$1 3;
#X obj 310 30 ripple-sampler \$1 4;
#X obj 410 30 ripple-sampler \$1 5;
#X obj 510 30 ripple-sampler \$1 6;
#X obj 10 30 ripple-sampler \$1 1;
#X obj 13 15 hsl 295 15 0 127 0 0 \$0.unpunch1 \$0.bli unpunch1 120 8 0 12 #dcdcdc #dcdcdc #404040 0 1;
#X obj 313 15 hsl 295 15 0 127 0 0 \$0.unpunch2 \$0.bli unpunch2 120 8 0 12 #dcdcdc #dcdcdc #404040 0 1;
#X obj 189 105 hsl 30 15 0 1 0 0 \$0.cue.0.sld \$0.cue.0.sld.r ▶ 2 7 0 12 #bcbcbc #bcbcbc #9f0000 0 1;
#X obj 224 105 hsl 30 15 0 1 0 0 \$0.cue.1.sld \$0.cue.1.sld.r ◤ 2 7 0 12 #fcfcfc #fcfcfc #009f00 0 1;
#X obj 259 105 hsl 30 15 0 1 0 0 \$0.cue.2.sld \$0.cue.2.sld.r ◥ 21 7 0 12 #fcfcfc #fcfcfc #00009f 0 1;
#X obj 161 105 hsl 23 15 0 1 0 0 \$0.open.btn \$1.open.btn.r ▲ 7 7 0 12 #c6ffc7 #c6ffc7 #00b904 0 1;
#X restore 20 46 pd \$1-ripple;
#X obj 20 22 netpd_head \$1 ripple;
#N canvas 764 153 394 64 NETPD 0;
#N canvas 736 324 403 137 abslist 0;
#X msg 11 18 unpunch-plus;
#X msg 11 48 i2mx;
#X msg 11 78 roman_helpers;
#X msg 11 108 ripple-sampler;
#X msg 108 108 ripple-sample-player;
#X restore 112 20 pd abslist;
#X msg 11 19 version 0 1 8;
#X restore 20 70 pd NETPD 2 0;
#X obj 195 52 sel;
#X obj 226 53 t a;
#N canvas 0 106 572 278 instances 0;
#X obj 18 24 r \$1.selected.instance;
#X obj 69 78 list prepend \$1;
#X obj 69 126 s \$0.src.table;
#X obj 35 226 s \$0.instance;
#X obj 52 201 s \$0.length;
#X obj 52 177 tabread \$1.lengths;
#X obj 450 36 r \$1.sample.info;
#X obj 450 151 route length;
#X obj 450 174 unpack f f;
#X obj 450 220 pack f f;
#X obj 450 243 s \$1.lengths;
#X obj 18 48 t b a a a;
#X obj 18 247 s \$0.post.switch;
#X obj 238 65 r \$1.sample.info;
#X obj 265 94 r \$1.selected.instance;
#X obj 238 122 route;
#X obj 238 145 route length;
#X obj 238 168 t b a;
#X obj 265 192 s \$0.length;
#X obj 238 217 s \$0.post.switch;
#X text 233 38 refresh after record;
#X text 17 3 refresh after instance switch;
#X text 453 13 store lengths;
#X obj 450 59 list split 2;
#X msg 450 82 \$2 \$1;
#X obj 450 105 list append;
#X obj 450 128 list trim;
#X obj 450 197 - 1;
#X obj 52 151 - 1;
#X msg 69 103 symbol \$1-\$2/sample/l-table;
#X connect 0 0 11 0;
#X connect 1 0 29 0;
#X connect 5 0 4 0;
#X connect 6 0 23 0;
#X connect 7 0 8 0;
#X connect 8 0 27 0;
#X connect 8 1 9 1;
#X connect 9 0 10 0;
#X connect 11 0 12 0;
#X connect 11 1 3 0;
#X connect 11 2 28 0;
#X connect 11 3 1 0;
#X connect 13 0 15 0;
#X connect 14 0 15 1;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 19 0;
#X connect 17 1 18 0;
#X connect 23 0 24 0;
#X connect 23 1 25 1;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 26 0 7 0;
#X connect 27 0 9 0;
#X connect 28 0 5 0;
#X connect 29 0 2 0;
#X restore 457 126 pd instances;
#X obj 20 335 table \$1.lengths 6;
#N canvas 0 370 336 198 resolve.cues 0;
#X obj 20 19 inlet;
#X obj 74 63 r \$0.instance;
#X obj 74 109 * 3;
#X obj 20 84 +;
#X obj 20 171 outlet;
#X obj 20 148 tabread \$1-cues;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 3 1;
#X connect 3 0 5 0;
#X connect 5 0 4 0;
#X restore 20 437 pd resolve.cues;
#X obj 171 437 tabread \$1.lengths;
#X floatatom 171 413 5 0 0 0 - - - 0;
#X floatatom 171 463 10 0 0 0 - - - 0;
#X obj 20 311 table \$1-cues 18;
#X obj 20 137 list append \$0 \$1;
#X text 248 306 cues are offset by one instance (3 indices);
#X obj 235 153 pack f f f;
#X obj 235 107 list split 2, f 21;
#X obj 235 176 list append;
#N canvas 0 106 384 205 aggregate.switch~ 0;
#X obj 16 10 inlet;
#X obj 16 38 t b a;
#X obj 43 64 s \$0.switches;
#X obj 16 84 array max \$0.switches;
#X obj 16 107 change -1;
#X obj 16 130 outlet;
#X obj 54 40 table \$0.switches 33;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X restore 454 225 pd aggregate.switch~;
#X msg 20 162 \; \$1.default.length 2000 \; \$1.vis.width 600 \; \$1.zoom.min 4000 \; \$1.zoom.max 600 \; \$1.cue.clr.list 500 50 5 \; \$1.loadbang bang \; \$2.selected.instance 1 \;;
#X obj 128 311 netpd_t \$1 cues 22;
#X text 248 332 to circumvent netpd_t bug. And there is another bug with updating last value \, thus 22 instead 18;
#X obj 235 202 clone -s 1 ripple-sample-player 32 \$1;
#X obj 235 130 poly 32 1;
#X obj 234 249 i2mx \$1 ripple, f 37;
#X obj 195 29 r \$0.unpunch1;
#X obj 196 75 unpunch-plus \$1 1;
#X obj 305 52 sel;
#X obj 336 53 t a;
#X obj 306 75 unpunch-plus \$1 2;
#X obj 305 29 r \$0.unpunch2;
#N canvas 1260 366 459 372 loadfile 0;
#X obj 27 39 sel;
#X obj 54 39 t a;
#X obj 138 258 r \$1.selected.instance;
#X obj 310 79 r \$0.length.sld;
#X obj 27 287 list prepend;
#X obj 27 315 s \$1.sample.control;
#X obj 27 16 r \$0.open.btn;
#X obj 27 62 openpanel;
#X obj 27 129 soundfiler;
#X msg 27 106 read \$2 \$1.load.cache.l \$1.load.cache.r;
#X obj 277 28 table \$1.load.cache.r 882000;
#X obj 277 8 table \$1.load.cache.l 882000;
#X obj 27 85 list prepend \$1;
#X obj 310 149 *;
#X obj 310 102 t a b;
#X obj 337 126 samplerate~;
#X obj 27 192 min;
#X msg 27 217 load_from_cache 0 \$1;
#X connect 0 0 7 0;
#X connect 0 1 1 0;
#X connect 1 0 0 1;
#X connect 2 0 4 1;
#X connect 3 0 14 0;
#X connect 4 0 5 0;
#X connect 6 0 0 0;
#X connect 7 0 12 0;
#X connect 8 0 16 0;
#X connect 9 0 8 0;
#X connect 12 0 9 0;
#X connect 13 0 16 1;
#X connect 14 0 13 0;
#X connect 14 1 15 0;
#X connect 15 0 13 1;
#X connect 16 0 17 0;
#X connect 17 0 4 0;
#X restore 457 103 pd loadfile;
#X connect 0 0 21 0;
#X connect 1 0 21 0;
#X connect 3 0 16 0;
#X connect 4 0 16 0;
#X connect 5 0 16 0;
#X connect 12 0 34 0;
#X connect 12 1 13 0;
#X connect 13 0 12 1;
#X connect 16 0 2 0;
#X connect 17 0 19 0;
#X connect 18 0 17 0;
#X connect 21 0 27 0;
#X connect 23 0 25 0;
#X connect 24 0 31 0;
#X connect 24 1 25 1;
#X connect 25 0 30 0;
#X connect 26 0 32 2;
#X connect 30 0 32 0;
#X connect 30 1 32 1;
#X connect 30 2 26 0;
#X connect 31 0 23 0;
#X connect 31 1 23 1;
#X connect 31 2 23 2;
#X connect 33 0 12 0;
#X connect 34 0 24 0;
#X connect 35 0 37 0;
#X connect 35 1 36 0;
#X connect 36 0 35 1;
#X connect 37 0 24 0;
#X connect 38 0 35 0;