-
Notifications
You must be signed in to change notification settings - Fork 4
/
carlo.pd
908 lines (908 loc) · 23.4 KB
/
carlo.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
#N canvas 441 308 453 339 10;
#N canvas 624 75 412 134 NETPD 0;
#N canvas 315 75 411 213 abslist 0;
#X msg 16 59 carlo-ds-display;
#X msg 15 28 chord-abs;
#X msg 16 89 untik-clock-consumer;
#X restore 19 42 pd abslist;
#X msg 18 81 singleton;
#X msg 12 8 version 0 1 0;
#X restore 10 14 pd NETPD 2 0;
#X obj 10 71 netpd_head \$1 carlo;
#N canvas 640 378 713 184 \$1-carlo 0;
#X obj 31 35 chord-selector \$0.chord;
#X obj 176 35 cnv 15 54 76 empty empty empty 20 12 0 14 #aee0e0 #404040 0;
#X obj 178 37 netpd-gui-vmenu \$0.action 50 18 12 0 888 888 555 888 888;
#X obj 332 37 nbx 3 20 1 999 0 0 \$1-barlength \$1-barlength barlength= -81 11 0 14 #fcfcfc #000000 #9f9f9f 0 256;
#X obj 332 63 nbx 3 20 1 999 0 0 \$1-looplength \$1-looplength loopbars= -73 11 0 14 #ffffff #000000 #9f9f9f 0 256;
#X obj 6 35 cnv 15 20 112 empty empty empty 20 12 0 14 #f4d0c4 #404040 0;
#X obj 8 37 netpd-gui-vmenu \$0.bpl 16 18 12 0 888 888 555 888 888;
#X obj 9 6 hsl 119 24 0 127 0 0 \$0.show.leadsheet empty empty -2 8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 6 6 cnv 15 124 24 empty empty empty 2 10 0 14 #c4ee50 #000000 0;
#X obj 8 8 cnv 15 120 20 empty empty SHOW\ LEADSHEET 2 10 0 14 #ffffff #000000 0;
#X obj 179 141 hsl 69 24 0 127 0 0 \$0.sym.cache.1 empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 176 141 cnv 15 74 24 empty empty empty 2 10 0 14 #ffc8b6 #000000 0;
#X obj 178 143 cnv 15 70 20 empty \$0.sym.cache.label.1 empty 2 10 0 14 #ffffff #000000 0;
#X obj 258 141 hsl 69 24 0 127 0 0 \$0.sym.cache.2 empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 255 141 cnv 15 74 24 empty empty empty 2 10 0 14 #ffc8b6 #000000 0;
#X obj 257 143 cnv 15 70 20 empty \$0.sym.cache.label.2 empty 2 10 0 14 #ffffff #000000 0;
#X obj 337 141 hsl 69 24 0 127 0 0 \$0.sym.cache.3 empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 334 141 cnv 15 74 24 empty empty empty 2 10 0 14 #ffc8b6 #000000 0;
#X obj 336 143 cnv 15 70 20 empty \$0.sym.cache.label.3 empty 2 10 0 14 #ffffff #000000 0;
#X obj 415 141 hsl 69 24 0 127 0 0 \$0.sym.cache.4 empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 412 141 cnv 15 74 24 empty empty empty 2 10 0 14 #ffb9e1 #000000 0;
#X obj 414 143 cnv 15 70 20 empty \$0.sym.cache.label.4 empty 2 10 0 14 #ffffff #000000 0;
#X obj 138 6 hsl 39 24 0 127 0 0 \$0.save.button empty empty -2 8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 135 6 cnv 15 44 24 empty empty empty 2 10 0 14 #b0a0d0 #000000 0;
#X obj 137 8 cnv 15 40 20 empty empty save 2 10 0 14 #ffffff #000000 0;
#X obj 187 6 hsl 39 24 0 127 0 0 \$0.load.button empty empty -2 8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 184 6 cnv 15 44 24 empty empty empty 2 10 0 14 #b0a0d0 #000000 0;
#X obj 186 8 cnv 15 40 20 empty empty load 2 10 0 14 #ffffff #000000 0;
#X obj 234 6 netpd-gui-dropdown \$0.clock.select 120 24 16 0 88 888 0 555 887;
#X restore 10 42 pd \$1-carlo;
#N canvas 372 432 934 603 editor 0;
#X obj 14 531 carlo-ds-display \$0.leadsheet;
#N canvas 787 428 719 665 add.to.leadsheet 0;
#X obj 18 615 s pd-\$0.leadsheet;
#X obj 320 93 f;
#X obj 320 116 t a a;
#X obj 376 111 + 1;
#X obj 18 571 list prepend \$0.rectangle;
#X obj 320 163 mod 4;
#X obj 366 162 div 4;
#X obj 366 208 + 10;
#X obj 320 209 + 10;
#X obj 320 186 * 180;
#X obj 366 185 * 40;
#X obj 18 39 inlet;
#X msg 379 90 0;
#X obj 379 42 inlet;
#X obj 18 373 list append 30;
#X obj 169 92 list length;
#X obj 169 136 list prepend 180;
#X obj 169 158 /;
#X obj 18 117 rh_list_serialize;
#X obj 18 91 t a b;
#X obj 18 140 t b a, f 8;
#X obj 18 163 f;
#X obj 18 186 t a a;
#X msg 80 142 0;
#X obj 89 171 + 1;
#X obj 18 300 pack f s;
#X obj 18 211 *, f 25;
#X obj 18 325 list append;
#X obj 18 257 +;
#X obj 18 348 list append;
#X text 97 323 w;
#X text 95 347 y;
#X obj 18 422 list append, f 18;
#X text 153 424 bleft;
#X obj 18 450 list append, f 23;
#X text 166 451 bright;
#X obj 123 333 ==;
#X obj 169 115 t a a;
#X obj 196 191 - 1;
#X obj 153 333 ==;
#X text 76 298 x label;
#X text 112 376 h;
#X msg 18 397 list \$1 \$4 \$3 \$5 \$2;
#X obj 63 246 select -;
#X msg 63 269 symbol;
#X obj 18 473 list append, f 32;
#X text 222 473 bar;
#X obj 18 497 list append, f 36;
#X text 242 497 barpart;
#X obj 320 139 t a a a, f 16;
#X obj 18 521 list append, f 40;
#X text 271 523 boxclr;
#X obj 18 546 list append, f 43;
#X text 292 547 bgclr;
#X obj 374 366 ==;
#X obj 427 365 ==;
#X text 336 292 barpart;
#X text 408 295 bar;
#X obj 374 393 &&;
#X obj 374 415 sel 0 1;
#X obj 374 484 t a;
#X msg 18 593 scalar \$1 \$9 \$10 \$2 \$3 \$4 \$5 0 \$11 \$12 \$6 \$7 \$8;
#X obj 347 313 t a a a;
#X obj 399 316 t a a a;
#X obj 428 180 r \$0.hilite;
#X obj 466 304 t a a;
#X msg 466 328 \$2;
#X msg 493 328 \$1;
#X obj 403 438 t b b;
#X msg 403 459 878;
#X msg 374 458 888;
#X obj 18 68 t a a b, f 51;
#X obj 428 203 t b b a;
#X obj 427 227 s \$0.refresh;
#X obj 551 48 inlet;
#X msg 551 84 720 \$1;
#X obj 551 107 /;
#X connect 1 0 2 0;
#X connect 2 0 49 0;
#X connect 2 1 3 0;
#X connect 3 0 1 1;
#X connect 4 0 61 0;
#X connect 5 0 9 0;
#X connect 6 0 10 0;
#X connect 7 0 29 1;
#X connect 8 0 28 1;
#X connect 9 0 8 0;
#X connect 10 0 7 0;
#X connect 11 0 71 0;
#X connect 12 0 1 1;
#X connect 13 0 12 0;
#X connect 14 0 42 0;
#X connect 15 0 37 0;
#X connect 16 0 17 0;
#X connect 17 0 26 1;
#X connect 17 0 27 1;
#X connect 18 0 20 0;
#X connect 19 0 18 0;
#X connect 19 1 23 0;
#X connect 20 0 21 0;
#X connect 20 1 43 0;
#X connect 21 0 22 0;
#X connect 22 0 26 0;
#X connect 22 1 24 0;
#X connect 22 1 36 0;
#X connect 22 1 39 0;
#X connect 22 1 62 0;
#X connect 23 0 21 1;
#X connect 24 0 21 1;
#X connect 25 0 27 0;
#X connect 26 0 28 0;
#X connect 27 0 29 0;
#X connect 28 0 25 0;
#X connect 29 0 14 0;
#X connect 32 0 34 0;
#X connect 34 0 45 0;
#X connect 36 0 32 1;
#X connect 37 0 16 0;
#X connect 37 1 38 0;
#X connect 38 0 39 1;
#X connect 39 0 34 1;
#X connect 42 0 32 0;
#X connect 43 0 44 0;
#X connect 43 1 25 1;
#X connect 44 0 25 1;
#X connect 45 0 47 0;
#X connect 47 0 50 0;
#X connect 49 0 5 0;
#X connect 49 1 6 0;
#X connect 49 2 63 0;
#X connect 50 0 52 0;
#X connect 52 0 4 0;
#X connect 54 0 58 0;
#X connect 55 0 58 1;
#X connect 58 0 59 0;
#X connect 59 0 70 0;
#X connect 59 1 68 0;
#X connect 60 0 52 1;
#X connect 60 0 50 1;
#X connect 61 0 0 0;
#X connect 62 0 47 1;
#X connect 62 2 54 0;
#X connect 63 0 45 1;
#X connect 63 2 55 0;
#X connect 64 0 72 0;
#X connect 65 0 66 0;
#X connect 65 1 67 0;
#X connect 66 0 54 1;
#X connect 67 0 55 1;
#X connect 68 0 69 0;
#X connect 69 0 60 0;
#X connect 70 0 60 0;
#X connect 71 0 19 0;
#X connect 71 1 15 0;
#X connect 71 2 1 0;
#X connect 72 0 73 0;
#X connect 72 2 65 0;
#X connect 74 0 5 1;
#X connect 74 0 6 1;
#X connect 74 0 75 0;
#X connect 75 0 76 0;
#X connect 76 0 9 1;
#X connect 76 0 16 1;
#X restore 65 464 pd add.to.leadsheet;
#X f 30;
#X obj 547 164 r \$0.chord;
#X obj 547 187 route chordsym;
#X obj 547 210 symbol;
#X obj 65 344 until;
#X obj 65 367 f;
#X obj 65 390 t a a;
#X obj 123 377 + 1;
#X obj 114 291 s pd-\$0.leadsheet;
#X msg 114 266 clear;
#X msg 110 343 0;
#N canvas 251 154 536 399 reduce-repeats 0;
#X obj 11 13 inlet;
#X obj 11 37 t a a;
#X obj 38 62 list length;
#X obj 11 90 list prepend;
#X obj 11 113 route 1, f 12;
#X obj 99 370 outlet;
#X obj 11 190 sel -;
#X obj 56 189 t a;
#X msg 11 221 symbol -;
#X obj 249 26 inlet;
#X text 297 24 Reset;
#X msg 35 167 symbol -;
#X obj 11 136 symbol;
#X obj 107 162 list split 1;
#X obj 80 137 t b a;
#X obj 160 212 rh_list_serialize;
#X obj 160 236 sel -;
#X obj 205 235 t a;
#X msg 160 259 symbol -;
#X obj 141 188 t b a b;
#X msg 203 191 symbol -;
#X msg 187 307 append \$1;
#X obj 168 343 list store;
#X obj 141 310 t b b;
#X obj 143 18 inlet;
#X obj 143 41 mod 4;
#X obj 143 64 sel 0;
#X obj 372 45 inlet;
#X text 414 43 barsperline;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 4 1 14 0;
#X connect 6 0 8 0;
#X connect 6 1 7 0;
#X connect 6 1 5 0;
#X connect 7 0 6 1;
#X connect 8 0 5 0;
#X connect 9 0 11 0;
#X connect 11 0 6 1;
#X connect 12 0 6 0;
#X connect 13 1 19 0;
#X connect 14 0 11 0;
#X connect 14 1 13 0;
#X connect 15 0 16 0;
#X connect 16 0 18 0;
#X connect 16 1 17 0;
#X connect 16 1 21 0;
#X connect 17 0 16 1;
#X connect 18 0 21 0;
#X connect 19 0 23 0;
#X connect 19 1 15 0;
#X connect 19 2 20 0;
#X connect 20 0 16 1;
#X connect 21 0 22 0;
#X connect 22 0 5 0;
#X connect 23 0 22 1;
#X connect 23 1 22 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 26 0 11 0;
#X connect 27 0 25 1;
#X restore 65 441 pd reduce-repeats;
#X f 26;
#X obj 294 252 s \$0.refresh;
#X obj 19 215 r \$0.refresh;
#X obj 274 164 s \$0.refresh;
#X obj 655 199 sel append insert delete extend;
#X msg 655 222 0;
#X msg 700 222 1;
#X msg 746 222 2;
#X msg 792 222 3;
#X obj 547 333 list prepend 0;
#N canvas 0 0 411 149 append 0;
#X obj 20 21 inlet;
#X obj 20 102 s \$0.ls.i;
#X obj 20 44 list prepend append;
#X obj 20 67 list trim;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X restore 547 431 pd append;
#N canvas 260 109 445 222 insert 0;
#X obj 20 21 inlet;
#X obj 89 33 r \$0.clicked;
#X msg 89 56 \$1;
#X obj 20 55 symbol;
#X obj 20 161 s \$0.ls.i;
#X obj 20 89 list prepend;
#X obj 20 112 list prepend insert;
#X obj 20 135 list trim;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 1;
#X connect 3 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 4 0;
#X restore 612 432 pd insert;
#N canvas 156 53 386 382 extend 0;
#X obj 20 21 inlet;
#X obj 121 26 r \$0.clicked;
#X obj 20 44 t a b, f 9;
#X obj 121 49 unpack f f;
#X obj 71 79 f;
#X obj 20 195 list prepend;
#X obj 71 102 t a a, f 9;
#X msg 71 235 \$1 -1;
#X obj 20 257 list prepend;
#X obj 20 280 list prepend set;
#X obj 20 303 list trim;
#X obj 20 329 s \$0.ls.i;
#X obj 123 142 text get \$1-leadsheet;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 0 5 0;
#X connect 2 1 4 0;
#X connect 3 0 4 1;
#X connect 4 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 6 1 12 0;
#X connect 7 0 8 1;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 12 0 5 1;
#X restore 677 433 pd extend;
#X obj 18 38 route click;
#X obj 18 61 list split 1;
#X obj 45 108 get \$0.rectangle bar barpart;
#X obj 45 133 pack f f;
#X obj 547 360 route 0 1 3, f 33;
#X obj 655 260 t a;
#X obj 830 253 r \$0.clicked;
#X obj 830 324 route 2;
#N canvas 0 0 394 538 delete 0;
#X obj 20 21 inlet;
#X obj 20 65 unpack f f, f 13;
#X obj 47 165 list length;
#X obj 20 88 t a a;
#X obj 20 199 list prepend;
#X obj 20 222 route 1;
#X obj 86 341 list store, f 13;
#X obj 59 268 f, f 6;
#X obj 47 136 t a a, f 19;
#X msg 86 316 delete \$1;
#X obj 59 291 t b a;
#X obj 59 245 t b a, f 24;
#X obj 86 433 s \$0.ls.i;
#X msg 200 317 \$2 -1;
#X obj 86 387 list prepend set;
#X obj 86 410 list trim;
#X obj 86 364 list prepend, f 19;
#X msg 20 449 delete \$1;
#X obj 20 475 s \$0.ls.i;
#X obj 47 112 text get \$1-leadsheet;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 7 1;
#X connect 2 0 4 1;
#X connect 3 0 4 0;
#X connect 3 1 19 0;
#X connect 4 0 5 0;
#X connect 5 0 17 0;
#X connect 5 1 11 0;
#X connect 6 0 16 0;
#X connect 7 0 10 0;
#X connect 8 0 2 0;
#X connect 8 1 6 1;
#X connect 9 0 6 0;
#X connect 10 0 6 0;
#X connect 10 1 9 0;
#X connect 11 0 7 0;
#X connect 11 1 13 0;
#X connect 13 0 16 1;
#X connect 14 0 15 0;
#X connect 15 0 12 0;
#X connect 16 0 14 0;
#X connect 17 0 18 0;
#X connect 19 0 8 0;
#X restore 830 435 pd delete;
#X obj 46 267 t b b b;
#N canvas 256 166 473 249 rectangle.struct 0;
#X obj 7 197 outlet;
#X obj 12 12 filledpolygon -xv bgclr boxclr 1 0 0 w 0 w h 0 h;
#X obj 9 112 drawsymbol label 4 3 txtclr;
#X obj 7 144 struct \$0.rectangle float bar float barpart float x float y float w float h float txtclr float boxclr float bgclr symbol label float bleft float bright;
#X obj 13 64 drawpolygon -xv -v bright 567 2 w 0 w h;
#X obj 13 39 drawpolygon -xv -v bleft 567 2 0 0 0 h;
#X connect 3 0 0 0;
#X restore 18 14 pd rectangle.struct;
#N canvas 256 166 473 249 selector.struct 0;
#X obj 7 197 outlet;
#X obj 7 144 struct \$0.selector float x float y float w float h float vis;
#X obj 12 55 drawpolygon -xv -v vis 800 1 0 0 w 0 w h 0 h 0 0;
#X connect 1 0 0 0;
#X restore 204 16 pd selector.struct;
#X obj 45 155 s \$0.clicked;
#X obj 18 84 t a a;
#X obj 18 178 s \$0.clicked.pointer;
#X obj 19 238 t b b;
#N canvas 699 743 696 387 \$0.selector 0;
#X obj 380 18 inlet;
#X obj 485 119 s pd-\$0.leadsheet;
#X obj 24 28 get \$0.rectangle x y w h;
#X obj 24 53 pack f f f f;
#X obj 24 2 r \$0.clicked.pointer;
#X msg 450 167 traverse \$1;
#X obj 415 190 pointer \$0.selector;
#X msg 415 74 1000;
#X obj 415 97 until;
#X msg 415 120 next;
#X obj 415 213 t p b;
#X obj 450 144 symbol pd-\$0.leadsheet;
#X msg 485 97 scalar \$1 1 1 1 1 0;
#X obj 485 73 symbol \$0.selector;
#X obj 24 269 list append;
#X obj 24 229 t b a;
#X obj 380 47 t b b b b, f 18;
#X obj 24 359 set \$0.selector x y w h vis;
#X obj 24 332 unpack f f f f f;
#X obj 24 76 t a a a, f 16;
#X msg 70 99 \$1;
#X msg 117 98 \$2;
#X obj 70 120 t a a;
#X obj 70 143 ==;
#X obj 117 122 t a a;
#X obj 117 145 ==;
#X obj 70 169 &&;
#X obj 70 192 ==;
#X obj 159 157 sel 1;
#X msg 159 180 -1;
#X msg 253 244 0;
#X obj 24 306 list append;
#X obj 496 290 inlet;
#X obj 226 166 t b b;
#X obj 253 192 spigot 0;
#X obj 253 215 t b b;
#X msg 317 225 0;
#X msg 325 192 1;
#X connect 0 0 16 0;
#X connect 2 0 3 0;
#X connect 2 1 3 1;
#X connect 2 2 3 2;
#X connect 2 3 3 3;
#X connect 3 0 19 0;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 10 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 6 0;
#X connect 10 0 17 5;
#X connect 10 1 8 1;
#X connect 11 0 5 0;
#X connect 12 0 1 0;
#X connect 13 0 12 0;
#X connect 14 0 31 0;
#X connect 15 0 14 0;
#X connect 15 1 14 1;
#X connect 16 0 33 0;
#X connect 16 1 7 0;
#X connect 16 2 11 0;
#X connect 16 3 13 0;
#X connect 18 0 17 0;
#X connect 18 1 17 1;
#X connect 18 2 17 2;
#X connect 18 3 17 3;
#X connect 18 4 17 4;
#X connect 19 0 15 0;
#X connect 19 1 20 0;
#X connect 19 2 21 0;
#X connect 20 0 22 0;
#X connect 21 0 24 0;
#X connect 22 0 23 1;
#X connect 22 1 23 0;
#X connect 23 0 26 0;
#X connect 24 0 25 1;
#X connect 24 1 25 0;
#X connect 25 0 26 1;
#X connect 26 0 27 0;
#X connect 26 0 28 0;
#X connect 27 0 31 1;
#X connect 28 0 29 0;
#X connect 29 0 23 1;
#X connect 29 0 25 1;
#X connect 30 0 31 1;
#X connect 31 0 18 0;
#X connect 32 0 37 0;
#X connect 33 0 14 0;
#X connect 33 1 34 0;
#X connect 34 0 35 0;
#X connect 35 0 30 0;
#X connect 35 0 29 0;
#X connect 35 1 36 0;
#X connect 36 0 34 1;
#X connect 37 0 34 1;
#X restore 19 498 pd \$0.selector;
#X obj 655 121 r \$0.action;
#X obj 655 144 route selected;
#X obj 655 167 symbol;
#X obj 502 64 r \$0.ls.o0;
#X obj 572 64 r \$0.ls.o1;
#X obj 640 63 r \$0.ls.o2;
#X obj 504 39 s \$0.ls.i;
#X obj 274 111 r \$0.ls.o2;
#X obj 274 134 b;
#X obj 65 316 text size \$1-leadsheet;
#X obj 65 415 text get \$1-leadsheet;
#X obj 294 204 netpd_r \$1 barsperline;
#X obj 294 227 t b a;
#X obj 484 241 r \$0.from.buttons;
#X obj 830 301 list prepend 0;
#X obj 830 389 t a b;
#X obj 588 486 t b;
#X obj 547 396 t a b;
#X obj 612 396 t a b;
#X obj 677 398 t a b;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 21 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 52 0;
#X connect 7 1 8 0;
#X connect 7 1 12 1;
#X connect 8 0 6 1;
#X connect 10 0 9 0;
#X connect 11 0 6 1;
#X connect 12 0 1 0;
#X connect 14 0 40 0;
#X connect 16 0 17 0;
#X connect 16 1 18 0;
#X connect 16 2 19 0;
#X connect 16 3 20 0;
#X connect 17 0 30 0;
#X connect 18 0 30 0;
#X connect 19 0 30 0;
#X connect 20 0 30 0;
#X connect 21 0 29 0;
#X connect 25 0 26 0;
#X connect 26 0 38 0;
#X connect 27 0 28 0;
#X connect 27 1 28 1;
#X connect 28 0 37 0;
#X connect 29 0 59 0;
#X connect 29 1 60 0;
#X connect 29 2 61 0;
#X connect 30 0 21 1;
#X connect 30 0 56 1;
#X connect 31 0 56 0;
#X connect 32 0 57 0;
#X connect 34 1 51 0;
#X connect 34 2 10 0;
#X connect 34 2 12 2;
#X connect 34 2 1 1;
#X connect 34 2 11 0;
#X connect 35 0 25 0;
#X connect 38 0 39 0;
#X connect 38 1 27 0;
#X connect 40 0 41 0;
#X connect 40 1 34 0;
#X connect 42 0 43 0;
#X connect 43 0 44 0;
#X connect 44 0 16 0;
#X connect 49 0 50 0;
#X connect 50 0 15 0;
#X connect 51 0 5 0;
#X connect 52 0 12 0;
#X connect 53 0 54 0;
#X connect 54 0 13 0;
#X connect 54 1 12 3;
#X connect 54 1 1 2;
#X connect 55 0 21 0;
#X connect 56 0 32 0;
#X connect 57 0 33 0;
#X connect 57 1 58 0;
#X connect 58 0 41 1;
#X connect 59 0 22 0;
#X connect 59 1 58 0;
#X connect 60 0 23 0;
#X connect 60 1 58 0;
#X connect 61 0 24 0;
#X connect 61 1 58 0;
#X restore 12 107 pd editor;
#N canvas 533 89 393 555 sequencer 0;
#X obj 76 84 div 16;
#X obj 31 81 mod 16;
#X obj 76 107 change -1;
#X obj 76 130 mod;
#X obj 169 79 r \$0.refresh;
#X obj 76 226 list length;
#X obj 76 200 t a a;
#X obj 76 249 list prepend 16;
#X obj 76 273 /;
#X obj 31 431 list store, f 12;
#X msg 31 408 get \$1 1;
#X obj 31 362 change -1;
#X msg 59 297 set -1;
#X obj 31 221 t a a;
#X obj 38 256 sel 0;
#X obj 142 427 pack f f;
#X obj 76 153 t a a, f 19;
#X obj 31 385 t a a;
#X msg 142 450 \$2 \$1;
#X obj 31 43 t a a a;
#X obj 31 297 /;
#X obj 31 325 int;
#X obj 142 477 s \$0.hilite;
#X obj 169 108 text size \$1-leadsheet;
#X obj 76 177 text get \$1-leadsheet;
#X obj 145 32 netpd_r \$1 barlength;
#X obj 31 498 s carlo;
#X msg 31 461 chordsym \$1;
#X obj 31 15 r \$0.pos;
#X connect 0 0 2 0;
#X connect 1 0 13 0;
#X connect 2 0 3 0;
#X connect 3 0 16 0;
#X connect 4 0 23 0;
#X connect 5 0 7 0;
#X connect 6 0 5 0;
#X connect 6 1 9 1;
#X connect 7 0 8 0;
#X connect 8 0 20 1;
#X connect 9 0 27 0;
#X connect 10 0 9 0;
#X connect 11 0 17 0;
#X connect 12 0 11 0;
#X connect 13 0 20 0;
#X connect 13 1 14 0;
#X connect 14 0 12 0;
#X connect 15 0 18 0;
#X connect 16 0 24 0;
#X connect 16 1 15 1;
#X connect 17 0 10 0;
#X connect 17 1 15 0;
#X connect 18 0 22 0;
#X connect 19 0 1 0;
#X connect 19 1 0 0;
#X connect 20 0 21 0;
#X connect 21 0 11 0;
#X connect 23 0 3 1;
#X connect 24 0 6 0;
#X connect 25 0 0 1;
#X connect 25 0 1 1;
#X connect 25 0 7 1;
#X connect 27 0 26 0;
#X connect 28 0 19 0;
#X restore 13 134 pd sequencer;
#X obj 280 172 s pd-\$0.leadsheet;
#X msg 280 128 vis 1;
#X msg 327 130 clear;
#X obj 207 41 netpd_text \$1 leadsheet;
#X obj 207 14 r \$0.ls.i;
#X obj 207 81 s \$0.ls.o0;
#X obj 274 81 s \$0.ls.o1;
#X obj 342 80 s \$0.ls.o2;
#X obj 29 239 netpd_f \$1 barlength 16;
#X obj 29 259 netpd_f \$1 looplength 16;
#N canvas 568 649 614 287 gui.stuff 0;
#X obj 8 10 r \$0.bpl;
#X obj 8 33 route selected;
#X obj 8 107 s \$1-barsperline;
#X obj 15 231 s \$0.bpl;
#X obj 15 159 r \$1-barsperline;
#X obj 15 182 route float set;
#X msg 15 207 set \$1;
#X obj 119 90 s pd-\$0.leadsheet;
#X msg 119 65 vis 1;
#X obj 119 16 r \$0.show.leadsheet;
#X obj 119 39 sel 0;
#X obj 158 41 t a;
#X obj 121 117 loadbang;
#X msg 121 140 set append;
#X obj 121 163 s \$0.action;
#N canvas 962 709 414 326 button.4 0;
#X obj 11 16 r \$0.clicked;
#X obj 11 39 unpack f f;
#X obj 11 62 text get \$1-leadsheet;
#X obj 11 85 t b a;
#X obj 11 116 f, f 10;
#X obj 11 164 list store;
#X msg 11 141 get \$1;
#X obj 242 88 symbol;
#X msg 11 199 label \$1;
#X obj 11 223 s \$0.sym.cache.label.4;
#X obj 242 31 r \$0.sym.cache.4;
#X obj 242 56 sel 0;
#X obj 284 56 t a;
#X obj 117 140 loadbang;
#X msg 117 163 symbol empty;
#X obj 242 113 s \$0.from.buttons;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 5 1;
#X connect 4 0 6 0;
#X connect 5 0 7 1;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 15 0;
#X connect 8 0 9 0;
#X connect 10 0 11 0;
#X connect 11 0 7 0;
#X connect 11 1 12 0;
#X connect 12 0 11 1;
#X connect 13 0 14 0;
#X connect 14 0 8 0;
#X restore 261 17 pd button.4;
#N canvas 1079 536 642 429 button.1-3 0;
#X obj 30 19 r \$0.chord;
#X obj 30 65 symbol;
#X obj 30 42 route chordsym;
#X obj 55 111 s \$0.cache.check;
#X obj 56 132 r \$0.cached.true;
#X obj 30 177 spigot 0;
#X msg 57 154 0;
#X msg 81 155 1;
#X obj 30 88 t a a b, f 9;
#X obj 190 72 t a b;
#X obj 190 95 symbol;
#X obj 187 163 t a b;
#X obj 187 186 symbol;
#X obj 273 161 select _;
#X obj 267 236 select _;
#X obj 277 57 select _;
#X obj 277 31 r \$0.cache.check;
#X obj 277 81 s \$0.cached.true;
#X obj 273 138 r \$0.cache.check;
#X obj 274 184 s \$0.cached.true;
#X obj 268 216 r \$0.cache.check;
#X obj 267 259 s \$0.cached.true;
#X obj 191 25 t a a a;
#X obj 190 118 t a a a;
#X obj 187 210 t a a;
#X obj 26 380 s \$0.sym.cache.label.1;
#X obj 64 329 s \$0.sym.cache.label.2;
#X obj 110 282 s \$0.sym.cache.label.3;
#X msg 26 353 label \$1;
#X msg 64 306 label \$1;
#X msg 110 259 label \$1;
#X obj 422 86 symbol;
#X obj 422 54 sel 0;
#X obj 464 54 t a;
#X obj 446 184 symbol;
#X obj 446 152 sel 0;
#X obj 489 151 t a;
#X obj 454 292 symbol;
#X obj 454 260 sel 0;
#X obj 496 260 t a;
#X obj 404 333 s \$0.from.buttons;
#X obj 422 29 r \$0.sym.cache.1;
#X obj 446 127 r \$0.sym.cache.2;
#X obj 454 235 r \$0.sym.cache.3;
#X obj 24 213 loadbang;
#X msg 24 236 symbol empty;
#X connect 0 0 2 0;
#X connect 1 0 8 0;
#X connect 2 0 1 0;
#X connect 4 0 6 0;
#X connect 5 0 22 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 5 0;
#X connect 8 1 3 0;
#X connect 8 2 7 0;
#X connect 9 0 10 1;
#X connect 9 1 10 0;
#X connect 10 0 23 0;
#X connect 11 0 12 1;
#X connect 11 1 12 0;
#X connect 12 0 24 0;
#X connect 13 0 19 0;
#X connect 14 0 21 0;
#X connect 15 0 17 0;
#X connect 16 0 15 0;
#X connect 18 0 13 0;
#X connect 20 0 14 0;
#X connect 22 0 28 0;
#X connect 22 1 9 0;
#X connect 22 2 15 1;
#X connect 22 2 31 1;
#X connect 23 0 29 0;
#X connect 23 1 11 0;
#X connect 23 2 13 1;
#X connect 23 2 34 1;
#X connect 24 0 30 0;
#X connect 24 1 14 1;
#X connect 24 1 37 1;
#X connect 28 0 25 0;
#X connect 29 0 26 0;
#X connect 30 0 27 0;
#X connect 31 0 40 0;
#X connect 32 0 31 0;
#X connect 32 1 33 0;
#X connect 33 0 32 1;
#X connect 34 0 40 0;
#X connect 35 0 34 0;
#X connect 35 1 36 0;
#X connect 36 0 35 1;
#X connect 37 0 40 0;
#X connect 38 0 37 0;
#X connect 38 1 39 0;
#X connect 39 0 38 1;
#X connect 41 0 32 0;
#X connect 42 0 35 0;
#X connect 43 0 38 0;
#X connect 44 0 45 0;
#X connect 45 0 30 0;
#X connect 45 0 29 0;
#X connect 45 0 28 0;
#X restore 261 48 pd button.1-3;
#X obj 269 90 loadbang;
#X msg 269 113 items 2 3 4 5 6 8;
#X obj 269 136 s \$0.bpl;
#X obj 266 166 loadbang;
#X obj 266 212 s \$0.action;
#X msg 266 189 items append insert extend delete;
#X obj 8 61 list;
#X obj 8 84 f;
#X connect 0 0 1 0;
#X connect 1 0 23 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 5 1 6 0;
#X connect 6 0 3 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 10 1 11 0;
#X connect 11 0 10 1;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 20 0 22 0;
#X connect 22 0 21 0;
#X connect 23 0 24 0;
#X connect 24 0 2 0;
#X restore 15 164 pd gui.stuff;
#X obj 29 280 netpd_f \$1 barsperline 4;
#N canvas 0 0 397 188 save/load 0;
#X obj 38 41 sel 0;
#X obj 78 41 t a;
#X obj 172 18 r \$0.load.button;
#X obj 172 41 sel 0;
#X obj 212 41 t a;
#X obj 38 18 r \$0.save.button;
#X obj 38 118 s \$0.ls.i;
#X obj 38 70 savepanel;
#X msg 38 93 write \$1;
#X obj 172 119 s \$0.ls.i;
#X obj 172 71 openpanel;
#X msg 172 94 read \$1;
#X connect 0 0 7 0;
#X connect 0 1 1 0;
#X connect 1 0 0 1;
#X connect 2 0 3 0;
#X connect 3 0 10 0;
#X connect 3 1 4 0;
#X connect 4 0 3 1;
#X connect 5 0 0 0;
#X connect 7 0 8 0;
#X connect 8 0 6 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X restore 15 193 pd save/load;
#N canvas 1028 725 434 132 clock 0;
#X obj 25 26 untik-clock-consumer \$1 \$2/clock \$0.clock.select;
#X obj 25 55 route pos tempo;
#X obj 25 86 s \$0.pos;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 118 149 pd clock;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 8 0 10 0;
#X connect 8 1 11 0;
#X connect 8 2 12 0;
#X connect 9 0 8 0;