-
Notifications
You must be signed in to change notification settings - Fork 0
/
raptor6.pd
1827 lines (1827 loc) · 48.2 KB
/
raptor6.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
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#N canvas 470 125 592 580 10;
#X declare -path lib;
#X obj 251 250 bng 25 250 50 0 \$0-play empty empty 17 7 0 10 -262144
-1 -1;
#X obj 251 225 bng 25 250 50 0 \$0-play empty empty 17 7 0 10 -262144
-1 -1;
#X msg 42 86 panic;
#X msg 213 213 240;
#X msg 128 213 120;
#X msg 101 213 100;
#X msg 185 213 200;
#X floatatom 22 287 7 0 0 1 ms - #0-ms;
#X msg 22 213 50;
#X msg 49 213 60;
#X msg 22 310 4;
#X msg 52 310 8;
#X msg 82 310 9;
#X msg 112 310 12;
#X msg 142 310 15;
#X text 92 192 tempo;
#X msg 122 340 3 2 2;
#X msg 166 340 2 3 2;
#X obj 22 30 tgl 20 0 empty \$0-play play -1 -11 0 10 -109534 -1 -1
0 1;
#N canvas 300 175 475 440 tempo 0;
#X obj 30 10 inlet;
#X obj 30 105 change;
#X obj 204 143 t b f;
#X msg 160 210 tempo \$1;
#X obj 30 230 outlet;
#X obj 160 235 s \$0-arp;
#X obj 30 130 t f f;
#X obj 30 40 hsl 128 15 40 480 0 0 empty empty empty -25 5 0 10 -262144
-1 -1 1732 1;
#X floatatom 170 40 6 40 480 0 - #0-tempo -;
#X obj 80 210 v \$0-ms;
#X obj 30 270 r \$0-ms;
#X obj 30 295 change;
#X msg 30 210 set \$1;
#X floatatom 30 345 5 0 0 0 - - #0-tempo;
#X obj 30 185 t f f f;
#X obj 80 230 s \$0-tick;
#X obj 30 160 expr 60000/$f1*4/max(1 \, $f2);
#X obj 30 320 expr 60000/$f1*4/max(1 \, $f2);
#X obj 204 118 r \$0-m;
#X obj 204 303 r \$0-m;
#X connect 0 0 7 0;
#X connect 1 0 6 0;
#X connect 2 0 16 0;
#X connect 2 1 16 1;
#X connect 3 0 5 0;
#X connect 6 0 16 0;
#X connect 6 1 3 0;
#X connect 7 0 1 0;
#X connect 8 0 7 0;
#X connect 10 0 11 0;
#X connect 11 0 17 0;
#X connect 12 0 4 0;
#X connect 14 0 12 0;
#X connect 14 1 15 0;
#X connect 14 2 9 0;
#X connect 16 0 14 0;
#X connect 17 0 13 0;
#X connect 18 0 2 0;
#X connect 19 0 17 1;
#X coords 0 -1 1 1 185 37 1 26 22;
#X restore 22 242 pd tempo;
#N canvas 705 32 484 740 meter 0;
#X obj 30 100 inlet;
#X obj 30 125 route float list;
#X msg 30 250 meter \$1;
#X obj 150 202 list prepend meter;
#X obj 150 225 list trim;
#X obj 30 275 s \$0-arp;
#X obj 30 202 change;
#X obj 30 150 expr rint($f1);
#X msg 100 250 set \$1;
#X obj 270 225 list trim;
#X obj 270 202 list prepend set;
#X obj 270 275 outlet;
#X obj 30 225 t f f b;
#X msg 200 250 set;
#X msg 184 173 set 0;
#X obj 150 100 r \$0-meter;
#X obj 100 275 s \$0-meter-set;
#X obj 150 150 t a a b a;
#N canvas 250 240 450 405 product 0;
#X obj 20 20 inlet;
#X msg 100 100 1;
#X obj 20 125 *;
#X obj 50 125 f;
#X obj 20 160 f;
#X obj 20 45 t b a b;
#X obj 20 185 outlet;
#X text 140 60 Calculate the product of a list. NOTE: We use the zexy
version of drip here \, so you need to have that installed \, or replace
it with a suitable replacement \, such as list-drip from list-abs.
, f 44;
#X obj 20 100 drip;
#X connect 0 0 5 0;
#X connect 1 0 2 1;
#X connect 2 0 3 0;
#X connect 2 0 4 1;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 5 1 8 0;
#X connect 5 2 1 0;
#X connect 8 0 2 0;
#X restore 270 173 pd product;
#X obj 30 46 hsl 128 15 1 24 0 0 empty \$0-meter-set empty -2 -8 0
10 -262144 -1 -1 7730 1;
#X floatatom 170 25 6 1 24 0 - - -;
#X floatatom 170 45 6 1 64 0 - - -;
#X floatatom 100 300 5 0 0 0 - - -;
#X obj 30 175 t f f;
#X obj 100 225 t f f;
#X floatatom 100 374 5 0 0 0 - - -;
#X msg 100 398 meter-base \$1;
#X obj 100 324 expr pow(2 \, ceil(log($f1)/log(2)));
#X obj 240 69 change;
#X obj 240 94 t f f;
#X obj 240 119 s \$0-m;
#X obj 240 20 r \$0-meter-base;
#X obj 360 20 r \$0-meter-set;
#N canvas 637 162 453 352 clamp1 0;
#X obj 30 10 inlet;
#X obj 30 35 route set;
#X obj 30 60 moses 1;
#X msg 30 85 set \$1;
#X obj 30 110 outlet;
#X obj 90 60 moses 1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 5 0;
#X connect 2 1 3 0;
#X connect 3 0 4 0;
#X connect 5 1 4 0;
#X restore 360 44 pd clamp1;
#N canvas 636 162 454 379 clamp1 0;
#X obj 30 10 inlet;
#X obj 30 35 route set;
#X obj 30 60 moses 1;
#X msg 30 85 set \$1;
#X obj 30 110 outlet;
#X obj 90 60 moses 1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 5 0;
#X connect 2 1 3 0;
#X connect 3 0 4 0;
#X connect 5 1 4 0;
#X restore 240 44 pd clamp1;
#X connect 0 0 1 0;
#X connect 1 0 7 0;
#X connect 1 1 17 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 12 0;
#X connect 7 0 23 0;
#X connect 8 0 16 0;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 12 0 2 0;
#X connect 12 1 8 0;
#X connect 12 2 13 0;
#X connect 13 0 11 0;
#X connect 14 0 6 0;
#X connect 15 0 1 0;
#X connect 17 0 3 0;
#X connect 17 1 10 0;
#X connect 17 2 14 0;
#X connect 17 3 18 0;
#X connect 18 0 24 0;
#X connect 19 0 1 0;
#X connect 20 0 1 0;
#X connect 21 0 28 0;
#X connect 22 0 27 0;
#X connect 23 0 6 0;
#X connect 23 1 22 0;
#X connect 24 0 8 0;
#X connect 24 1 22 0;
#X connect 25 0 26 0;
#X connect 26 0 5 0;
#X connect 27 0 25 0;
#X connect 28 0 29 0;
#X connect 29 0 30 0;
#X connect 29 1 25 0;
#X connect 31 0 34 0;
#X connect 32 0 33 0;
#X connect 33 0 20 0;
#X connect 34 0 21 0;
#X coords 0 -1 1 1 185 43 1 26 22;
#X restore 22 357 pd meter;
#X symbolatom 506 340 10 0 0 0 - #0-preset #0-preset-set;
#X obj 212 31 vradio 15 0 1 8 empty \$0-mod-switch mod-switch 0 -8
0 10 -262144 -1 -1 0;
#X text 232 45 velmod;
#X text 232 60 pmod;
#X text 232 75 gate;
#X text 232 91 gatemod;
#X text 232 106 swing;
#N canvas 600 29 484 743 init 0;
#X obj 70 20 loadbang;
#X obj 210 20 declare -path lib;
#X obj 117 70 f \$0;
#X obj 117 95 t f f;
#X msg 101 370 set default;
#X obj 101 395 s \$0-preset;
#X msg 117 120 \; \$1-hmin 0 \; \$1-hmax 100 \; \$1-hmod 0 \; \$1-pref
100 \; \$1-prefmod 0 \; \$1-smin 1 \; \$1-smax 7 \; \$1-smod 0 \; \$1-uniq
1 \; \$1-nmax 1 \; \$1-nmod 0 \; \$1-pitchtracker 0 \; \$1-pitchlo
0 \; \$1-pitchhi 0;
#X msg 274 120 \; \$1-tempo 100 \; \$1-meter 15 \; \$1-swing 0 \; \$1-mode
1 \; \$1-raptor 0 \; \$1-minvel 60 \; \$1-maxvel 120 \; \$1-velmod
100 \; \$1-pmin 30 \; \$1-pmax 100 \; \$1-pmod 0 \; \$1-gate 100 \;
\$1-gatemod 0 \; \$1-gain 64 \; \$1-pan 64 \; \$1-pgm 1 \; \$1-inchan
1 \; \$1-outchan 1 \; \$1-down -1 \; \$1-up 1 \; \$1-transp 0 \; \$1-loopsize
4;
#X obj 70 480 symbol \$1;
#X obj 70 505 s \$0-change-preset;
#X obj 85 635 s \$0-op;
#X text 20 540 This is important. MIDI CCs are handled in the presets
\, but we don't want every preset to update the GUI \, just one of
them. "default" is supposed to always exist \, so use that one. (And
better don't remove it \, otherwise MIDI control will stop working.)
, f 73;
#X msg 85 610 symbol default;
#X text 170 80 factory defaults \, edit as needed;
#X text 20 440 autostart preset NOTE: to *always* recall the same preset
at startup \, change \$0 to the preset name \, e.g.:;
#X obj 296 456 symbol triplet;
#X text 20 330 initialize the preset name shown in the symbol box:
, f 40;
#X obj 70 45 t b b b b b;
#N canvas 307 195 453 352 looper-init 0;
#X msg 20 180 dir;
#X obj 20 205 iemguts/try canvasinfo \, pdcontrol;
#X msg 20 230 loopdir \$1;
#X obj 20 20 inlet;
#X text 30 50 Kludge alert: The actual cwd depends on how Pd was invoked
\, and the Lua external doesn't know anything about canvas directories
\, so we need to tell the looper where to look. NB1: This *must* come
first \, before any of the defaults are sent., f 44;
#X text 60 140 NB2: We need either canvasinfo (pd-l2ork) or pdcontrol
(vanilla) here to make this work (and iemguts/try to figure out what
we have). So if you insist on using vanilla \, make sure that it's
a fairly recent version.;
#X obj 20 255 s \$0-myarp;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 0 0;
#X restore 210 50 pd looper-init;
#X text 230 620 pd-lua live-coding support;
#X obj 230 650 pdlua-remote;
#X connect 0 0 17 0;
#X connect 2 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 7 0;
#X connect 4 0 5 0;
#X connect 8 0 9 0;
#X connect 12 0 10 0;
#X connect 17 0 8 0;
#X connect 17 1 12 0;
#X connect 17 2 4 0;
#X connect 17 3 2 0;
#X connect 17 4 18 0;
#X restore 302 340 pd init;
#N canvas 2990 29 888 717 arp 0;
#X floatatom 20 428 5 0 0 0 - - -;
#X floatatom 66 428 5 0 0 0 - - -;
#X obj 20 501 makenote 127 160;
#N canvas 725 185 465 508 gate 0;
#X obj 50 20 inlet;
#X obj 50 120 * 1;
#X floatatom 50 50 5 0 0 0 - - -;
#X obj 50 145 outlet;
#X obj 50 79 t f b;
#X obj 77 100 v \$0-ms;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 4 0 1 0;
#X connect 4 1 5 0;
#X connect 5 0 1 1;
#X restore 113 428 pd gate;
#X obj 20 400 unpack f f f;
#X obj 20 480 pipe;
#X obj 20 530 noteout;
#X obj 192 545 pgmout;
#X obj 230 515 t f f f b;
#X msg 281 545 0;
#X obj 281 570 ctlout 123;
#X text 20 340 - output -;
#X obj 48 150 change;
#X obj 280 23 notein;
#X obj 280 142 trace 300;
#X floatatom 331 120 5 0 0 0 - #0-trace -;
#X text 20 20 - input -;
#X obj 140 280 arpeggio 15;
#X obj 140 250 inlet;
#X obj 580 286 change;
#X floatatom 580 310 5 0 0 0 - - #0-n;
#X floatatom 400 266 5 0 0 0 - - -;
#X obj 400 464 spigot;
#X obj 470 438 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 400 489 spigot;
#X obj 276 340 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 400 341 5 0 0 0 - - -;
#X obj 400 390 expr rint($f1*60)+60;
#X floatatom 400 415 5 0 0 0 - - -;
#X obj 400 614 makenote 127 160, f 18;
#X obj 400 639 noteout 10;
#X obj 640 321 loadbang;
#X floatatom 640 371 5 0 0 0 - - -;
#X obj 540 391 expr $f1>$f2;
#X obj 400 316 expr ($f1+1)/$f2;
#X msg 640 346 0.4;
#X obj 230 340 bng 15 150 10 0 empty empty empty 17 7 0 10 -166441
-33289 -33289;
#X obj 550 336 expr $f1==1;
#X obj 400 365 t f f f;
#X obj 550 361 sel 1;
#X obj 202 340 hsl 20 15 0 1 0 0 empty empty empty -2 -8 0 10 -166441
-1 -1 0 1;
#X obj 690 371 sel 0;
#X obj 690 401 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 723 261 inlet;
#X msg 723 321 1;
#X obj 690 424 spigot;
#X obj 690 449 t b b;
#X msg 690 474 0;
#X msg 723 474 0;
#X obj 723 401 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 756 474 1;
#X obj 723 286 sel 0 1;
#X floatatom 600 501 5 0 0 0 - - -;
#X msg 600 525 color \$1 12 12;
#X msg 620 471 1;
#X msg 580 471 13;
#X obj 400 514 pipe;
#N canvas 50 147 465 594 swing 0;
#X text 30 10 experimental humanizer / swing feature;
#X floatatom 230 40 5 0 100 0 - #0-swing -;
#X floatatom 30 175 5 0 0 0 - - -;
#X obj 30 249 *;
#X floatatom 30 274 5 0 0 0 - - -;
#X obj 30 298 outlet;
#X obj 30 114 expr $f1/max(1 \, $f2-1);
#X obj 230 114 / 100;
#X obj 30 90 inlet;
#X obj 30 150 expr if($f3>=0 \, $f3*(1-$f1)*$f2 \, -$f3*$f1*$f2);
#X obj 230 64 t f f;
#X obj 230 89 abs;
#X obj 303 90 expr ($f1>0)-($f1<0);
#X obj 159 90 r \$0-n;
#X obj 57 224 v \$0-ms;
#X obj 30 199 t f b;
#X connect 1 0 10 0;
#X connect 2 0 15 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 9 0;
#X connect 7 0 9 1;
#X connect 8 0 6 0;
#X connect 9 0 2 0;
#X connect 10 0 11 0;
#X connect 10 1 12 0;
#X connect 11 0 7 0;
#X connect 12 0 9 2;
#X connect 13 0 6 1;
#X connect 14 0 3 1;
#X connect 15 0 3 0;
#X connect 15 1 14 0;
#X restore 460 464 pd swing;
#X obj 460 489 t f f;
#X obj 400 290 t f f f;
#X text 580 250 - time -;
#X text 100 220 - arpeggiator external -;
#X obj 130 370 hsl 32 15 0 600 0 1 \$0-trace empty trace -2 -8 0 10
-262144 -1 -1 1550 1;
#X obj 171 370 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 171 430 300;
#X obj 20 45 r \$0-arp;
#X obj 20 107 s \$0-tempo;
#X obj 48 175 s \$0-swing;
#X obj 493 286 r \$0-n;
#X obj 690 499 s \$0-metro;
#X obj 760 350 r stop;
#X obj 760 375 t b b;
#X msg 760 410 set 0;
#X obj 760 435 s \$0-play;
#X obj 450 415 r \$0-master;
#X obj 400 439 spigot;
#X obj 180 250 r all-arp;
#N canvas 665 197 457 271 notefilter 0;
#X obj 30 30 inlet;
#X obj 30 85 pack f f;
#X obj 30 110 spigot;
#X obj 140 55 swap;
#X obj 140 110 route 0;
#X msg 140 135 1;
#X obj 90 85 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X obj 179 135 ==;
#X obj 30 135 unpack f f;
#X obj 140 80 pack f f;
#X obj 30 180 outlet;
#X obj 87 180 outlet;
#X obj 190 30 r \$0-inch;
#X obj 30 55 unpack f f f;
#X connect 0 0 13 0;
#X connect 1 0 2 0;
#X connect 2 0 8 0;
#X connect 3 0 9 0;
#X connect 3 1 9 1;
#X connect 4 0 5 0;
#X connect 4 1 7 0;
#X connect 5 0 6 0;
#X connect 6 0 2 1;
#X connect 7 0 6 0;
#X connect 8 0 10 0;
#X connect 8 1 11 0;
#X connect 9 0 4 0;
#X connect 12 0 3 1;
#X connect 13 0 1 0;
#X connect 13 1 1 1;
#X connect 13 2 3 0;
#X restore 280 100 pd notefilter;
#X obj 268 595 ctlout 8;
#X obj 195 370 hsl 32 15 0 127 0 0 empty \$0-gain gain -2 -8 0 10 -262144
-1 -1 1562 1;
#X obj 400 589 t a b;
#X obj 505 589 v \$0-ms;
#X msg 195 430 gain \$1;
#X obj 195 455 s \$0-arp;
#X obj 163 150 s \$0-inch;
#X obj 70 250 r \$0-myarp;
#X obj 280 166 s \$0-myarp;
#X obj 611 75 s \$0-myarp;
#N canvas 165 250 455 432 harm-sweep 0;
#X text 20 10 harm-sweep messages - filtered out;
#X obj 20 40 inlet;
#X obj 20 65 route harm-from harm-to pref-from pref-to harm-time pref-time
harm-sweep pref-sweep part target;
#X obj 20 103 outlet;
#X connect 1 0 2 0;
#X connect 2 10 3 0;
#X restore 192 175 pd harm-sweep;
#X obj 20 590 r \$0-inch;
#X obj 236 403 tgl 15 1 empty empty bend -2 -8 0 10 -262144 -1 -1 1
1;
#X obj 265 403 tgl 15 1 empty empty touch -2 -8 0 10 -262144 -1 -1
0 1;
#X obj 20 640 bendout;
#X obj 80 640 touchout;
#X obj 106 107 s \$0-meter-base;
#X obj 210 590 tgl 15 0 empty empty mute 17 7 0 10 -262144 -1 -1 0
1;
#X obj 210 613 == 0;
#X obj 150 613 && 1;
#X obj 100 613 && 1;
#X obj 20 374 spigot 1;
#X obj 590 100 r \$0-n;
#X obj 575 150 *;
#X floatatom 575 175 5 0 0 0 - - -;
#X obj 590 125 t b f;
#X msg 575 199 loopsize \$1;
#X text 530 20 - looper -;
#X obj 500 50 route loop loopsize;
#X obj 500 75 t f f;
#X obj 280 48 pack f f f;
#X obj 280 73 spigot 1;
#X obj 500 120 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 500 143 loop \$1;
#X obj 192 490 route pgm outchan pan mute;
#X obj 527 120 == 0;
#X obj 527 170 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 527 193 t f f;
#X obj 527 218 sel 0;
#X msg 527 243 panic;
#X obj 715 30 r \$0-n;
#X obj 700 60 /;
#X floatatom 700 85 5 0 0 0 - - -;
#X obj 700 109 t b f;
#X msg 737 130 set \$1;
#X obj 737 155 s \$0-loopsize;
#X msg 700 130 1;
#X obj 700 155 t f f;
#X msg 700 180 set \$1;
#X obj 700 205 s \$0-loop;
#X obj 192 130 s \$0-cch;
#X obj 400 55 sel 0;
#X obj 400 80 s \$0-loopstart;
#X obj 400 539 swap;
#X obj 400 564 pack 54 f;
#X obj 320 380 nbx 2 14 35 81 0 1 empty empty empty 0 -8 0 10 -262144
-1 -1 54 256;
#X floatatom 250 340 3 35 81 0 - - -;
#X obj 320 360 change;
#X obj 400 30 t f f;
#X obj 415 100 r \$0-n;
#X floatatom 440 50 5 0 0 0 - - -;
#X obj 400 130 div;
#X obj 400 180 change;
#X obj 400 205 s \$0-loopcounter;
#X obj 400 155 + 1;
#X obj 140 305 route list loopsize loopidx loop;
#X obj 340 330 tgl 15 0 \$0-loopcheck empty empty 17 7 0 10 -262144
-1 -1 1 1;
#X obj 20 70 route tempo swing meter meter-base transp inchan cchan
, f 34;
#X obj 236 370 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 236 430 64;
#X floatatom 259 370 5 0 0 2 - #0-transp -;
#X msg 259 430 transp \$1;
#X obj 20 452 +;
#X text 254 356 transp;
#X obj 130 403 hradio 15 0 1 3 empty empty thru/transp -2 -8 0 10 -262144
-1 -1 0;
#X text 20 563 - thru -;
#X obj 20 615 thru;
#X obj 150 640 noteout;
#X obj 210 640 spigot;
#X obj 210 665 s \$0-transp;
#X obj 554 170 tgl 15 0 \$0-loop-playing empty empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj 527 96 t f f;
#X obj 260 640 tgl 15 0 empty \$0-loop-playing empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj 100 563 nbx 3 14 0 127 0 1 empty empty empty 0 -8 0 10 -262144
-1 -1 60 256;
#X floatatom 179 402 3 0 127 2 - - -;
#X obj 100 540 change;
#X connect 0 0 150 0;
#X connect 1 0 2 1;
#X connect 2 0 6 0;
#X connect 2 1 6 1;
#X connect 3 0 2 2;
#X connect 4 0 0 0;
#X connect 4 1 1 0;
#X connect 4 2 3 0;
#X connect 5 0 2 0;
#X connect 8 0 6 2;
#X connect 8 1 7 1;
#X connect 8 2 10 2;
#X connect 8 2 78 2;
#X connect 8 2 92 1;
#X connect 8 2 93 1;
#X connect 8 2 155 2;
#X connect 8 3 9 0;
#X connect 9 0 10 0;
#X connect 12 0 67 0;
#X connect 13 0 108 0;
#X connect 13 1 108 1;
#X connect 13 2 108 2;
#X connect 14 0 86 0;
#X connect 15 0 14 2;
#X connect 17 0 143 0;
#X connect 17 1 21 0;
#X connect 17 2 19 0;
#X connect 18 0 17 0;
#X connect 19 0 20 0;
#X connect 21 0 59 0;
#X connect 22 0 24 0;
#X connect 23 0 22 1;
#X connect 24 0 56 0;
#X connect 25 0 24 1;
#X connect 26 0 38 0;
#X connect 27 0 28 0;
#X connect 28 0 75 0;
#X connect 29 0 30 0;
#X connect 29 1 30 1;
#X connect 31 0 35 0;
#X connect 32 0 33 1;
#X connect 33 0 23 0;
#X connect 34 0 26 0;
#X connect 35 0 32 0;
#X connect 37 0 39 0;
#X connect 38 0 27 0;
#X connect 38 1 33 0;
#X connect 38 2 37 0;
#X connect 38 2 40 0;
#X connect 39 0 36 0;
#X connect 41 0 42 0;
#X connect 42 0 45 0;
#X connect 43 0 51 0;
#X connect 44 0 49 0;
#X connect 45 0 46 0;
#X connect 46 0 47 0;
#X connect 46 0 54 0;
#X connect 46 1 48 0;
#X connect 47 0 69 0;
#X connect 48 0 49 0;
#X connect 49 0 45 1;
#X connect 50 0 69 0;
#X connect 51 0 44 0;
#X connect 51 0 55 0;
#X connect 51 1 50 0;
#X connect 52 0 53 0;
#X connect 53 0 36 0;
#X connect 54 0 52 0;
#X connect 55 0 52 0;
#X connect 56 0 131 0;
#X connect 57 0 58 0;
#X connect 58 0 56 1;
#X connect 58 1 5 1;
#X connect 59 0 34 0;
#X connect 59 1 57 0;
#X connect 59 2 41 0;
#X connect 63 0 64 0;
#X connect 64 0 62 0;
#X connect 65 0 145 0;
#X connect 68 0 34 1;
#X connect 70 0 71 0;
#X connect 71 0 46 0;
#X connect 71 1 72 0;
#X connect 72 0 73 0;
#X connect 74 0 75 1;
#X connect 75 0 22 0;
#X connect 76 0 17 0;
#X connect 77 0 14 0;
#X connect 77 1 14 1;
#X connect 79 0 82 0;
#X connect 80 0 29 0;
#X connect 80 1 81 0;
#X connect 81 0 29 2;
#X connect 82 0 83 0;
#X connect 85 0 17 0;
#X connect 88 0 112 0;
#X connect 89 0 154 0;
#X connect 90 0 98 0;
#X connect 91 0 97 0;
#X connect 95 0 96 0;
#X connect 96 0 97 1;
#X connect 96 0 98 1;
#X connect 96 0 99 1;
#X connect 97 0 154 2;
#X connect 98 0 154 1;
#X connect 99 0 4 0;
#X connect 100 0 103 0;
#X connect 101 0 102 0;
#X connect 102 0 104 0;
#X connect 103 0 101 0;
#X connect 103 1 101 1;
#X connect 104 0 87 0;
#X connect 106 0 107 0;
#X connect 106 1 101 0;
#X connect 106 2 87 0;
#X connect 107 0 110 0;
#X connect 107 1 159 0;
#X connect 108 0 109 0;
#X connect 109 0 77 0;
#X connect 110 0 111 0;
#X connect 111 0 87 0;
#X connect 112 0 7 0;
#X connect 112 1 8 0;
#X connect 112 2 78 0;
#X connect 112 3 95 0;
#X connect 112 4 106 0;
#X connect 113 0 114 0;
#X connect 114 0 115 0;
#X connect 115 0 116 0;
#X connect 115 1 109 1;
#X connect 116 0 117 0;
#X connect 117 0 87 0;
#X connect 118 0 119 1;
#X connect 119 0 120 0;
#X connect 120 0 121 0;
#X connect 121 0 124 0;
#X connect 121 1 122 0;
#X connect 122 0 123 0;
#X connect 124 0 125 0;
#X connect 125 0 126 0;
#X connect 125 1 159 0;
#X connect 126 0 127 0;
#X connect 129 0 130 0;
#X connect 131 0 132 0;
#X connect 131 1 132 1;
#X connect 132 0 80 0;
#X connect 133 0 131 1;
#X connect 133 0 134 0;
#X connect 134 0 135 0;
#X connect 135 0 133 0;
#X connect 136 0 129 0;
#X connect 136 1 138 0;
#X connect 137 0 139 1;
#X connect 138 0 139 0;
#X connect 139 0 142 0;
#X connect 140 0 141 0;
#X connect 142 0 140 0;
#X connect 143 0 99 0;
#X connect 143 1 119 0;
#X connect 143 2 136 0;
#X connect 143 3 144 0;
#X connect 145 0 66 0;
#X connect 145 1 12 0;
#X connect 145 2 17 1;
#X connect 145 3 94 0;
#X connect 145 4 150 1;
#X connect 145 5 84 0;
#X connect 145 6 128 0;
#X connect 145 7 88 0;
#X connect 146 0 147 0;
#X connect 147 0 79 0;
#X connect 148 0 149 0;
#X connect 149 0 83 0;
#X connect 150 0 5 0;
#X connect 152 0 154 3;
#X connect 154 0 92 0;
#X connect 154 1 93 0;
#X connect 154 2 155 0;
#X connect 154 3 156 0;
#X connect 156 0 157 0;
#X connect 159 0 113 0;
#X connect 159 1 158 0;
#X connect 160 0 156 1;
#X connect 161 0 154 4;
#X connect 161 0 162 0;
#X connect 162 0 163 0;
#X connect 163 0 161 0;
#X coords 0 -1 1 1 167 84 1 127 337;
#X restore 22 103 pd arp;
#N canvas 1770 29 574 717 control 0;
#X obj 380 115 sel 0;
#X obj 380 140 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 30 210 5 0 0 0 down - #0-down;
#X floatatom 100 210 5 0 0 0 up - #0-up;
#X floatatom 290 213 5 0 0 0 mod-val - #0-mod-val;
#X obj 320 115 == 0;
#X obj 250 140 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 320 140 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 290 188 * 100;
#X obj 331 188 int;
#X obj 22 467 swap;
#X obj 22 492 pack f f;
#X floatatom 55 542 5 0 0 1 gate - #0-gate;
#X floatatom 38 587 5 0 0 1 pmod - #0-pmod;
#X obj 142 442 inlet;
#X obj 250 115 != 0;
#X obj 38 562 expr $f1-100;
#X obj 438 455 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 438 433 != 0;
#X floatatom 142 467 5 0 0 0 - - -;
#X floatatom 240 612 5 0 0 1 velmod - #0-velmod;
#X obj 22 612 expr if($f1>=100 \, 200-$f1 \, $f1-100);
#X floatatom 120 587 5 0 0 1 gatemod - #0-gatemod;
#X obj 120 562 expr $f1-100;
#X floatatom 219 587 5 0 0 1 swing - #0-swing;
#X obj 219 534 expr $f1-100;
#X obj 219 562 * 0.25;
#X floatatom 252 502 5 0 1 0 - - -;
#X text 310 470 adjust the swing factor to your liking, f 14;
#N canvas 662 242 458 432 swing 0;
#X obj 20 20 r arp;
#X obj 20 41 route swing;
#X obj 20 104 change;
#X obj 20 125 / 100;
#X obj 20 146 outlet;
#X obj 20 62 sel 0;
#X obj 20 83 abs;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 5 1 6 0;
#X connect 6 0 2 0;
#X restore 252 472 pd swing;
#X obj 380 165 s \$0-play;
#X obj 230 390 s \$0-mode;
#X obj 438 475 s \$0-hold;
#N canvas 825 257 455 515 mod 0;
#X obj 40 20 inlet;
#X obj 217 20 inlet;
#X obj 40 70 outlet;
#X obj 40 45 expr if($f2==0 \, 2-$f1 \, $f1);
#X connect 0 0 3 0;
#X connect 1 0 3 1;
#X connect 3 0 2 0;
#X restore 320 163 pd mod;
#X text 225 163 mod shift -->;
#X text 440 140 play/stop;
#X text 12 12 NOTE: This control setup is for the Nektar PACER \, if
you use a different MIDI controller \, you'll have to change the controls
below accordingly. A suitably modified Pacer setup (.syx file) for
this patch is included in the distribution!, f 80;
#X text 60 420 mod switcher - see R2MOD above;
#X obj 32 340 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 32 363 s \$0-raptor;
#X text 430 391 CC64 - HOLD;
#X floatatom 380 259 5 0 0 0 - - -;
#X obj 380 234 expr 1-$f1/127;
#X obj 331 213 change;
#X obj 30 90 ctrl 91;
#X obj 100 90 ctrl 92;
#X obj 180 90 ctrl 93;
#X obj 250 90 ctrl 94;
#X obj 320 90 ctrl 80;
#X obj 438 411 ctrl 64;
#X obj 450 90 r \$0-master;
#X obj 450 115 spigot;
#X obj 380 90 ctlin 81;
#N canvas 200 315 450 353 sweep 0;
#X obj 20 20 inlet;
#X obj 100 20 inlet;
#X obj 20 100 swap;
#X obj 20 125 pack f f;
#X obj 20 75 - 100;
#X obj 20 150 route 0 1;
#X obj 20 175 expr 100-$f1;
#X floatatom 20 200 5 0 0 0 - - -;
#X obj 110 175 abs;
#X obj 20 224 outlet;
#X connect 0 0 4 0;
#X connect 1 0 2 1;
#X connect 2 0 3 0;
#X connect 2 1 3 1;
#X connect 3 0 5 0;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 5 1 8 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X restore 300 534 pd sweep;
#X obj 300 562 / 100;
#X floatatom 300 587 5 0 0 1 sweep - #0-sweep-val;
#X obj 360 534 sel 0 200;
#X obj 360 559 bng 15 250 50 0 \$0-sweep empty autosweep 17 7 0 10
-262144 -1 -1;
#X text 390 190 modwheel/pedal support;
#X obj 380 213 ctrl 1;
#X obj 438 213 ctrl 11;
#X obj 438 565 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 438 543 != 0;
#X text 430 501 CC67 - MUTE;
#X obj 438 521 ctrl 67;
#X obj 438 585 s \$0-mute;
#X obj 32 290 ctrl 46;
#X obj 112 290 ctrl 47;
#X text 20 650 NOTE: To make CC64 (hold) and CC67 (mute) work \, you
need to have a foot pedals hooked up to Pd in some way (the custom
PACER setup has them on FS1+2)., f 79;
#X obj 22 517 route 1 2 3 4 5 6 7;
#X obj 22 445 r \$0-mod-val;
#X obj 180 115 mod 8;
#X floatatom 180 210 5 0 0 2 mod-switch - #0-mod-switch;
#X obj 32 315 != 0;
#X obj 112 315 mod 6;
#X floatatom 112 340 5 0 0 0 - - -;
#X obj 172 315 mod 6;
#X floatatom 172 340 5 0 0 0 - - -;
#X obj 172 290 ctrl 48;
#X obj 172 364 t b f;
#X floatatom 230 364 5 0 0 0 - - -;
#X obj 112 364 -;
#X obj 230 340 mod 6;
#X floatatom 230 315 5 0 0 0 - - -;
#X text 110 260 R3ARP: arp mode special functions;
#X text 110 67 R2MOD: octave \, mod \, start/stop;
#X obj 282 290 ctrl 49;
#X obj 282 363 s \$0-loop;
#X obj 342 290 ctrl 50;
#X obj 342 315 sel 0;
#X obj 342 340 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 342 363 s \$0-loop-file;
#X obj 282 315 sel 0;
#X obj 282 340 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 438 273 r \$0-cch;
#X obj 438 73 r \$0-cch;
#X floatatom 480 320 3 0 128 0 cin #0-cchan -;
#X obj 504 321 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#N canvas 247 207 451 326 cchan 0;
#X obj 20 20 inlet;
#X obj 20 45 change;
#X obj 20 70 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 0 256;
#X obj 20 142 expr if($f2 \, $f1 \, -1);
#X floatatom 20 167 5 0 0 0 - - -;
#X obj 20 216 s \$0-arp;
#X obj 100 20 inlet;
#X obj 100 45 t b f;
#X obj 20 92 t f f;
#X obj 20 117 f;
#X obj 60 117 s \$0-cchan;
#X msg 20 191 cchan \$1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 8 0;
#X connect 3 0 4 0;
#X connect 4 0 11 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 7 1 3 1;
#X connect 8 0 9 0;
#X connect 8 1 10 0;
#X connect 9 0 3 0;
#X connect 11 0 5 0;
#X restore 459 344 pd cchan;
#X obj 30 115 expr 2-($f1+2)%5;
#X obj 100 135 expr ($f1+2)%5-2;
#X connect 0 1 1 0;
#X connect 1 0 30 0;
#X connect 5 0 7 0;
#X connect 6 0 33 1;
#X connect 6 0 53 1;
#X connect 7 0 33 0;
#X connect 8 0 9 0;
#X connect 9 0 43 0;
#X connect 10 0 11 0;
#X connect 10 1 11 1;
#X connect 11 0 69 0;
#X connect 14 0 19 0;
#X connect 15 0 6 0;
#X connect 16 0 13 0;
#X connect 17 0 32 0;
#X connect 18 0 17 0;
#X connect 19 0 10 1;
#X connect 21 0 20 0;
#X connect 23 0 22 0;
#X connect 25 0 26 0;
#X connect 26 0 24 0;
#X connect 27 0 26 1;
#X connect 29 0 27 0;
#X connect 33 0 8 0;
#X connect 38 0 39 0;
#X connect 42 0 41 0;
#X connect 42 0 33 0;
#X connect 43 0 4 0;
#X connect 44 0 99 0;
#X connect 45 0 100 0;
#X connect 46 0 71 0;
#X connect 47 0 15 0;
#X connect 48 0 5 0;
#X connect 49 0 18 0;
#X connect 50 0 51 1;
#X connect 51 0 0 0;
#X connect 52 0 51 0;
#X connect 53 0 54 0;
#X connect 54 0 55 0;
#X connect 56 0 57 0;
#X connect 56 1 57 0;
#X connect 59 0 42 0;
#X connect 60 0 42 0;
#X connect 61 0 65 0;
#X connect 62 0 61 0;
#X connect 64 0 62 0;
#X connect 66 0 73 0;
#X connect 67 0 74 0;
#X connect 69 0 21 0;
#X connect 69 1 16 0;
#X connect 69 2 12 0;
#X connect 69 3 23 0;
#X connect 69 4 25 0;
#X connect 69 5 53 0;
#X connect 69 6 56 0;
#X connect 70 0 10 0;
#X connect 71 0 72 0;
#X connect 73 0 38 0;
#X connect 74 0 75 0;
#X connect 75 0 81 0;
#X connect 76 0 77 0;
#X connect 77 0 79 0;
#X connect 78 0 76 0;
#X connect 79 0 81 0;
#X connect 79 1 81 1;
#X connect 80 0 31 0;
#X connect 81 0 83 0;
#X connect 82 0 80 0;
#X connect 83 0 82 0;
#X connect 86 0 92 0;
#X connect 88 0 89 0;
#X connect 89 1 90 0;
#X connect 90 0 91 0;
#X connect 92 1 93 0;
#X connect 93 0 87 0;
#X connect 94 0 49 0;
#X connect 94 0 64 0;
#X connect 94 0 66 0;
#X connect 94 0 67 0;
#X connect 94 0 86 0;