-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathGRID.pd
854 lines (854 loc) · 21 KB
/
GRID.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
#N canvas 0 41 1280 652 10;
#X obj 18 8 inlet;
#X obj 138 172 max 0;
#X obj 650 70 \$1;
#X obj 650 93 t b f;
#X obj 784 370 list store obj_\$0;
#X obj 690 8 loadbang;
#X msg 490 393 0;
#X text 548 287 send msg to LP_GUI only once \; when LP_GUI asks for
\;;
#X msg 650 121 1;
#X obj 490 368 t b b;
#X text 329 511 MSG TO LP_GUI \; \; list where first element is the
object name \; followed by a list of pairs of integers \; where 1st
is "elem_id" (pad/button) and \; 2nd is the color \;;
#X obj 138 527 list prepend obj_\$0;
#X obj 854 571 outlet;
#X text 770 414 send 'obj_unique_id' to LP_GUI \;;
#X obj 1038 223 print -n;
#N canvas 0 92 1280 672 PROCESSING 0;
#X obj 53 123 r to_obj_\$0;
#X obj 53 194 unpack 0 0 0;
#X text 144 195 elem_id \, color \, status \;;
#X obj 53 516 pack;
#X text 93 515 elem_id \, color \;;
#X obj 122 248 s \$0_status;
#X text 38 32 when live interaction happens (press pad/button on actual
HW) \, LP_GUI send 'elem_id' \, 'color' and 'status' to the right object
\, that then can reply ('elem_id' and 'color') to trigger visual feedback
on the device (ie light up a pad) \;;
#X text 52 572 to LP hardware \;;
#X text 206 248 to object outlet \;;
#X obj 89 450 r \$0_color_on;
#X obj 74 485 f;
#X obj 166 485 f;
#X obj 181 451 r \$0_color_off;
#X obj 371 342 tabread \$0_BUFFER;
#X msg 371 204 0;
#X obj 371 248 until;
#X obj 371 270 f 0;
#X obj 441 292 + 1;
#X msg 414 248 0;
#X obj 371 151 r \$0_length;
#X msg 371 173 set \$1;
#X obj 53 274 t b f;
#X obj 53 235 stripnote;
#X obj 122 221 t f f;
#X obj 514 292 - 1;
#X obj 481 317 sel -1;
#X obj 371 292 t f f f f;
#X obj 371 392 ==;
#X obj 390 480 tabread \$0_VALUES;
#X obj 390 502 + 1;
#X obj 390 524 % 2;
#X obj 390 576 tabwrite \$0_VALUES;
#X obj 371 429 sel 0 1;
#X obj 390 454 f;
#X obj 74 330 sel 1 0;
#X obj 53 305 t b f;
#X obj 53 360 f;
#X obj 343 632 s \$0_step_status;
#X obj 390 550 t f f f;
#X obj 343 586 swap;
#X obj 343 608 pack;
#X obj 405 392 t f f;
#X obj 371 364 t f f;
#X obj 859 151 r \$0_dump_grid;
#X obj 859 554 s \$0_whole_grid;
#X msg 859 182 0;
#X obj 859 226 until;
#X obj 859 248 f 0;
#X obj 859 270 t f f;
#X obj 899 270 + 1;
#X msg 893 248 0;
#X obj 896 354 tabread \$0_VALUES;
#X obj 859 426 list append;
#X obj 859 448 list prepend;
#X obj 859 470 t l l;
#X obj 859 512 list;
#X obj 967 460 sel -1;
#X obj 1000 436 - 1;
#X obj 597 389 list append;
#X obj 597 411 list prepend;
#X obj 597 433 t l l;
#X obj 597 475 list;
#X obj 597 501 list prepend obj_\$0;
#X obj 675 338 r \$0_color_on;
#X obj 660 363 f;
#X obj 752 363 f;
#X obj 767 339 r \$0_color_off;
#X obj 660 318 sel 1 0;
#X obj 660 294 tabread \$0_VALUES;
#X obj 597 270 tabread \$0_BUFFER;
#X obj 859 292 t f f f;
#X obj 597 229 t f f;
#X obj 371 317 t f f f;
#X obj 859 204 t f b b b f;
#X obj 371 226 t f b f b;
#X obj 699 220 t b b;
#X obj 1183 179 r \$0_clear;
#X obj 1183 201 t b b;
#X obj 1210 245 s \$0_VALUES;
#X obj 1090 400 tabread \$0_BUFFER;
#X msg 1071 247 0;
#X obj 1071 291 until;
#X obj 1071 313 f 0;
#X obj 1138 335 + 1;
#X msg 1114 291 0;
#X obj 1071 194 r \$0_length;
#X msg 1071 216 set \$1;
#X obj 1090 422 pack 0 0;
#X obj 1135 378 r \$0_color_off;
#X text 1089 486 to LP hardware \;;
#X text 1079 148 clear GRID \;;
#X obj 1190 321 sel -1;
#X obj 1223 297 - 1;
#X msg 1210 223 const 0;
#X obj 1071 269 t f b b f;
#X obj 1071 335 t f f f f;
#X obj 53 545 s \$4_MIDI_to_LP_GUI;
#X obj 597 538 s \$4_to_LP_GUI_obj_update;
#X obj 1090 459 s \$4_MIDI_to_LP_GUI;
#X obj 604 85 s \$0_clear;
#X text 565 13 when a list is sent to the inlet \;;
#N canvas 1 78 450 300 ITER 0;
#X obj 117 85 list split 2;
#X obj 151 111 list;
#X obj 117 147 unpack;
#X obj 117 169 swap;
#X obj 117 53 inlet;
#X obj 117 221 outlet;
#X obj 167 221 outlet;
#X text 126 30 pattern as a list \;;
#X text 116 243 value \;;
#X text 176 243 index \;;
#X connect 0 0 2 0;
#X connect 0 1 1 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 2 1 3 1;
#X connect 3 0 5 0;
#X connect 3 1 6 0;
#X connect 4 0 0 0;
#X restore 584 111 pd ITER;
#X obj 565 35 r \$0_ext_steps;
#X obj 623 153 t f f;
#X obj 584 153 t f f;
#X obj 611 181 tabwrite \$0_VALUES;
#X text 624 62 steps \, so x6 ticks \;;
#X obj 181 293 tabread \$0_BUFFER;
#X obj 565 57 t l l b;
#X obj 103 305 t b f;
#X obj 124 330 sel 1;
#X obj 151 380 b;
#N canvas 1 78 698 393 RAW_TICKS 0;
#X obj 146 11 r \$0_raw_ticks;
#X obj 216 71 list length;
#X obj 119 174 list store;
#X obj 216 93 / 6;
#X obj 216 115 int;
#X obj 119 78 until;
#X obj 119 100 f;
#X obj 119 122 t f f;
#X msg 167 100 0;
#X msg 119 144 get \$1 1;
#X obj 159 122 + 6;
#X obj 119 202 t b f;
#X obj 119 230 f;
#X msg 167 230 0;
#X obj 179 252 + 1;
#X obj 119 286 swap;
#X obj 119 328 outlet;
#X obj 169 328 outlet;
#X text 119 347 value \;;
#X text 172 347 step nr \;;
#X obj 216 136 t f b b f;
#X obj 252 222 sel -1;
#X obj 285 190 - 1;
#X obj 119 252 t f f f;
#X obj 252 328 outlet;
#X obj 146 33 t l l b;
#X obj 392 328 outlet;
#X text 390 347 bang at the start \; clear [list] for LP_GUI \;;
#X text 250 347 bang after last pair \; send list to LP_GUI \;;
#X connect 0 0 25 0;
#X connect 1 0 3 0;
#X connect 2 0 11 0;
#X connect 3 0 4 0;
#X connect 4 0 20 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 7 1 10 0;
#X connect 8 0 6 1;
#X connect 9 0 2 0;
#X connect 10 0 6 1;
#X connect 11 0 12 0;
#X connect 11 1 15 1;
#X connect 12 0 23 0;
#X connect 13 0 12 1;
#X connect 14 0 12 1;
#X connect 15 0 16 0;
#X connect 15 1 17 0;
#X connect 20 0 5 0;
#X connect 20 1 8 0;
#X connect 20 2 13 0;
#X connect 20 3 22 0;
#X connect 21 0 24 0;
#X connect 22 0 21 1;
#X connect 23 0 21 0;
#X connect 23 1 15 0;
#X connect 23 2 14 0;
#X connect 25 0 1 0;
#X connect 25 1 2 1;
#X connect 25 2 26 0;
#X restore 812 51 pd RAW_TICKS;
#N canvas 1 78 517 546 LIST_FOR_LP_GUI 0;
#X obj 67 21 inlet;
#X obj 67 195 unpack;
#X obj 67 217 tabread \$0_BUFFER;
#X obj 100 249 sel 1;
#X obj 127 273 b;
#X obj 115 305 r \$0_color_on;
#X obj 100 330 f;
#X obj 192 330 f;
#X obj 207 306 r \$0_color_off;
#X obj 67 368 pack;
#X obj 261 210 list length;
#X obj 188 258 sel -1;
#X obj 188 182 f;
#X obj 188 204 t f f;
#X msg 223 182 0;
#X obj 67 390 list prepend;
#X obj 67 412 t l l;
#X obj 67 442 list;
#X obj 67 474 outlet;
#X obj 221 231 - 1;
#X obj 67 144 list split 2;
#X obj 121 169 list;
#X obj 67 53 t l l b b;
#X obj 228 204 + 2;
#X obj 188 231 + 1;
#X obj 67 169 t b l;
#X obj 315 255 r \$0_color_bg;
#X obj 315 276 min 127;
#X obj 315 297 max 0;
#X obj 405 276 min 127;
#X obj 405 297 max 0;
#X obj 405 255 r \$0_color_fg;
#X connect 0 0 22 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 2 0 9 0;
#X connect 3 0 6 0;
#X connect 3 1 4 0;
#X connect 4 0 7 0;
#X connect 5 0 6 1;
#X connect 6 0 9 1;
#X connect 7 0 9 1;
#X connect 8 0 7 1;
#X connect 9 0 15 0;
#X connect 10 0 19 0;
#X connect 11 0 17 0;
#X connect 12 0 13 0;
#X connect 13 0 24 0;
#X connect 13 1 23 0;
#X connect 14 0 12 1;
#X connect 15 0 16 0;
#X connect 16 0 17 1;
#X connect 16 1 15 1;
#X connect 17 0 18 0;
#X connect 19 0 11 1;
#X connect 20 0 25 0;
#X connect 20 1 21 0;
#X connect 21 0 20 0;
#X connect 22 0 20 0;
#X connect 22 1 10 0;
#X connect 22 2 15 1;
#X connect 22 3 14 0;
#X connect 23 0 12 1;
#X connect 24 0 11 0;
#X connect 25 0 12 0;
#X connect 25 1 1 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 28 0 7 1;
#X connect 29 0 30 0;
#X connect 30 0 6 1;
#X connect 31 0 29 0;
#X restore 489 85 pd LIST_FOR_LP_GUI;
#X obj 812 82 t f f;
#X obj 881 82 t f f;
#X obj 812 113 swap;
#N canvas 13 78 688 392 POINTER 0;
#X text 88 18 highlight on the grid the current step \;;
#X obj 90 53 r \$0_pointer;
#X obj 153 135 tabread \$0_VALUES;
#X obj 90 279 tabread \$0_BUFFER;
#X obj 153 217 f;
#X msg 137 242 3;
#X text 166 242 color white \;;
#X obj 90 341 pack;
#X text 125 341 ID + value \;;
#X obj 90 363 outlet;
#X obj 153 156 sel 0;
#X msg 153 180 0;
#X msg 183 180 5;
#X obj 90 310 t f f;
#X obj 166 314 f;
#X obj 90 75 t f b b b f b;
#X obj 153 112 f;
#X obj 295 153 r \$0_color_off;
#X msg 295 174 set \$1;
#X msg 305 224 set \$1;
#X obj 305 203 r \$0_color_on;
#X obj 408 105 r \$0_color_fg;
#X obj 408 130 min 127;
#X obj 408 153 max 0;
#X obj 498 130 min 127;
#X obj 498 153 max 0;
#X obj 498 105 r \$0_color_bg;
#X connect 1 0 15 0;
#X connect 2 0 10 0;
#X connect 3 0 13 0;
#X connect 4 0 7 1;
#X connect 5 0 7 1;
#X connect 7 0 9 0;
#X connect 10 0 11 0;
#X connect 10 1 12 0;
#X connect 11 0 4 1;
#X connect 12 0 4 1;
#X connect 13 0 7 0;
#X connect 13 1 14 1;
#X connect 14 0 7 0;
#X connect 15 0 3 0;
#X connect 15 1 5 0;
#X connect 15 2 14 0;
#X connect 15 3 4 0;
#X connect 15 4 16 1;
#X connect 15 5 16 0;
#X connect 16 0 2 0;
#X connect 17 0 18 0;
#X connect 18 0 11 0;
#X connect 19 0 12 0;
#X connect 20 0 19 0;
#X connect 21 0 22 0;
#X connect 22 0 23 0;
#X connect 23 0 19 0;
#X connect 24 0 25 0;
#X connect 25 0 18 0;
#X connect 26 0 24 0;
#X restore 224 116 pd POINTER;
#X obj 53 158 route list velocity;
#X text 417 516 toggle OFF/ON \;;
#X obj 188 332 r \$0_color_fg;
#X obj 188 357 min 127;
#X obj 188 380 max 0;
#X obj 278 357 min 127;
#X obj 278 380 max 0;
#X obj 278 332 r \$0_color_bg;
#X obj 278 405 t b f f;
#X obj 188 402 t b f f;
#X connect 0 0 118 0;
#X connect 1 0 22 0;
#X connect 1 2 23 0;
#X connect 3 0 96 0;
#X connect 9 0 10 1;
#X connect 10 0 3 1;
#X connect 11 0 3 1;
#X connect 12 0 11 1;
#X connect 13 0 42 0;
#X connect 14 0 74 0;
#X connect 15 0 16 0;
#X connect 16 0 26 0;
#X connect 17 0 16 1;
#X connect 18 0 16 1;
#X connect 19 0 20 0;
#X connect 20 0 14 0;
#X connect 20 0 45 0;
#X connect 21 0 14 0;
#X connect 21 1 27 1;
#X connect 22 0 21 0;
#X connect 23 0 5 0;
#X connect 23 1 22 1;
#X connect 24 0 25 1;
#X connect 25 0 61 0;
#X connect 26 0 25 0;
#X connect 26 1 72 0;
#X connect 26 2 41 0;
#X connect 26 3 17 0;
#X connect 27 0 32 0;
#X connect 28 0 29 0;
#X connect 29 0 30 0;
#X connect 30 0 38 0;
#X connect 32 1 33 0;
#X connect 33 0 28 0;
#X connect 34 0 10 0;
#X connect 34 1 11 0;
#X connect 35 0 36 0;
#X connect 35 1 34 0;
#X connect 36 0 3 0;
#X connect 38 0 35 0;
#X connect 38 1 39 0;
#X connect 38 2 31 0;
#X connect 39 0 40 0;
#X connect 39 1 40 1;
#X connect 40 0 37 0;
#X connect 41 0 33 1;
#X connect 41 1 31 1;
#X connect 42 0 27 0;
#X connect 42 1 36 1;
#X connect 43 0 45 0;
#X connect 45 0 73 0;
#X connect 46 0 47 0;
#X connect 47 0 48 0;
#X connect 48 0 70 0;
#X connect 48 1 49 0;
#X connect 49 0 47 1;
#X connect 50 0 47 1;
#X connect 51 0 52 1;
#X connect 52 0 53 0;
#X connect 53 0 54 0;
#X connect 54 0 55 1;
#X connect 54 1 53 1;
#X connect 55 0 44 0;
#X connect 56 0 55 0;
#X connect 57 0 56 1;
#X connect 58 0 59 0;
#X connect 59 0 60 0;
#X connect 60 0 61 1;
#X connect 60 1 59 1;
#X connect 61 0 62 0;
#X connect 62 0 97 0;
#X connect 63 0 64 1;
#X connect 64 0 58 1;
#X connect 65 0 58 1;
#X connect 66 0 65 1;
#X connect 67 0 64 0;
#X connect 67 1 65 0;
#X connect 68 0 67 0;
#X connect 69 0 58 0;
#X connect 70 0 56 0;
#X connect 70 1 52 0;
#X connect 70 2 51 0;
#X connect 71 0 69 0;
#X connect 71 1 68 0;
#X connect 72 0 71 0;
#X connect 72 1 13 0;
#X connect 72 2 39 1;
#X connect 73 0 46 0;
#X connect 73 1 50 0;
#X connect 73 2 52 1;
#X connect 73 3 53 1;
#X connect 73 4 57 0;
#X connect 74 0 15 0;
#X connect 74 1 18 0;
#X connect 74 2 24 0;
#X connect 74 3 75 0;
#X connect 75 0 58 1;
#X connect 75 1 59 1;
#X connect 76 0 77 0;
#X connect 77 0 80 0;
#X connect 77 1 93 0;
#X connect 79 0 87 0;
#X connect 80 0 94 0;
#X connect 81 0 82 0;
#X connect 82 0 95 0;
#X connect 83 0 82 1;
#X connect 84 0 82 1;
#X connect 85 0 86 0;
#X connect 86 0 80 0;
#X connect 87 0 98 0;
#X connect 88 0 87 1;
#X connect 91 0 61 0;
#X connect 92 0 91 1;
#X connect 93 0 78 0;
#X connect 94 0 81 0;
#X connect 94 1 84 0;
#X connect 94 2 75 0;
#X connect 94 3 92 0;
#X connect 95 0 91 0;
#X connect 95 1 71 0;
#X connect 95 2 79 0;
#X connect 95 3 83 0;
#X connect 101 0 104 0;
#X connect 101 1 103 0;
#X connect 102 0 108 0;
#X connect 103 0 107 0;
#X connect 103 1 105 1;
#X connect 104 0 109 0;
#X connect 104 1 105 0;
#X connect 107 0 36 1;
#X connect 108 0 113 0;
#X connect 108 1 101 0;
#X connect 108 2 99 0;
#X connect 109 0 36 0;
#X connect 109 1 110 0;
#X connect 110 0 10 0;
#X connect 110 1 111 0;
#X connect 111 0 11 0;
#X connect 112 0 114 0;
#X connect 112 1 115 0;
#X connect 112 2 61 0;
#X connect 112 3 58 1;
#X connect 112 3 59 1;
#X connect 113 0 62 0;
#X connect 114 0 116 0;
#X connect 114 1 104 0;
#X connect 115 0 116 1;
#X connect 115 1 103 0;
#X connect 116 0 69 0;
#X connect 116 1 67 0;
#X connect 117 0 96 0;
#X connect 118 0 1 0;
#X connect 120 0 121 0;
#X connect 121 0 122 0;
#X connect 122 0 127 0;
#X connect 123 0 124 0;
#X connect 124 0 126 0;
#X connect 125 0 123 0;
#X connect 126 0 14 0;
#X connect 126 1 11 1;
#X connect 126 2 65 1;
#X connect 127 0 14 0;
#X connect 127 1 10 1;
#X connect 127 2 64 1;
#X restore 330 434 pd PROCESSING;
#X obj 138 151 min 100;
#X obj 201 279 max 0;
#X obj 201 258 min 127;
#X obj 138 434 list store;
#X floatatom 884 89 5 0 0 0 - - -;
#X obj 18 67 s \$0_print_args;
#X obj 1040 32 r \$0_print_args;
#X floatatom 734 89 5 0 0 0 - - -;
#X floatatom 694 89 5 0 0 0 - - -;
#X obj 694 109 s \$0_length;
#X obj 694 68 \$2;
#X floatatom 834 89 5 0 0 0 - - -;
#X obj 834 169 s \$0_orientation;
#X obj 290 204 r \$0_orientation;
#N canvas 312 78 958 689 SHAPE 0;
#X obj 39 37 inlet;
#X obj 179 37 inlet;
#X obj 259 37 inlet;
#X text 33 12 start point;
#X text 163 12 length;
#X obj 489 37 inlet;
#X text 483 12 orientation;
#X msg 179 89 set \$1;
#X msg 39 94 0;
#X obj 39 121 until;
#X obj 39 147 f 0;
#X msg 85 121 0;
#X obj 119 169 + 1;
#X obj 489 70 sel 0 1;
#X msg 489 92 1;
#X msg 519 92 10;
#X obj 39 484 pack;
#X obj 39 606 outlet;
#X obj 93 438 sel -1;
#X obj 173 201 - 1;
#X obj 39 526 list prepend;
#X obj 39 548 t l l;
#X obj 39 571 list;
#X obj 173 154 f;
#X obj 173 177 * 1;
#X obj 489 117 t b f f f;
#X text 253 12 on color;
#X obj 329 37 inlet;
#X text 323 12 off color;
#X obj 39 506 t l b;
#X obj 202 524 t f b;
#X obj 237 555 f 0;
#X obj 237 577 t f f;
#X obj 277 577 + 1;
#X msg 252 528 0;
#X obj 624 174 array define \$0_BUFFER;
#X msg 624 154 const -1;
#X obj 179 64 t f f f;
#X msg 251 108 resize \$1;
#X obj 251 130 s \$0_BUFFER;
#X obj 202 606 tabwrite \$0_BUFFER;
#X obj 39 170 t f f f;
#X obj 39 456 t f f;
#X obj 58 208 t f f;
#X obj 58 234 % 8;
#X obj 98 234 div 8;
#X obj 98 257 * 10;
#X text 147 243 from 0 \, 1 \, 2 \, 3 \, 4... \, n \; to 11 \, 12 \,
13 \, ...21 \, 22 \, 23... \, n \;;
#X obj 58 257 -;
#X obj 58 331 moses;
#X obj 58 305 +;
#X floatatom 73 283 5 0 0 1 start_point - -;
#X obj 85 353 moses 101;
#X obj 39 59 t b b f b b;
#X obj 259 59 s \$0_s_on_color;
#X obj 269 79 s \$0_s_off_color;
#X obj 113 463 r \$0_s_off_color;
#X obj 624 203 array define \$0_VALUES;
#X obj 261 150 s \$0_VALUES;
#X text 772 172 elem_ids \;;
#X text 772 202 elem_id values (0-1) \;;
#X connect 0 0 53 0;
#X connect 1 0 37 0;
#X connect 2 0 54 0;
#X connect 5 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 41 0;
#X connect 11 0 10 1;
#X connect 12 0 10 1;
#X connect 13 0 14 0;
#X connect 13 1 15 0;
#X connect 14 0 25 0;
#X connect 15 0 25 0;
#X connect 16 0 29 0;
#X connect 18 0 22 0;
#X connect 19 0 18 1;
#X connect 20 0 21 0;
#X connect 21 0 22 1;
#X connect 21 1 20 1;
#X connect 22 0 17 0;
#X connect 23 0 24 0;
#X connect 24 0 19 0;
#X connect 25 0 23 0;
#X connect 25 1 24 1;
#X connect 25 2 19 1;
#X connect 25 3 12 1;
#X connect 27 0 55 0;
#X connect 29 0 20 0;
#X connect 30 0 40 0;
#X connect 30 1 31 0;
#X connect 31 0 32 0;
#X connect 32 0 40 1;
#X connect 32 1 33 0;
#X connect 33 0 31 1;
#X connect 34 0 31 1;
#X connect 36 0 35 0;
#X connect 37 0 7 0;
#X connect 37 1 23 0;
#X connect 37 2 38 0;
#X connect 38 0 39 0;
#X connect 38 0 58 0;
#X connect 41 0 18 0;
#X connect 41 1 43 0;
#X connect 41 2 12 0;
#X connect 42 0 16 0;
#X connect 42 1 30 0;
#X connect 43 0 44 0;
#X connect 43 1 45 0;
#X connect 44 0 48 0;
#X connect 45 0 46 0;
#X connect 46 0 48 1;
#X connect 48 0 50 0;
#X connect 49 1 52 0;
#X connect 50 0 49 0;
#X connect 51 0 50 1;
#X connect 52 0 42 0;
#X connect 53 0 8 0;
#X connect 53 1 11 0;
#X connect 53 2 51 0;
#X connect 53 3 20 1;
#X connect 53 4 34 0;
#X connect 56 0 16 1;
#X restore 138 376 pd SHAPE;
#X obj 149 203 r \$0_length;
#X obj 290 226 max 0;
#X obj 290 248 min 1;
#X obj 734 129 s \$0_color_on;
#X obj 201 228 r \$0_color_on;
#X floatatom 784 89 5 0 0 0 - - -;
#X obj 784 149 s \$0_color_off;
#X obj 251 349 max 0;
#X obj 251 328 min 127;
#X obj 251 298 r \$0_color_off;
#X obj 694 571 outlet;
#X obj 924 68 \$0;
#X floatatom 924 89 5 0 0 0 - - -;
#X obj 690 28 t b b b b b b;
#X obj 694 531 r \$0_step_status;
#X obj 854 531 r \$0_whole_grid;
#X text 684 595 list \; 1 step nr (0 index) \; 2 step value \;;
#X obj 77 87 s \$0_dump_grid;
#X text 852 592 list \; pairs of steps + value \; whole grid;
#X msg 834 69 0;
#X obj 1024 571 outlet;
#X text 1022 592 return grid size \;;
#X obj 1039 509 r \$0_length;
#X obj 1024 531 f;
#X obj 136 108 s \$0_get_size;
#X obj 1024 489 r \$0_get_size;
#X obj 177 88 s \$0_clear;
#X obj 884 68 \$4;
#X obj 138 564 s \$4_to_LP_GUI;
#X obj 490 245 r \$4_from_LP_GUI;
#X obj 784 272 r \$4_heartbeat;
#X obj 784 391 s \$4_heartbeat_reply;
#X obj 217 67 s \$0_ext_steps;
#X obj 734 68 5;
#X obj 257 88 s \$0_raw_ticks;
#X obj 307 67 s \$0_pointer;
#X obj 490 303 f 0;
#X obj 490 324 t f f;
#X obj 530 324 + 1;
#X obj 490 345 sel 1;
#X obj 784 68 \$3;
#X obj 375 91 s \$0_print_outlets;
#X obj 1050 95 r \$0_print_outlets;
#X msg 1050 121 GRID OUTLETS \, 1: (list) step_nr+step_value \, 2:
(list) whole gird (nr+value pairs) \, 3: grid size \;;
#X msg 1040 58 GRID ARGS \, 1: elem_id (pad no.) \, 2: length \, 3:
color \, 4: LP_GUI_id \;;
#X obj 426 67 s \$0_print_methods;
#X obj 1070 159 r \$0_print_methods;
#X obj 1101 303 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 1140 412 s \$0_print_args;
#X obj 1101 363 s \$0_print_outlets;
#X obj 1120 386 s \$0_print_methods;
#X obj 1101 328 t b b b;
#X obj 18 30 route print_args dump get_size clear steps raw_ticks pointer
print_outlets print_methods color_bg color_fg, f 94;
#X obj 486 156 s \$0_color_bg;
#X obj 543 88 s \$0_color_fg;
#X obj 490 277 spigot 1;
#X obj 784 296 t b b;
#X msg 784 317 1;
#X obj 784 350 spigot 1;
#X obj 490 414 t f f;
#X obj 467 135 t b f b;
#X obj 506 176 s \$0_change_color_bg;
#X obj 644 212 r \$0_change_color_bg;
#X obj 644 233 t b b;
#X msg 644 254 1;
#X msg 671 254 0;
#X obj 338 274 r \$0_color_bg;
#X obj 338 244 r \$0_color_fg;
#X msg 558 108 const 0;
#X obj 558 129 s \$0_VALUES;
#X obj 543 67 t f b;
#X msg 1070 180 GRID METHODS \, dump \, get_size \, clear \, steps
\, raw_ticks \, pointer \, color_bg \, color_fg \;;
#X text 34 622 Copyright 2019-2020 Focusrite Audio Engineering Limited.
;
#X text 65 744 http://www.apache.org/licenses/LICENSE-2.0;
#X text 35 652 Licensed under the Apache License \, Version 2 (the
"License") \; you may not use this file except in compliance with the
License.;
#X text 35 709 You may obtain a copy of the License at;
#X text 35 774 Unless required by applicable law or agreed to in writing
\, software distributed under the License is distributed on an "AS
IS" BASIS \, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND \, either
express or implied.;
#X text 35 830 See the License for the specific language governing
permissions and limitations under the License.;
#X connect 0 0 83 0;
#X connect 1 0 30 0;
#X connect 2 0 3 0;
#X connect 3 0 8 0;
#X connect 3 1 16 0;
#X connect 4 0 62 0;
#X connect 5 0 44 0;
#X connect 6 0 90 0;
#X connect 8 0 86 1;
#X connect 9 0 6 0;
#X connect 9 1 19 0;
#X connect 11 0 59 0;
#X connect 16 0 1 0;
#X connect 17 0 30 2;
#X connect 18 0 17 0;
#X connect 19 0 11 0;
#X connect 22 0 75 0;
#X connect 23 0 34 0;
#X connect 24 0 25 0;
#X connect 26 0 24 0;
#X connect 27 0 28 0;
#X connect 29 0 32 0;
#X connect 30 0 19 1;
#X connect 31 0 30 1;
#X connect 32 0 33 0;
#X connect 33 0 30 4;
#X connect 35 0 18 0;
#X connect 36 0 37 0;
#X connect 38 0 30 3;
#X connect 39 0 38 0;
#X connect 40 0 39 0;
#X connect 42 0 43 0;
#X connect 44 0 2 0;
#X connect 44 1 26 0;
#X connect 44 2 64 0;
#X connect 44 3 71 0;
#X connect 44 4 50 0;
#X connect 44 4 58 0;
#X connect 44 5 42 0;
#X connect 45 0 41 0;
#X connect 46 0 12 0;
#X connect 50 0 27 0;
#X connect 53 0 54 1;
#X connect 54 0 51 0;
#X connect 56 0 54 0;
#X connect 58 0 20 0;
#X connect 60 0 86 0;
#X connect 61 0 87 0;
#X connect 64 0 23 0;
#X connect 67 0 68 0;
#X connect 68 0 70 0;
#X connect 68 1 69 0;
#X connect 69 0 67 1;
#X connect 70 0 9 0;
#X connect 71 0 36 0;
#X connect 73 0 74 0;
#X connect 74 0 14 0;
#X connect 75 0 14 0;
#X connect 77 0 102 0;
#X connect 78 0 82 0;
#X connect 82 0 80 0;
#X connect 82 1 81 0;
#X connect 82 2 79 0;
#X connect 83 0 21 0;
#X connect 83 1 48 0;
#X connect 83 2 55 0;
#X connect 83 3 57 0;
#X connect 83 4 63 0;
#X connect 83 5 65 0;
#X connect 83 6 66 0;
#X connect 83 7 72 0;
#X connect 83 8 76 0;
#X connect 83 9 91 0;
#X connect 83 10 101 0;
#X connect 86 0 67 0;
#X connect 87 0 88 0;
#X connect 87 1 89 0;
#X connect 88 0 89 1;
#X connect 89 0 4 0;
#X connect 90 0 67 1;
#X connect 90 1 86 1;
#X connect 91 0 16 0;
#X connect 91 1 84 0;
#X connect 91 2 92 0;
#X connect 93 0 94 0;
#X connect 94 0 95 0;
#X connect 94 1 96 0;
#X connect 95 0 86 1;
#X connect 96 0 89 1;
#X connect 97 0 39 0;
#X connect 98 0 18 0;
#X connect 99 0 100 0;
#X connect 101 0 85 0;
#X connect 101 1 99 0;
#X connect 102 0 14 0;
#X coords 0 -1 1 1 120 20 1 1000 300;