-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbargraph.pd
1666 lines (1666 loc) · 42.5 KB
/
bargraph.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 struct 1671-barray array z 1671-arrayelement float color;
#N struct 1671-arrayelement float zz;
#N canvas 0 0 1920 1021 10;
#X msg 347 188 vis 1;
#X obj 346 160 iemguts/propertybang;
#X obj 435 209 r \$0-ok;
#X msg 438 238 vis 0;
#N canvas 0 0 1427 874 gui_feedback 0;
#X msg 148 73 set \$1;
#X msg 28 83 set \$1;
#X obj 32 45 r \$0-height;
#X obj 153 36 r \$0-width;
#X obj 151 112 s \$0-width-rcv;
#X obj 31 121 s \$0-height-rcv;
#X obj 45 247 r \$0-style;
#X msg 32 352 set \$1;
#X obj 31 388 s \$0-style-rcv;
#X obj 307 247 s \$0-xfrom-rcv;
#X obj 444 250 s \$0-yfrom-rcv;
#X obj 311 179 r \$0-xfrom;
#X obj 448 182 r \$0-yfrom;
#X msg 311 202 set \$1;
#X msg 448 205 set \$1;
#X obj 326 98 s \$0-xto-rcv;
#X obj 421 97 s \$0-yto-rcv;
#X obj 336 38 r \$0-xto;
#X obj 400 38 r \$0-yto;
#X msg 336 61 set \$1;
#X msg 400 61 set \$1;
#X obj 622 15 r \$0-size;
#X obj 565 100 s \$0-size-rcv;
#X msg 561 46 set \$1;
#X obj 620 260 r \$0-linewidth;
#X obj 619 316 s \$0-linewidth-rcv;
#X msg 620 283 set \$1;
#X obj 733 152 s \$0-style-rcv;
#X obj 828 158 s \$0-mode-rcv;
#X obj 930 159 s \$0-displayMode-rcv;
#X obj 738 70 r \$0-style;
#X obj 833 76 r \$0-mode;
#X obj 935 77 r \$0-displayMode;
#X msg 738 93 set \$1;
#X msg 833 99 set \$1;
#X msg 935 100 set \$1;
#X obj 874 313 r \$0-save_contents;
#X msg 874 336 set \$1;
#X obj 867 373 s \$0-save_contents-rcv;
#X obj 644 48 s \$0-xto;
#X obj 562 144 t b;
#X obj 562 167 delay 40;
#X obj 562 190 s \$0-set;
#X obj 592 80 change;
#X obj 139 314 select 0 1;
#X obj 187 469 s \$0-yfrom;
#X obj 267 469 s \$0-yto;
#X msg 180 380 1 0;
#X msg 247 378 1 -1;
#X obj 198 418 unpack f f;
#X msg 428 479 set \$1;
#X obj 428 456 r \$0-borders;
#X obj 427 512 s \$0-borders-rcv;
#X obj 639 564 r \$0-width;
#X obj 717 564 r \$0-height;
#X obj 646 605 s \$0-w;
#X obj 724 605 s \$0-h;
#X connect 0 0 4 0;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X connect 6 0 7 0;
#X connect 6 0 44 0;
#X connect 7 0 8 0;
#X connect 11 0 13 0;
#X connect 12 0 14 0;
#X connect 13 0 9 0;
#X connect 14 0 10 0;
#X connect 17 0 19 0;
#X connect 18 0 20 0;
#X connect 19 0 15 0;
#X connect 20 0 16 0;
#X connect 21 0 23 0;
#X connect 21 0 39 0;
#X connect 21 0 43 0;
#X connect 23 0 22 0;
#X connect 24 0 26 0;
#X connect 26 0 25 0;
#X connect 30 0 33 0;
#X connect 31 0 34 0;
#X connect 32 0 35 0;
#X connect 33 0 27 0;
#X connect 34 0 28 0;
#X connect 35 0 29 0;
#X connect 36 0 37 0;
#X connect 37 0 38 0;
#X connect 40 0 41 0;
#X connect 41 0 42 0;
#X connect 43 0 40 0;
#X connect 44 0 47 0;
#X connect 44 1 48 0;
#X connect 47 0 49 0;
#X connect 48 0 49 0;
#X connect 49 0 45 0;
#X connect 49 1 46 0;
#X connect 50 0 52 0;
#X connect 51 0 50 0;
#X connect 53 0 55 0;
#X connect 54 0 56 0;
#X restore 556 384 pd gui_feedback;
#X obj 40 64 namecanvas \$0-this;
#N canvas 3 51 450 300 \$0-display 0;
#X scalar 1671-barray 900 \; 0 \; 0 \; 0 \; 0 \; 0 \; 0 \; 0 \; 0 \;
0 \; 0 \; \;;
#X coords 0 1 10 0 200 140 2 100 20;
#X restore 40 130 pd \$0-display;
#N canvas 543 70 1179 895 resize 0;
#X obj 883 220 r \$0-width;
#X obj 961 220 r \$0-height;
#X obj 548 220 t b b;
#X obj 603 462 s pd-\$0-graph;
#X obj 626 418 s pd-\$0-display;
#X obj 548 528 t b b;
#X msg 580 860 dirty 0;
#X obj 580 882 s \$0-this;
#X obj 580 374 t l l l;
#X obj 580 506 s \$0-this;
#X obj 706 131 r \$0-yfrom;
#X obj 819 220 r \$0-yto;
#X obj 599 220 r \$0-xfrom;
#X obj 755 220 r \$0-xto;
#X obj 548 838 t b b;
#X obj 548 198 r \$0-set;
#X obj 548 772 t b b;
#X obj 580 352 pack f f f f f f f f;
#X obj 883 286 *;
#X obj 883 308 !=;
#X obj 883 330 * 2;
#X obj 592 799 f;
#X obj 615 726 r \$0-color;
#X msg 626 396 donecanvasdialog 1 1 \$8 \$2 \$3 \$4 \$5 \$6 \$7 100
20;
#X msg 603 440 donecanvasdialog 1 1 \$8 \$2 \$3 \$4 \$5 \$6 \$7 0 0
;
#X msg 580 484 donecanvasdialog 1 1 \$8 \$2 \$3 \$4 \$5 \$6 \$7 40
130;
#X floatatom 599 243 5 0 0 0 - - - 0;
#X obj 939 259 t b f;
#X obj 309 387 symbol pd-\$0-display;
#X msg 309 410 traverse \$1 \, next;
#X obj 82 255 r \$0-size;
#X obj 81 348 t f b;
#X obj 313 480 pointer;
#X obj 313 601 s \$0-structpointer;
#X obj 150 748 pointer;
#X msg 50 743 900;
#X obj 47 813 s \$0-structpointer;
#X obj 628 826 set barray color;
#X obj 1054 614 r \$0-structpointer;
#X obj 486 189 r \$0-ok;
#X msg 153 721 traverse \$1 \, bang;
#X obj 148 687 symbol pd-\$0-display;
#X obj 152 658 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X msg 825 701 \$1 \$1 \$1 \$1 \$1 \$1 \$1 \$1;
#X obj 849 660;
#X msg 902 645 const 1;
#X obj 858 748 list append arsray set -s barray z -f arrayelement color
;
#X obj 22 588 setsize \$0-barray z, f 40;
#X obj 48 778 append \$0-barray color;
#X obj 82 307 spigot;
#X obj 211 263 loadbang;
#X msg 211 286 1;
#X obj 638 330 - 0;
#X connect 0 0 17 5;
#X connect 0 0 18 0;
#X connect 1 0 17 6;
#X connect 1 0 27 0;
#X connect 2 0 5 0;
#X connect 2 1 17 0;
#X connect 5 0 16 0;
#X connect 6 0 7 0;
#X connect 8 0 25 0;
#X connect 8 1 24 0;
#X connect 8 2 23 0;
#X connect 10 0 17 2;
#X connect 11 0 17 4;
#X connect 12 0 17 1;
#X connect 12 0 26 0;
#X connect 13 0 52 0;
#X connect 14 1 6 0;
#X connect 15 0 2 0;
#X connect 16 0 14 0;
#X connect 16 1 21 0;
#X connect 17 0 8 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 17 7;
#X connect 22 0 21 1;
#X connect 23 0 4 0;
#X connect 24 0 3 0;
#X connect 25 0 9 0;
#X connect 27 0 18 0;
#X connect 27 1 18 1;
#X connect 28 0 29 0;
#X connect 29 0 32 0;
#X connect 30 0 49 0;
#X connect 31 0 47 0;
#X connect 31 1 28 0;
#X connect 32 0 33 0;
#X connect 32 0 47 1;
#X connect 34 0 48 1;
#X connect 35 0 48 0;
#X connect 39 0 2 0;
#X connect 40 0 34 0;
#X connect 41 0 40 0;
#X connect 42 0 41 0;
#X connect 43 0 46 0;
#X connect 45 0 46 0;
#X connect 48 0 36 0;
#X connect 49 0 31 0;
#X connect 50 0 51 0;
#X connect 51 0 49 1;
#X connect 52 0 17 3;
#X restore 559 481 pd resize;
#X obj 345 266 s pd-bargraph_properties(\$0);
#N canvas 601 290 420 500 bargraph_properties(\$0) 0;
#X obj 8 6 cnv 15 400 300 empty empty empty 20 12 0 14 #e0e0e0 #404040
0;
#X floatatom 308 110 5 0 0 0 width \$0-width-rcv \$0-width 0;
#X floatatom 306 85 5 0 0 0 height \$0-height-rcv \$0-height 0;
#N canvas 0 50 450 300 todo 0;
#X obj 244 238 nbx 3 20 10 200 1 0 \$0-spdrt \$0-spdrt-rcv speed_ratio(%)
-140 10 0 16 #fcfcfc #000000 #000000 0 256;
#X obj 35 101 cnv 15 200 80 empty empty TODO 20 12 0 14 #fcfcc4 #404040
0;
#X floatatom 187 130 5 0 0 0 text_color \$0-cc-rcv \$0-cc-snd 0;
#N canvas 0 50 450 300 (subpatch) 0;
#X obj 215 153 cnv 20 20 20 empty \$0-cc_cnv-rcv empty 20 12 0 14 #000000
#404040 0;
#X msg 316 159 color \$1 \$1;
#X obj 316 117 r \$0-cursor_color;
#X obj 316 198 s \$0-cc_cnv-rcv;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X coords 0 -1 1 1 20 20 2 100 100;
#X restore 288 132 pd;
#X floatatom 187 173 5 0 0 0 text_size - - 0;
#X floatatom 277 38 5 0 0 0 z-offset \$0-z_offset-rcv \$0-z_offset
0;
#X obj 153 21 tgl 20 0 \$0-invisible \$0-invisible-rcv Invisible -100
8 0 16 #fcfcfc #000000 #000000 0 1;
#X obj 153 40 tgl 20 0 \$0-z_offset \$0-z_offset-rcv MoveOnTop -100
8 0 16 #fcfcfc #000000 #000000 0 99;
#X restore 141 358 pd todo;
#X obj 9 309 cnv 15 400 180 empty empty empty 20 12 0 14 #c4fcc4 #404040
0;
#X text 48 317 MobMuPlat Widget Export, f 25;
#X floatatom 104 435 5 0 0 0 z-offset \$0-z_offset-rcv \$0-z_offset
0;
#X obj 135 458 tgl 20 0 \$0-z_offset \$0-z_offset-rcv MoveOnTop -100
8 0 16 #fcfcfc #000000 #000000 0 99;
#X obj 92 382 hsl 60 20 0 1 0 0 \$0-front_alpha \$0-front_alpha-rcv
empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 91 352 hsl 60 20 0 1 0 0 \$0-back_alpha \$0-back_alpha-rcv empty
-2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X text 19 171 front_color;
#X text 163 349 Back color Opacity;
#X text 165 379 Front color Opacity;
#N canvas 882 181 1049 632 color_picker 0;
#X obj 53 150 hsl 128 12 0 255 0 0 empty empty empty -2 -8 0 10 #dcdcdc
#fc0400 #000000 0 0;
#X obj 53 162 hsl 128 12 0 255 0 0 empty empty empty -2 -8 0 10 #dcdcdc
#00fc04 #000000 0 0;
#X obj 53 174 hsl 128 12 0 255 0 0 empty empty empty -2 -8 0 10 #dcdcdc
#0400fc #000000 0 0;
#X obj 183 150 tgl 36 0 empty empty empty 17 7 0 10 #c0b0c0 #c0b0c0
#c0b0c0 0 1;
#N canvas 0 50 498 451 convert2rgb 0;
#X obj 53 112 * -1;
#X obj 54 81 + 1;
#X obj 180 183 mod 256;
#X obj 51 179 div 256;
#X obj 52 143 t f f, f 13;
#X obj 49 210 t f f;
#X obj 48 248 div 256;
#X obj 132 250 mod 256;
#X obj 54 51 inlet;
#X obj 49 317 outlet;
#X obj 129 317 outlet;
#X obj 209 317 outlet;
#X connect 0 0 4 0;
#X connect 1 0 0 0;
#X connect 2 0 11 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 4 1 2 0;
#X connect 5 0 6 0;
#X connect 5 1 7 0;
#X connect 6 0 9 0;
#X connect 7 0 10 0;
#X connect 8 0 1 0;
#X restore 58 76 pd convert2rgb;
#X msg 286 149 color \$1 \$1 \$1;
#X msg 57 112 set \$1;
#X msg 141 109 set \$1;
#X msg 234 111 set \$1;
#X obj 83 332 t b f;
#X obj 144 333 t b f;
#X obj 149 291 i;
#X obj 104 292 i;
#X obj 61 294 i;
#X obj 67 410 expr ($f1*(-65536)+$f2*(-256)+$f3*(-1))-1;
#X obj 66 372 pack f f f;
#X obj 58 45 spigot 1;
#X obj 67 457 t b f b;
#X msg 134 495 0;
#X msg 67 486 1;
#X obj 58 14 r \$0-front_color;
#X obj 97 549 s \$0-front_color;
#X obj 220 224 / 31;
#X obj 254 224 / 31;
#X obj 289 222 / 31;
#X obj 220 246 int;
#X obj 254 246 int;
#X obj 289 244 int;
#X obj 220 268 * 100;
#X obj 254 268 * 10;
#X obj 220 354 +;
#X obj 257 312 +;
#X obj 257 334 t b f;
#X obj 295 285 t b f;
#X obj 220 376 s \$0-color;
#X connect 0 0 13 0;
#X connect 0 0 22 0;
#X connect 1 0 12 0;
#X connect 1 0 23 0;
#X connect 2 0 11 0;
#X connect 2 0 24 0;
#X connect 4 0 6 0;
#X connect 4 1 7 0;
#X connect 4 2 8 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 7 0 1 0;
#X connect 8 0 2 0;
#X connect 9 0 15 0;
#X connect 9 1 15 1;
#X connect 10 0 15 0;
#X connect 10 1 15 2;
#X connect 11 0 10 0;
#X connect 12 0 9 0;
#X connect 13 0 15 0;
#X connect 14 0 17 0;
#X connect 15 0 14 0;
#X connect 16 0 4 0;
#X connect 17 0 19 0;
#X connect 17 1 21 0;
#X connect 17 2 18 0;
#X connect 18 0 16 1;
#X connect 19 0 16 1;
#X connect 20 0 5 0;
#X connect 20 0 16 0;
#X connect 22 0 25 0;
#X connect 23 0 26 0;
#X connect 24 0 27 0;
#X connect 25 0 28 0;
#X connect 26 0 29 0;
#X connect 27 0 33 0;
#X connect 28 0 30 0;
#X connect 29 0 31 0;
#X connect 30 0 34 0;
#X connect 31 0 32 0;
#X connect 32 0 30 0;
#X connect 32 1 30 1;
#X connect 33 0 31 0;
#X connect 33 1 31 1;
#X coords 0 -1 1 1 169 36 2 50 150;
#X restore 99 176 pd color_picker;
#X obj 353 249 bng 40 250 50 0 \$0-ok empty OK 5 20 0 20 #c4fcc4 #000000
#000000;
#X symbolatom 91 13 30 0 0 0 name \$0-name-rcv \$0-name 0;
#X floatatom 93 37 8 1 999 0 size \$0-size-rcv \$0-size 0;
#X obj 93 62 tgl 15 0 \$0-save_contents \$0-save_contents-rcv save_contents
17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 291 169 bng 40 250 50 0 \$0-set empty APPLY 5 20 0 20 #c4fcc4
#000000 #000000;
#X text 30 236 back color not yet implemented;
#X obj 55 90 cnv 15 100 60 empty empty empty 20 12 0 14 #ffc7c6 #404040
0;
#X obj 56 108 vradio 15 1 0 2 \$0-style \$0-style-rcv empty 0 -8 0
10 #fcfcfc #000000 #000000 0;
#X text 67 87 style;
#X text 85 106 bargraph;
#X text 82 126 symetrique;
#X floatatom 211 108 5 0 20 0 borders \$0-borders-rcv \$0-borders 0
;
#X restore 344 288 pd bargraph_properties(\$0);
#N canvas 0 0 1920 1021 bargraph_edit 1;
#X obj 421 127 route click;
#X obj 390 350 list split 1;
#X obj 390 375 list trim;
#X obj 209 566 int;
#X obj 162 616 f;
#X obj 148 192 spigot;
#X msg 251 174 1;
#X msg 181 163 0;
#X obj 426 99 r \$0-struct;
#X obj 77 12 iemguts/receivecanvas 2;
#X obj 211 543 *;
#X obj 322 506 -;
#X obj 392 483 t b f;
#X obj 302 533 *;
#X obj 299 561 /;
#X obj 337 539 r \$0-height;
#X obj 325 453 r \$0-yto;
#X obj 407 422 r \$0-yfrom;
#X obj 197 467 /;
#X obj 226 439 r \$0-width;
#X obj 421 152 t b b a b;
#X obj 470 233 unpack f f;
#X obj 235 517 r \$0-size;
#X obj 290 589 +;
#X obj 327 580 r \$0-yfrom;
#X obj 470 210 iemguts/canvasposition 1;
#X obj 140 495 moses 0;
#X obj 171 518 moses 1;
#X obj 189 432 -;
#X obj 305 427 -;
#X obj 133 372 unpack f f f;
#X obj 438 651 pack f f;
#X obj 152 639 t f f;
#X obj 174 591 t b f f;
#X msg 438 674 \$2 \$1;
#X obj 238 682 element \$0-barray z;
#X obj 140 717 set \$0-arrayelement zz;
#X obj 163 320 list append;
#X obj 151 344 list split 3;
#X obj 299 225 delay 10;
#X obj 420 621 change;
#X obj 483 537 change;
#X obj 482 563 t b f;
#X msg 423 594 set 0;
#X obj 520 731 s \$0-touched;
#X obj 234 635 clip 0 1;
#X obj 218 406 / 1;
#X obj 186 407 / 1;
#X obj 217 369 r \$0-zoom;
#X obj 305 481 * 1, f 8;
#X obj 555 347 r \$0-style;
#X obj 555 370 select 0 1;
#X msg 551 405 1.2;
#X msg 565 429 0.6;
#X obj 262 612 - 0.1;
#X obj 159 285 s \$0-mouseup;
#X obj 180 234 spigot;
#X obj 180 257 t b f;
#X obj 59 39 route zoom;
#X obj 123 70 spigot 1;
#X obj 240 10 r MULTITOUCH.ACTIVESLOTS;
#X obj 240 39 == 0;
#X obj 92 95 route motion mouseup mouse;
#X obj 42 72 s \$0-zoom;
#N canvas 221 190 884 529 receive_MULTITOUCH.MODE2.parent\$0 0;
#X msg 176 71 bang;
#X obj 254 70 loadbang;
#X obj 230 430 outlet;
#N canvas 0 50 450 242 \$0-dynamic-receiver 0;
#X obj 10 10 r MULTITOUCH.MODE2.1667;
#X obj 10 50 s 1671-iem_receive;
#X connect 0 0 1 0;
#X restore 222 306 pd \$0-dynamic-receiver;
#X obj 219 147 pack s \$0;
#X obj 220 227 s pd-\$0-dynamic-receiver;
#X obj 230 395 r \$0-iem_receive;
#X msg 121 193 clear;
#X text 25 17 création dynamique d'un receiver avec un nom de canal
défini au moment de l'ouverture du patch;
#X msg 220 179 clear \, obj 10 10 r MULTITOUCH.MODE2.\$1 \, obj 10
50 s \$2-iem_receive \, connect 0 0 1 0;
#X text 423 381 A chaque nouvel événement touch-down \, [r MULTITOUCH.MODE2.\$1]
recoit un message sous la forme suivante : <x> <y> <slotID>, f 37
;
#X obj 181 104 iemguts/canvasdollarzero 3;
#X connect 0 0 11 0;
#X connect 1 0 11 0;
#X connect 4 0 9 0;
#X connect 6 0 2 0;
#X connect 7 0 5 0;
#X connect 9 0 5 0;
#X connect 11 0 4 0;
#X restore 266 54 pd receive_MULTITOUCH.MODE2.parent\$0;
#N canvas 770 9 1149 924 touch_listener 0;
#X obj 56 42 inlet;
#X obj 44 629 select 1;
#X obj 46 691 pack f f;
#X obj 44 659 f \$0;
#X obj 73 771 tabwrite MULTITOUCH.SLOT.STATUS;
#X obj 42 811 list append, f 14;
#X obj 58 127 spigot 1;
#X msg 156 65 0;
#X msg 212 102 1;
#X obj 392 33 r \$0-channel;
#X obj 393 67 route remove update;
#X obj 185 263 tabread MULTITOUCH.SLOT.STATUS;
#X obj 58 163 list split 2;
#X obj 52 333 spigot;
#X obj 185 322 == 0;
#X text 193 294 check if slot still free;
#X obj 152 221 t f f f;
#X obj 596 555 pack f f;
#X obj 46 728 t b l b l b;
#X obj 181 611 pack f f;
#X obj 54 478 t f f;
#X obj 382 103 t b b b b;
#X obj 306 818 list append 0 0;
#X obj 403 497 t a a;
#X obj 440 535 list length;
#X obj 444 564 - 1;
#X obj 387 605 list split;
#X obj 385 644 list trim;
#X obj 39 930 outlet;
#X msg 27 856 add \$1 \$2;
#X msg 149 859 update \$1 \$2;
#X msg 309 862 remove \$1 \$2;
#X text 777 42 la table MULTITOUCH.SLOT.STATUS indique si chaque slot
(tracker de touch-event) est associé ou non à un élément GUI multitouch.
Si tel est le cas \, l'éĺément i de la table associé au slot i
prend la valeur \$0 du touch_listener auquel il est associé, f 33
;
#X obj 210 469 t f f;
#N canvas 0 0 450 300 Is_inside_Gui_object? 0;
#X obj 53 38 inlet;
#X obj 225 38 inlet;
#X obj 59 266 outlet;
#X obj 53 130 - 100;
#X obj 222 126 - 100;
#X obj 48 166 abs;
#X obj 222 157 abs;
#X obj 47 198 < 100;
#X obj 219 192 < 100;
#X obj 55 231 &&;
#X obj 145 72 / 2;
#X obj 309 63 / 2;
#X obj 139 42 r \$0-w;
#X obj 309 39 r \$0-h;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 9 1;
#X connect 9 0 2 0;
#X connect 10 0 3 1;
#X connect 10 0 7 1;
#X connect 11 0 4 1;
#X connect 11 0 8 1;
#X connect 12 0 10 0;
#X connect 13 0 11 0;
#X restore 46 541 pd Is_inside_Gui_object?;
#X f 10;
#N canvas 0 0 450 271 Gui_object_relative_coords 0;
#X obj 57 45 inlet;
#X obj 75 261 outlet;
#X obj 232 264 outlet;
#X obj 196 83 unpack f f;
#X obj 64 144 -;
#X obj 225 142 -;
#X obj 59 100 unpack f f;
#X obj 200 53 r \$0-pos;
#X connect 0 0 6 0;
#X connect 3 0 4 1;
#X connect 3 1 5 1;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 6 0 4 0;
#X connect 6 1 5 0;
#X connect 7 0 3 0;
#X restore 50 375 pd Gui_object_relative_coords;
#X f 13;
#N canvas 0 50 450 300 Normalize_coords 0;
#X obj 48 31 inlet;
#X obj 318 31 inlet;
#X obj 38 241 outlet;
#X obj 308 241 outlet;
#X obj 47 145 /;
#X obj 318 106 /;
#X obj 339 157 * -1;
#X obj 339 185 + 1;
#X obj 160 54 r \$0-w;
#X obj 398 58 r \$0-h;
#X connect 0 0 4 0;
#X connect 1 0 5 0;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 3 0;
#X connect 8 0 4 1;
#X connect 9 0 5 1;
#X restore 178 539 pd Normalize_coords;
#X f 10;
#N canvas 0 50 450 271 Gui_object_relative_coords 0;
#X obj 57 45 inlet;
#X obj 75 261 outlet;
#X obj 232 264 outlet;
#X obj 196 83 unpack f f;
#X obj 64 144 -;
#X obj 225 142 -;
#X obj 59 100 unpack f f;
#X obj 200 53 r \$0-pos;
#X connect 0 0 6 0;
#X connect 3 0 4 1;
#X connect 3 1 5 1;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 6 0 4 0;
#X connect 6 1 5 0;
#X connect 7 0 3 0;
#X restore 591 408 pd Gui_object_relative_coords;
#X f 13;
#N canvas 0 50 450 271 Normalize_coords 0;
#X obj 48 31 inlet;
#X obj 318 31 inlet;
#X obj 38 241 outlet;
#X obj 308 241 outlet;
#X obj 47 145 /;
#X obj 318 106 /;
#X obj 339 157 * -1;
#X obj 339 185 + 1;
#X obj 160 54 r \$0-w;
#X obj 398 58 r \$0-h;
#X connect 0 0 4 0;
#X connect 1 0 5 0;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 3 0;
#X connect 8 0 4 1;
#X connect 9 0 5 1;
#X restore 592 487 pd Normalize_coords;
#X f 10;
#X obj 594 615 t l l;
#X text 399 764 associe le slot i de la table MULTITOUCH.SLOT.STATUS
au \$0 du présent touch_listener, f 52;
#X connect 0 0 6 0;
#X connect 1 0 3 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 5 0 29 0;
#X connect 6 0 12 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 10 0;
#X connect 10 0 21 0;
#X connect 10 1 37 0;
#X connect 10 2 23 0;
#X connect 11 0 14 0;
#X connect 12 0 13 0;
#X connect 12 1 16 0;
#X connect 13 0 35 0;
#X connect 14 0 13 1;
#X connect 16 0 2 1;
#X connect 16 1 11 0;
#X connect 17 0 39 0;
#X connect 18 0 5 0;
#X connect 18 1 4 0;
#X connect 18 2 7 0;
#X connect 19 0 5 1;
#X connect 19 0 22 1;
#X connect 20 0 34 0;
#X connect 20 1 36 0;
#X connect 21 0 8 0;
#X connect 21 1 22 0;
#X connect 22 0 31 0;
#X connect 23 0 26 0;
#X connect 23 1 24 0;
#X connect 24 0 25 0;
#X connect 25 0 26 1;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 29 0 28 0;
#X connect 30 0 28 0;
#X connect 31 0 28 0;
#X connect 33 0 34 1;
#X connect 33 1 36 1;
#X connect 34 0 1 0;
#X connect 35 0 20 0;
#X connect 35 1 33 0;
#X connect 36 0 19 0;
#X connect 36 1 19 1;
#X connect 37 0 38 0;
#X connect 37 1 38 1;
#X connect 38 0 17 0;
#X connect 38 1 17 1;
#X connect 39 0 30 0;
#X connect 39 1 22 1;
#X restore 266 79 pd touch_listener;
#X msg 776 168 get_pos;
#X obj 770 205 s \$0-pos-rcv;
#X obj 767 113 r MULTITOUCH.ACTIVESLOTS;
#X obj 767 137 select 0;
#X obj 266 101 route remove update add;
#X obj 261 322 unpack f f;
#X obj 316 370 * 1.2;
#X obj 560 67 s \$0-mouseup;
#X obj 266 124 t b;
#X connect 0 0 20 0;
#X connect 1 0 2 0;
#X connect 2 0 35 1;
#X connect 3 0 33 0;
#X connect 4 0 32 0;
#X connect 5 0 30 0;
#X connect 6 0 5 1;
#X connect 6 0 56 1;
#X connect 7 0 5 1;
#X connect 7 0 56 0;
#X connect 8 0 0 0;
#X connect 9 0 58 0;
#X connect 10 0 3 0;
#X connect 11 0 13 1;
#X connect 12 0 11 0;
#X connect 12 1 11 1;
#X connect 13 0 14 0;
#X connect 14 0 23 0;
#X connect 15 0 14 1;
#X connect 16 0 11 0;
#X connect 17 0 12 0;
#X connect 18 0 26 0;
#X connect 19 0 18 1;
#X connect 20 0 6 0;
#X connect 20 1 39 0;
#X connect 20 2 1 0;
#X connect 20 3 25 0;
#X connect 21 0 28 1;
#X connect 21 1 29 1;
#X connect 22 0 10 1;
#X connect 23 0 54 0;
#X connect 24 0 23 1;
#X connect 25 0 21 0;
#X connect 26 1 27 0;
#X connect 27 0 10 0;
#X connect 28 0 18 0;
#X connect 29 0 49 0;
#X connect 30 0 47 0;
#X connect 30 1 46 0;
#X connect 31 0 34 0;
#X connect 32 0 40 0;
#X connect 32 1 36 0;
#X connect 33 0 4 0;
#X connect 33 1 41 0;
#X connect 33 2 35 0;
#X connect 34 0 44 0;
#X connect 35 0 36 1;
#X connect 37 0 38 0;
#X connect 38 0 30 0;
#X connect 39 0 37 0;
#X connect 40 0 31 0;
#X connect 41 0 42 0;
#X connect 42 0 43 0;
#X connect 42 1 31 1;
#X connect 43 0 40 0;
#X connect 45 0 4 1;
#X connect 46 0 29 0;
#X connect 47 0 28 0;
#X connect 48 0 46 1;
#X connect 48 0 47 1;
#X connect 49 0 13 0;
#X connect 50 0 51 0;
#X connect 51 0 52 0;
#X connect 51 1 53 0;
#X connect 51 2 52 0;
#X connect 52 0 49 1;
#X connect 53 0 49 1;
#X connect 54 0 45 0;
#X connect 56 0 57 0;
#X connect 57 0 55 0;
#X connect 57 1 56 1;
#X connect 58 0 63 0;
#X connect 58 1 59 0;
#X connect 59 0 62 0;
#X connect 60 0 61 0;
#X connect 61 0 59 1;
#X connect 62 0 5 0;
#X connect 62 1 7 0;
#X connect 62 2 37 1;
#X connect 64 0 65 0;
#X connect 65 0 70 0;
#X connect 66 0 67 0;
#X connect 68 0 69 0;
#X connect 69 0 66 0;
#X connect 70 0 74 0;
#X connect 70 1 71 0;
#X connect 71 0 10 0;
#X connect 71 1 72 0;
#X connect 72 0 54 0;
#X connect 74 0 73 0;
#X restore 559 453 pd bargraph_edit;
#N canvas 618 476 850 369 \$0-barstruct 0;
#X obj 0 0 struct \$0-arrayelement float zz;
#X obj 0 30 filledpolygon -xv 622 622 1 0 0 1 0 1 zz 0 zz 0 0;
#X restore 442 51 pd \$0-barstruct;
#N canvas 454 148 450 300 \$0-barraystruct 0;
#X obj 0 0 struct \$0-barray array z \$0-arrayelement float color;
#X obj 0 40 s \$0-struct;
#X obj 0 80 plot z 0 1 0 0 1 0;
#X connect 0 0 1 0;
#X restore 441 26 pd \$0-barraystruct;
#N canvas 0 0 450 300 receive_\$0-name-rcv 0;
#N canvas 0 0 450 300 \$0-receive 0;
#X obj 0 0 r my_bargraph-rcv;
#X obj 0 100 s 1671-inlet;
#X connect 0 0 1 0;
#X restore 23 92 pd \$0-receive;
#X obj 26 136 r \$0-inlet;
#X obj 139 64 r \$0-name;
#X obj 139 87 list append \$0-inlet;
#X msg 139 110 clear \, obj 0 0 r \$1-rcv \, obj 0 100 s \$2 \, connect
0 0 1 0;
#X obj 139 133 s pd-\$0-receive;
#X obj 26 159 outlet;
#X connect 1 0 6 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X restore 50 361 pd receive_\$0-name-rcv;
#X text 1423 540 TODO : unique name;
#N canvas 0 0 450 300 dump 0;
#X obj 52 72 inlet;
#X obj 52 95 t b b;
#X msg 122 141 -1;
#X msg 35 154 0;
#X obj 223 111 r \$0-structpointer;
#X obj 50 258 outlet;
#X obj 50 188 array get -s \$0-barray z -f \$0-arrayelement zz;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 1 2 0;
#X connect 2 0 6 1;
#X connect 3 0 6 0;
#X connect 4 0 6 2;
#X connect 6 0 5 0;
#X restore 50 450 pd dump;
#X obj 50 576 s;
#X obj 70 542 r \$0-name;
#N canvas 43 -21 1920 1023 dynamic_struct_color_define 0;
#X obj 150 18 r \$0-color;
#X msg 223 179 clear;
#X obj 231 575 s pd-\$0-barraystruct;
#X obj 69 13 r \$0-ok;
#X obj 138 107 f;
#X obj 61 43 r \$0-set;
#X obj 137 77 spigot 1;
#X msg 271 36 0;
#X obj 144 47 t f f;
#X obj 135 146 t b b f b b;
#X msg 114 390 obj 0 0 struct \\\$0-barray array z \\\$0-arrayelement
float color \, obj 0 40 s \\\$0-struct \, obj 0 80 plot z 0 1 0 0 1
0 \, connect 0 0 1 0;
#X obj 386 799 s pd-\$0-display;
#X msg 385 765 clear;
#X obj 340 715 t b b;
#X obj 312 802 pointer;
#X msg 262 770 traverse \$1 \, bang;
#X obj 226 804 t b a;
#X obj 176 864 append \$0-barray color, f 40;
#X msg 186 824 900;
#X obj 309 743 symbol pd-\$0-display;
#X obj 342 647 loadbang;
#X obj 123 945 setsize \$0-barray z, f 40;
#X obj 110 919 v \$0-size;
#X obj 176 887 t b p p;
#X obj 456 942 s \$0-structpointer;
#X obj 755 63 r \$0-style;
#X obj 628 200 list prepend 0;
#X obj 579 160 list prepend 0;
#X obj 630 112 r \$0-borders;
#X obj 628 223 route 0 1;
#X msg 610 585 clear \, obj 0 0 struct \\\$0-arrayelement float zz
\, obj 0 30 filledpolygon -xv \$1 \$1 1 0 0 1 0 1 zz 0 zz 0 0;
#N canvas 0 0 450 300 pack_border_color 0;
#X obj 74 35 inlet;
#X obj 75 269 outlet;
#X obj 341 112 div 100;
#X obj 285 109 div 10;
#X obj 285 131 mod 10;
#X obj 285 153 - 1;
#X obj 341 134 - 1;
#X obj 250 109 mod 10;
#X obj 250 131 - 1;
#X obj 341 178 * 100;
#X obj 285 197 * 10;
#X obj 285 219 +;
#X obj 285 175 clip 0 8;
#X obj 341 156 clip 0 8;
#X obj 227 155 clip 0 8;
#X obj 227 178 +;
#X obj 235 58 t f f f f;
#X obj 118 249 pack f f f;
#X obj 214 235 r \$0-borders;
#X connect 0 0 16 0;
#X connect 2 0 6 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 12 0;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 14 0;
#X connect 9 0 11 1;
#X connect 10 0 11 0;
#X connect 11 0 15 1;
#X connect 12 0 10 0;
#X connect 13 0 9 0;
#X connect 14 0 15 0;
#X connect 15 0 17 1;
#X connect 16 0 17 0;
#X connect 16 1 7 0;
#X connect 16 2 3 0;
#X connect 16 3 2 0;
#X connect 17 0 1 0;
#X connect 18 0 17 2;
#X restore 652 494 pd pack_border_color;
#X obj 624 637 s pd-\$0-barstruct;
#X msg 1084 519 clear \, obj 0 0 struct \\\$0-arrayelement float zz
\, obj 0 30 filledpolygon -xv \$1 \$1 1 0 zz(-1:1)(1:-1) 1 zz(-1:1)(1:-1)
1 zz 0 zz 0 zz(-1:1)(1:-1);
#N canvas 0 0 450 300 pack_border_color 0;
#X obj 74 35 inlet;
#X obj 75 269 outlet;
#X obj 341 112 div 100;
#X obj 285 109 div 10;
#X obj 285 131 mod 10;
#X obj 285 153 - 1;
#X obj 341 134 - 1;
#X obj 250 109 mod 10;
#X obj 250 131 - 1;
#X obj 341 178 * 100;
#X obj 285 197 * 10;
#X obj 285 219 +;
#X obj 285 175 clip 0 8;
#X obj 341 156 clip 0 8;
#X obj 227 155 clip 0 8;
#X obj 227 178 +;
#X obj 235 58 t f f f f;
#X obj 118 249 pack f f f;
#X obj 214 235 r \$0-borders;
#X connect 0 0 16 0;
#X connect 2 0 6 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 12 0;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 14 0;
#X connect 9 0 11 1;
#X connect 10 0 11 0;
#X connect 11 0 15 1;
#X connect 12 0 10 0;
#X connect 13 0 9 0;
#X connect 14 0 15 0;
#X connect 15 0 17 1;
#X connect 16 0 17 0;
#X connect 16 1 7 0;
#X connect 16 2 3 0;
#X connect 16 3 2 0;
#X connect 17 0 1 0;
#X connect 18 0 17 2;
#X restore 1133 446 pd pack_border_color;
#X msg 648 541 clear \, obj 0 0 struct \\\$0-arrayelement float zz
\, obj 0 30 filledpolygon -xv \$1 \$2 \$3 0 0 1 0 1 zz 0 zz 0 0;
#X msg 1336 581 clear \, obj 0 0 struct \\\$0-arrayelement float zz
\, obj 0 30 filledpolygon -xv \$1 \$2 \$3 0 zz(-1:1)(1:-1) 1 zz(-1:1)(1:-1)
1 zz 0 zz 0 zz(-1:1)(1:-1);
#X obj 624 326 route 0;
#X obj 924 340 route 0;
#X msg 677 379 \$2;
#X msg 1082 379 \$2;
#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 4 0 9 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 6 1;
#X connect 8 0 6 0;
#X connect 8 1 4 1;
#X connect 9 1 10 0;
#X connect 9 2 27 0;
#X connect 9 3 1 0;
#X connect 9 4 7 0;
#X connect 10 0 2 0;
#X connect 12 0 11 0;
#X connect 13 0 19 0;
#X connect 13 1 12 0;
#X connect 14 0 16 0;
#X connect 15 0 14 0;
#X connect 16 0 18 0;
#X connect 16 1 17 1;
#X connect 17 0 23 0;
#X connect 18 0 17 0;