-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmtxgui.pd
executable file
·2357 lines (2357 loc) · 59.1 KB
/
mtxgui.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 0 165 1321 855 12;
#X obj 2047 1661 inlet;
#N canvas 0 23 450 300 \$0-matrix 0;
#X obj 0 2 tgl 10 0 1058-stog-0 1058-rtog-0 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 10 2 tgl 10 0 1058-stog-1 1058-rtog-1 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 20 2 tgl 10 0 1058-stog-2 1058-rtog-2 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 30 2 tgl 10 0 1058-stog-3 1058-rtog-3 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 40 2 tgl 10 0 1058-stog-4 1058-rtog-4 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 0 12 tgl 10 0 1058-stog-5 1058-rtog-5 empty 17 7 0 10 #c80000 #c80000 #c80000 0 1;
#X obj 10 12 tgl 10 0 1058-stog-6 1058-rtog-6 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 20 12 tgl 10 0 1058-stog-7 1058-rtog-7 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 30 12 tgl 10 0 1058-stog-8 1058-rtog-8 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 40 12 tgl 10 0 1058-stog-9 1058-rtog-9 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 0 22 tgl 10 0 1058-stog-10 1058-rtog-10 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 10 22 tgl 10 0 1058-stog-11 1058-rtog-11 empty 17 7 0 10 #c80000 #c80000 #c80000 0 1;
#X obj 20 22 tgl 10 0 1058-stog-12 1058-rtog-12 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 30 22 tgl 10 0 1058-stog-13 1058-rtog-13 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 40 22 tgl 10 0 1058-stog-14 1058-rtog-14 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 0 32 tgl 10 0 1058-stog-15 1058-rtog-15 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 10 32 tgl 10 0 1058-stog-16 1058-rtog-16 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 20 32 tgl 10 0 1058-stog-17 1058-rtog-17 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 30 32 tgl 10 0 1058-stog-18 1058-rtog-18 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 40 32 tgl 10 0 1058-stog-19 1058-rtog-19 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 0 42 tgl 10 0 1058-stog-20 1058-rtog-20 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 10 42 tgl 10 0 1058-stog-21 1058-rtog-21 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 20 42 tgl 10 0 1058-stog-22 1058-rtog-22 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 30 42 tgl 10 0 1058-stog-23 1058-rtog-23 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X obj 40 42 tgl 10 0 1058-stog-24 1058-rtog-24 empty 17 7 0 10 #ffffff #ffffff #ffffff 0 1;
#X coords 0 -1 1 1 50 54 2 0 0;
#X restore 0 0 pd \$0-matrix;
#N canvas 0 53 417 99 \$0-toggs 0;
#X obj 10 10 clone mtxgui_auxabs 25 1058;
#X restore 2005 1747 pd \$0-toggs;
#N canvas 0 23 1440 855 dyn_patching 0;
#X obj 1140 368 f \$0;
#X obj 1132 342 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 324 202 r \$0-matrix;
#X obj 324 223 route size rows cols;
#X obj 573 308 unpack 0 0 15;
#X floatatom 600 444 5 0 0 0 - - - 0;
#X obj 600 470 t f b;
#X msg 652 492 0;
#X obj 600 516 f;
#X obj 628 516 + 1;
#X floatatom 498 604 5 0 0 0 - - - 0;
#X obj 600 493 until;
#X msg 545 703 0;
#X obj 493 727 f;
#X obj 521 727 + 1;
#X obj 493 704 until;
#X obj 499 626 t b b f;
#X floatatom 492 761 5 0 0 0 - - - 0;
#X obj 624 584 *;
#X obj 601 538 t f f b;
#X obj 492 868 pack 0 0 0 0;
#X obj 515 834 *;
#X obj 492 788 t f f b;
#X obj 794 568 f \$0;
#X obj 483 308 unpack 0 0 0;
#X obj 962 459 v \$0-mtx-size;
#X obj 874 484 *;
#X obj 918 484 *;
#X obj 794 594 pack 0 0 0;
#X obj 854 393 t b b b b;
#X msg 645 917 0;
#X obj 627 940 f;
#X obj 655 940 + 1;
#X obj 492 891 t l b;
#X floatatom 627 964 5 0 0 0 - - - 0;
#X obj 496 1014 pack \$0 0 0 0 0 0 0;
#X msg 496 1037 \; pd-\$1-matrix obj \$2 \$3 tgl \$7 0 \$1-stog-\$6 \$1-rtog-\$6 empty 17 7 0 10 -262144 -1 -1 0 1 \;;
#X obj 963 484 *;
#X obj 963 532 pack \$0 0;
#X obj 963 506 t b f;
#X obj 512 983 unpack 0 0 0 0;
#X msg 492 931 \$2 \$4 \$1 \$3;
#X msg 1129 394 \; pd-\$1-matrix clear \; pd-\$1-toggs clear \;;
#X obj 874 417 v \$0-mtx-cols;
#X obj 918 438 v \$0-mtx-rows;
#X msg 964 572 \; pd-\$1-toggs obj 10 10 clone mtxgui_auxabs \$2 \$1 \;;
#X msg 792 666 \; pd-\$1-matrix coords 0 -1 1 1 \$2 \$3 2 0 0 pd-\$1-matrix restore 100 52 pd-\$1-matrix \; \$1-mtxgui coords 0 -1 1 1 \$2 \$3 2 0 0 \$1-mtxgui restore 100 52 \$1-mtxgui \;;
#X obj 611 79 r \$0-mtxgui_args;
#X obj 611 101 unpack 0 0 0;
#X obj 611 204 pack 0 0 0;
#X obj 451 79 r \$0-mtxgui_setrowsnum;
#X obj 730 79 r \$0-mtxgui_setcolsnum;
#X obj 1036 79 r \$0-mtxgui_setsize;
#X obj 890 79 r \$0-mtxgui_cellsize;
#X obj 889 105 t b f;
#X obj 728 129 t b f;
#X obj 1036 104 unpack 0 0;
#X obj 324 467 v \$0-mtx-size;
#X obj 369 444 v \$0-mtx-rows;
#X obj 415 421 v \$0-mtx-cols;
#X obj 626 991 v \$0-mtx-size;
#X obj 492 955 t b l b;
#X obj 538 812 v \$0-mtx-size;
#X obj 494 659 v \$0-mtx-cols;
#X obj 647 561 v \$0-mtx-size;
#X obj 601 422 v \$0-mtx-rows;
#X obj 794 943 + 2;
#X obj 879 565 + 4;
#X obj 570 398 t b b;
#X obj 280 680 s \$0-mtxgui_mtxdumpspigot;
#X msg 281 657 1;
#X obj 213 570 s \$0-mtxgui_inlet;
#X msg 268 538 colorreset;
#X obj 431 495 t b b b;
#X msg 75 515 mtxgui_ready 1;
#X msg 85 545 mtxgui_ready 0;
#X obj 611 226 t b l b b l b;
#X obj 268 503 s \$0-ready;
#X obj 76 590 s \$0-mtxguiout6;
#X connect 0 0 42 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 57 0;
#X connect 3 1 58 0;
#X connect 3 2 59 0;
#X connect 4 0 58 0;
#X connect 4 1 59 0;
#X connect 4 2 57 0;
#X connect 5 0 6 0;
#X connect 6 0 11 0;
#X connect 6 1 7 0;
#X connect 7 0 8 1;
#X connect 7 0 30 0;
#X connect 8 0 9 0;
#X connect 8 0 19 0;
#X connect 9 0 8 1;
#X connect 10 0 16 0;
#X connect 11 0 8 0;
#X connect 12 0 13 1;
#X connect 13 0 14 0;
#X connect 13 0 17 0;
#X connect 14 0 13 1;
#X connect 15 0 13 0;
#X connect 16 0 63 0;
#X connect 16 1 12 0;
#X connect 16 2 20 2;
#X connect 17 0 22 0;
#X connect 18 0 20 3;
#X connect 19 0 10 0;
#X connect 19 1 18 0;
#X connect 19 2 64 0;
#X connect 20 0 33 0;
#X connect 21 0 20 1;
#X connect 22 0 20 0;
#X connect 22 1 21 0;
#X connect 22 2 62 0;
#X connect 23 0 28 0;
#X connect 24 0 58 0;
#X connect 24 1 59 0;
#X connect 24 2 57 0;
#X connect 25 0 27 1;
#X connect 25 0 26 1;
#X connect 26 0 28 1;
#X connect 27 0 67 0;
#X connect 28 0 46 0;
#X connect 29 0 23 0;
#X connect 29 1 43 0;
#X connect 29 2 44 0;
#X connect 29 3 25 0;
#X connect 30 0 31 1;
#X connect 31 0 32 0;
#X connect 31 0 34 0;
#X connect 32 0 31 1;
#X connect 33 0 41 0;
#X connect 33 1 31 0;
#X connect 34 0 35 5;
#X connect 35 0 36 0;
#X connect 37 0 39 0;
#X connect 38 0 45 0;
#X connect 39 0 38 0;
#X connect 39 1 38 1;
#X connect 40 0 35 1;
#X connect 40 1 66 0;
#X connect 40 2 35 3;
#X connect 40 3 35 4;
#X connect 41 0 61 0;
#X connect 43 0 26 0;
#X connect 43 0 37 0;
#X connect 44 0 27 0;
#X connect 44 0 37 1;
#X connect 47 0 48 0;
#X connect 48 0 49 0;
#X connect 48 1 49 1;
#X connect 48 2 49 2;
#X connect 49 0 76 0;
#X connect 50 0 49 0;
#X connect 51 0 55 0;
#X connect 52 0 56 0;
#X connect 53 0 54 0;
#X connect 54 0 49 0;
#X connect 54 1 49 2;
#X connect 55 0 49 0;
#X connect 55 1 49 1;
#X connect 56 0 49 0;
#X connect 56 1 49 1;
#X connect 60 0 35 6;
#X connect 61 0 35 0;
#X connect 61 1 40 0;
#X connect 61 2 60 0;
#X connect 62 0 21 1;
#X connect 63 0 15 0;
#X connect 64 0 18 1;
#X connect 65 0 5 0;
#X connect 66 0 35 2;
#X connect 67 0 28 2;
#X connect 68 0 73 0;
#X connect 68 1 65 0;
#X connect 70 0 69 0;
#X connect 72 0 71 0;
#X connect 73 0 74 0;
#X connect 73 0 77 0;
#X connect 73 1 72 0;
#X connect 73 2 70 0;
#X connect 74 0 78 0;
#X connect 75 0 78 0;
#X connect 76 0 68 0;
#X connect 76 1 4 0;
#X connect 76 2 29 0;
#X connect 76 3 1 0;
#X connect 76 4 24 0;
#X connect 76 5 75 0;
#X restore 1977 1791 pd dyn_patching;
#X obj 1942 1726 namecanvas \$0-mtxgui;
#X obj 2040 1835 outlet;
#N canvas 406 113 894 560 arg_management 0;
#X obj 5 49 pdcontrol;
#X msg 5 26 args;
#X obj 5 4 loadbang;
#X msg 5 366 mtxgui created with default values: 3 4 13;
#X msg 37 322 3 4 13;
#X obj 5 300 t b b;
#X obj 37 344 s \$0-mtxgui_args;
#X obj 5 388 print \$0-mtxgui;
#X obj 88 116 list length;
#X obj 56 94 t l l;
#X obj 5 71 route bang list;
#X obj 182 140 sel 1 2 3;
#X obj 182 276 print \$0-mtxgui;
#X obj 182 173 t b b;
#X msg 214 195 3 4 13;
#X obj 214 217 s \$0-mtxgui_args;
#X msg 182 240 Please inform mtxgui args: rows cols cellsize [optional]. A mtxgui was created with the default values: 3 4 13;
#X obj 56 159 spigot;
#X obj 56 203 pack 0 0 13;
#X obj 56 181 unpack 0 0 0;
#X msg 106 159 1;
#X obj 56 226 s \$0-mtxgui_args;
#X connect 0 0 10 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 7 0;
#X connect 4 0 6 0;
#X connect 5 0 3 0;
#X connect 5 1 4 0;
#X connect 8 0 11 0;
#X connect 9 0 17 0;
#X connect 9 1 8 0;
#X connect 10 0 5 0;
#X connect 10 1 9 0;
#X connect 11 0 13 0;
#X connect 11 1 20 0;
#X connect 11 2 20 0;
#X connect 11 3 13 0;
#X connect 13 0 16 0;
#X connect 13 1 14 0;
#X connect 14 0 15 0;
#X connect 16 0 12 0;
#X connect 17 0 19 0;
#X connect 18 0 21 0;
#X connect 19 0 18 0;
#X connect 19 1 18 1;
#X connect 19 2 18 2;
#X connect 20 0 17 1;
#X restore 1963 1768 pd arg_management;
#N canvas 283 96 1353 855 message_processing 1;
#N canvas 0 23 450 300 getsetrow 0;
#X obj 85 25 inlet;
#X obj 85 49 route float list;
#N canvas 50 112 964 766 getrow 0;
#X obj 220 24 inlet;
#X msg 290 183 0;
#X msg 385 222 set;
#X floatatom 29 220 5 0 0 0 - - - 0;
#X obj 29 243 pack 0 \$0;
#X obj 43 357 v;
#X msg 29 266 \$2-\$1-tval;
#X obj 29 311 t b a;
#X obj 29 288 list prepend symbol;
#X obj 61 334 list trim;
#X msg 45 422 1 1 1 1 1;
#X msg 44 389 add2 \$1;
#X floatatom 471 70 5 0 0 0 - - - 0;
#X obj 409 160 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 220 92 spigot;
#X obj 422 189 sel 0;
#X obj 455 227 f;
#X obj 215 52 t f f b f;
#X floatatom 272 274 5 0 0 0 - - - 0;
#X obj 254 303 *;
#X obj 213 304 f;
#X obj 220 135 t b b f b b b;
#X floatatom 254 326 5 0 0 0 - - - 0;
#X obj 254 220 - 1;
#X obj 213 326 until;
#X obj 217 376 f;
#X obj 244 376 + 1;
#X msg 177 431 15 16 17 18 19;
#X msg 210 405 add2 \$1;
#X obj 180 181 t b b;
#X msg 455 251 row \$1 out of range;
#X obj 471 46 v \$0-mtx-rows;
#X obj 273 250 v \$0-mtx-cols;
#X obj 10 454 s \$0-mtxguiout2;
#N canvas 0 23 450 300 expr 0;
#X obj 104 35 inlet;
#X obj 234 35 inlet;
#X obj 161 85 > 0;
#X obj 104 61 t f f;
#X obj 104 113 &&;
#X obj 104 139 outlet;
#X obj 104 87 <=;
#X text 198 70 expr if(($f1<=$f2)&&($f1>0) \, 1 \, 0);
#X connect 0 0 3 0;
#X connect 1 0 6 1;
#X connect 2 0 4 1;
#X connect 3 0 6 0;
#X connect 3 1 2 0;
#X connect 4 0 5 0;
#X connect 6 0 4 0;
#X restore 409 135 pd expr;
#X obj 455 279 print \$0-mtxgui;
#X connect 0 0 17 0;
#X connect 2 0 27 0;
#X connect 2 0 10 0;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 5 0 11 0;
#X connect 6 0 8 0;
#X connect 7 0 5 0;
#X connect 7 1 9 0;
#X connect 8 0 7 0;
#X connect 9 0 5 1;
#X connect 10 0 33 0;
#X connect 11 0 10 0;
#X connect 12 0 34 1;
#X connect 13 0 14 1;
#X connect 13 0 15 0;
#X connect 14 0 21 0;
#X connect 15 0 16 0;
#X connect 16 0 30 0;
#X connect 17 0 14 0;
#X connect 17 1 34 0;
#X connect 17 2 31 0;
#X connect 17 3 16 1;
#X connect 18 0 20 1;
#X connect 18 0 19 1;
#X connect 19 0 22 0;
#X connect 20 0 24 0;
#X connect 21 0 29 0;
#X connect 21 1 20 0;
#X connect 21 2 23 0;
#X connect 21 3 32 0;
#X connect 21 4 1 0;
#X connect 21 5 2 0;
#X connect 22 0 25 1;
#X connect 23 0 19 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 25 0 28 0;
#X connect 25 0 3 0;
#X connect 26 0 25 1;
#X connect 28 0 27 0;
#X connect 29 0 10 0;
#X connect 29 1 27 0;
#X connect 30 0 35 0;
#X connect 31 0 12 0;
#X connect 32 0 18 0;
#X connect 34 0 13 0;
#X restore 85 97 pd getrow;
#N canvas 135 128 1232 930 setrow 0;
#X obj 88 237 list split 1;
#X obj 133 291 list length;
#X obj 133 340 sel 1 0;
#X obj 80 418 list store;
#N canvas 0 23 450 300 parselist 0;
#X obj 62 21 inlet;
#X obj 49 183 outlet;
#X obj 36 76 until;
#X obj 49 159 list store;
#X obj 62 43 t b b l;
#X obj 36 101 f;
#X obj 74 102 + 1;
#X msg 88 76 0, f 2;
#X msg 35 130 get \$1 1;
#X connect 0 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 1 0;
#X connect 3 1 2 1;
#X connect 4 0 2 0;
#X connect 4 1 7 0;
#X connect 4 2 3 1;
#X connect 5 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 3 0;
#X restore 80 444 pd parselist;
#X obj 188 361 print \$0-mtxgui;
#X obj 133 267 t l l;
#X obj 76 535 f;
#X msg 93 284 \$1;
#X obj 111 535 f;
#X obj 145 535 + 1;
#X msg 129 512 1;
#X obj 80 478 t b b f;
#X obj 78 577 pack 0 0 0;
#X msg 78 605 element \$1 \$2 \$3;
#X obj 78 630 s \$0-mtxgui_inlet;
#X obj 128 190 value \$0-mtx-cols;
#X obj 88 140 t l l b b;
#X msg 188 340 number of elements don't match with number of cols;
#X obj 65 22 inlet;
#X obj 133 316 ==;
#X msg 111 69 0;
#X obj -45 109 s \$0-mtxgui_inlet;
#X msg -45 86 matrixdumpcolrow;
#X obj 111 91 s \$0dumpelementspigot;
#X obj 65 45 t b l b;
#X connect 0 1 6 0;
#X connect 1 0 20 0;
#X connect 2 0 3 0;
#X connect 2 1 18 0;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 6 0 1 0;
#X connect 6 1 3 1;
#X connect 7 0 13 0;
#X connect 8 0 7 1;
#X connect 9 0 10 0;
#X connect 9 0 13 1;
#X connect 10 0 9 1;
#X connect 11 0 9 1;
#X connect 12 0 7 0;
#X connect 12 1 9 0;
#X connect 12 2 13 2;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 16 0 20 1;
#X connect 17 0 0 0;
#X connect 17 1 8 0;
#X connect 17 2 16 0;
#X connect 17 3 11 0;
#X connect 18 0 5 0;
#X connect 19 0 25 0;
#X connect 20 0 2 0;
#X connect 21 0 24 0;
#X connect 23 0 22 0;
#X connect 25 0 23 0;
#X connect 25 1 17 0;
#X connect 25 2 21 0;
#X restore 139 74 pd setrow;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X restore 432 85 pd getsetrow;
#N canvas 52 277 1335 770 matrixdumplogic 1;
#X text 87 43 1 mtxdump is a switch: if on \, must dump a matrix for every change \, if off no.;
#X text 86 83 2 when on \, must distinguish set/element commands (dump every cell change) and col/row messages (dump only when the entire col or row changed);
#X obj 380 179 r \$0matrixdumpcolrow;
#X obj 682 182 r \$0matrixdumpcell;
#X obj 381 307 spigot;
#X msg 381 331 matrix;
#X obj 381 354 s \$0-mtxgui_inlet;
#X obj 420 282 v \$0mtxgui_mtxdumpspigot;
#N canvas 0 23 845 562 getmatrix 0;
#N canvas 50 262 964 766 getrow 0;
#X obj 220 24 inlet;
#X msg 290 183 0;
#X msg 385 222 set;
#X floatatom 29 220 5 0 0 0 - - - 0;
#X obj 29 243 pack 0 \$0;
#X obj 43 357 v;
#X msg 29 266 \$2-\$1-tval;
#X obj 29 311 t b a;
#X obj 29 288 list prepend symbol;
#X obj 61 334 list trim;
#X msg 45 422 0 0 0 0 0;
#X msg 44 389 add2 \$1;
#X floatatom 471 70 5 0 0 0 - - - 0;
#X obj 409 160 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 220 92 spigot;
#X obj 422 189 sel 0;
#X obj 455 227 f;
#X obj 215 52 t f f b f;
#X obj 471 46 value \$0-mtx-rows;
#X obj 272 250 value \$0-mtx-cols;
#X floatatom 272 274 5 0 0 0 - - - 0;
#X obj 254 303 *;
#X obj 213 304 f;
#X obj 220 135 t b b f b b b;
#X floatatom 254 326 5 0 0 0 - - - 0;
#X obj 254 220 - 1;
#X obj 213 326 until;
#X obj 217 376 f;
#X obj 244 376 + 1;
#X msg 177 431 20 21 22 23 24;
#X msg 225 405 add2 \$1;
#X obj 180 181 t b b;
#X msg 455 251 row \$1 out of range;
#X obj 26 521 outlet;
#N canvas 0 23 450 300 expr 0;
#X obj 104 35 inlet;
#X obj 234 35 inlet;
#X obj 161 85 > 0;
#X obj 104 61 t f f;
#X obj 104 113 &&;
#X obj 104 139 outlet;
#X obj 104 87 <=;
#X text 198 70 expr if(($f1<=$f2)&&($f1>0) \, 1 \, 0);
#X connect 0 0 3 0;
#X connect 1 0 6 1;
#X connect 2 0 4 1;
#X connect 3 0 6 0;
#X connect 3 1 2 0;
#X connect 4 0 5 0;
#X connect 6 0 4 0;
#X restore 408 116 pd expr;
#X obj 455 279 print \$0-mtxgui;
#X connect 0 0 17 0;
#X connect 2 0 29 0;
#X connect 2 0 10 0;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 5 0 11 0;
#X connect 5 0 33 0;
#X connect 6 0 8 0;
#X connect 7 0 5 0;
#X connect 7 1 9 0;
#X connect 8 0 7 0;
#X connect 9 0 5 1;
#X connect 11 0 10 0;
#X connect 12 0 34 1;
#X connect 13 0 14 1;
#X connect 13 0 15 0;
#X connect 14 0 23 0;
#X connect 15 0 16 0;
#X connect 16 0 32 0;
#X connect 17 0 14 0;
#X connect 17 1 34 0;
#X connect 17 2 18 0;
#X connect 17 3 16 1;
#X connect 18 0 12 0;
#X connect 19 0 20 0;
#X connect 20 0 22 1;
#X connect 20 0 21 1;
#X connect 21 0 24 0;
#X connect 22 0 26 0;
#X connect 23 0 31 0;
#X connect 23 1 22 0;
#X connect 23 2 25 0;
#X connect 23 3 19 0;
#X connect 23 4 1 0;
#X connect 23 5 2 0;
#X connect 24 0 27 1;
#X connect 25 0 21 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 27 0 30 0;
#X connect 27 0 3 0;
#X connect 28 0 27 1;
#X connect 30 0 29 0;
#X connect 31 0 10 0;
#X connect 31 1 29 0;
#X connect 32 0 35 0;
#X connect 34 0 13 0;
#X restore 292 223 pd getrow;
#X obj 176 44 inlet;
#X msg 233 351 matrix 5 5 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X obj 561 138 value \$0-mtx-rows;
#X obj 436 138 value \$0-mtx-cols;
#X msg 687 138 set matrix;
#X obj 266 82 t b b b b b;
#X msg 449 166 add2 \$1;
#X obj 293 149 f;
#X obj 292 175 until;
#X obj 292 197 f;
#X obj 320 197 + 1;
#X msg 383 173 1;
#X msg 292 247 add2 \$1;
#X obj 233 546 outlet;
#X connect 0 0 13 0;
#X connect 1 0 6 0;
#X connect 2 0 14 0;
#X connect 3 0 7 0;
#X connect 3 0 8 1;
#X connect 4 0 7 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 6 1 8 0;
#X connect 6 2 4 0;
#X connect 6 3 3 0;
#X connect 6 4 5 0;
#X connect 6 4 12 0;
#X connect 7 0 2 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 0 0 0;
#X connect 11 0 10 1;
#X connect 12 0 10 1;
#X connect 13 0 2 0;
#X restore 113 459 pd getmatrix;
#X obj 113 435 r \$0-mtxgui_mtxdump;
#X obj 112 503 s \$0-mtxguiout5;
#X obj 682 214 t b b;
#X obj 682 262 spigot;
#X msg 682 396 matrix;
#X obj 682 419 s \$0-mtxgui_inlet;
#X obj 714 237 v \$0mtxgui_mtxdumpspigot;
#X msg 440 229 0;
#X obj 682 375 spigot;
#X obj 380 205 t b b b b;
#X msg 356 225 1;
#X obj 818 281 loadbang;
#X msg 818 302 1;
#X obj 805 376 r \$0dumpelementspigot;
#X obj 440 255 s \$0dumpelementspigot;
#X connect 2 0 18 0;
#X connect 3 0 11 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 7 0 4 1;
#X connect 8 0 10 0;
#X connect 9 0 8 0;
#X connect 11 0 12 0;
#X connect 11 1 15 0;
#X connect 12 0 17 0;
#X connect 13 0 14 0;
#X connect 15 0 12 1;
#X connect 16 0 23 0;
#X connect 17 0 13 0;
#X connect 18 0 19 0;
#X connect 18 1 4 0;
#X connect 18 2 7 0;
#X connect 18 3 16 0;
#X connect 19 0 23 0;
#X connect 20 0 21 0;
#X connect 21 0 17 1;
#X connect 22 0 17 1;
#X restore 816 245 pd matrixdumplogic;
#X obj 15 62 r \$0-mtxgui_inlet;
#X obj 142 62 route col;
#N canvas 0 23 450 300 getsetcol 0;
#X obj 85 25 inlet;
#X obj 85 49 route float list;
#N canvas 50 112 964 766 getcol 0;
#X obj 220 -26 inlet;
#X floatatom 255 242 5 0 0 0 - - - 0;
#X floatatom 237 289 5 0 0 0 - - - 0;
#X obj 237 310 until;
#X obj 237 333 f;
#X obj 265 333 +;
#X obj 237 355 - 1;
#X msg 290 183 0;
#X obj 237 380 +;
#X msg 322 183 set;
#X msg 215 446 3 8 13 18 23;
#X msg 237 419 add2 \$1;
#X obj 220 135 t b b b f b b;
#X floatatom 69 220 5 0 0 0 - - - 0;
#X obj 69 243 pack 0 \$0;
#X obj 83 357 v;
#X msg 69 266 \$2-\$1-tval;
#X obj 69 311 t b a;
#X obj 69 288 list prepend symbol;
#X obj 101 334 list trim;
#X msg 85 422 0 0 0 1 0;
#X msg 84 389 add2 \$1;
#X obj 255 219 value \$0-mtx-cols;
#X obj 237 265 value \$0-mtx-rows;
#X obj 220 92 spigot;
#X obj 185 165 t b b;
#N canvas 666 99 883 638 checkrange 0;
#X obj 193 49 inlet;
#X obj 182 369 outlet;
#X floatatom 245 148 5 0 0 0 - - - 0;
#X obj 245 124 value \$0-mtx-cols;
#X obj 199 194 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 212 223 sel 0;
#X obj 212 246 f;
#X msg 212 270 col \$1 out of range;
#X obj 193 77 t f b f;
#N canvas 0 23 450 300 expr 0;
#X obj 104 35 inlet;
#X obj 234 35 inlet;
#X obj 161 85 > 0;
#X obj 104 61 t f f;
#X obj 104 113 &&;
#X obj 104 139 outlet;
#X obj 104 87 <=;
#X text 198 70 expr if(($f1<=$f2)&&($f1>0) \, 1 \, 0);
#X connect 0 0 3 0;
#X connect 1 0 6 1;
#X connect 2 0 4 1;
#X connect 3 0 6 0;
#X connect 3 1 2 0;
#X connect 4 0 5 0;
#X connect 6 0 4 0;
#X restore 199 172 pd expr;
#X obj 212 298 print \$0-mtxgui;
#X connect 0 0 8 0;
#X connect 2 0 9 1;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 4 0 1 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 9 0;
#X connect 8 1 3 0;
#X connect 8 2 6 1;
#X connect 9 0 4 0;
#X restore 262 51 pd checkrange;
#X obj 223 8 t f f;
#X text 371 447 togglenumber;
#X obj 85 448 s \$0-mtxguiout3;
#X connect 0 0 27 0;
#X connect 1 0 5 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 4 1;
#X connect 6 0 8 0;
#X connect 7 0 4 1;
#X connect 8 0 11 0;
#X connect 8 0 13 0;
#X connect 9 0 10 0;
#X connect 9 0 20 0;
#X connect 11 0 10 0;
#X connect 12 0 25 0;
#X connect 12 1 23 0;
#X connect 12 2 22 0;
#X connect 12 3 8 1;
#X connect 12 4 7 0;
#X connect 12 5 9 0;
#X connect 13 0 14 0;
#X connect 14 0 16 0;
#X connect 15 0 21 0;
#X connect 16 0 18 0;
#X connect 17 0 15 0;
#X connect 17 1 19 0;
#X connect 18 0 17 0;
#X connect 19 0 15 1;
#X connect 20 0 29 0;
#X connect 21 0 20 0;
#X connect 22 0 1 0;
#X connect 23 0 2 0;
#X connect 24 0 12 0;
#X connect 25 0 20 0;
#X connect 25 1 10 0;
#X connect 26 0 24 1;
#X connect 27 0 24 0;
#X connect 27 1 26 0;
#X restore 85 151 pd getcol;
#N canvas 135 128 809 739 setcol 0;
#X obj 169 54 inlet;
#X obj 292 297 list split 1;
#X obj 332 250 value \$0-mtx-rows;
#X obj 332 351 list length;
#X obj 332 400 sel 1 0;
#X obj 209 458 list store;
#N canvas 0 23 450 300 parselist 0;
#X obj 62 21 inlet;
#X obj 49 183 outlet;
#X obj 36 76 until;
#X obj 49 159 list store;
#X obj 62 43 t b b l;
#X obj 36 101 f;
#X obj 74 102 + 1;
#X msg 88 76 0, f 2;
#X msg 35 130 get \$1 1;
#X connect 0 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 1 0;
#X connect 3 1 2 1;
#X connect 4 0 2 0;
#X connect 4 1 7 0;
#X connect 4 2 3 1;
#X connect 5 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 3 0;
#X restore 209 484 pd parselist;
#X msg 387 400 number of elements don't match with number of rows;
#X obj 387 421 print \$0-mtxgui;
#X obj 332 327 t l l;
#X obj 247 592 f;
#X msg 312 499 \$1;
#X obj 209 558 f;
#X obj 243 558 + 1;
#X msg 227 535 1;
#X obj 209 511 t b b f;
#X obj 212 617 pack 0 0 0;
#X msg 212 645 element \$1 \$2 \$3;
#X obj 212 670 s \$0-mtxgui_inlet;
#X obj 292 200 t l l b b;
#X msg 215 100 0;
#X obj 19 180 s \$0-mtxgui_inlet;
#X obj 332 376 ==;
#X msg 19 157 matrixdumpcolrow;
#X obj 215 122 s \$0dumpelementspigot;
#X obj 169 76 t b l b;
#X connect 0 0 25 0;
#X connect 1 1 9 0;
#X connect 2 0 22 1;
#X connect 3 0 22 0;
#X connect 4 0 5 0;
#X connect 4 1 7 0;
#X connect 5 0 6 0;
#X connect 6 0 15 0;
#X connect 7 0 8 0;
#X connect 9 0 3 0;
#X connect 9 1 5 1;
#X connect 10 0 16 1;
#X connect 11 0 10 1;
#X connect 12 0 13 0;
#X connect 12 0 16 0;
#X connect 13 0 12 1;
#X connect 14 0 12 1;
#X connect 15 0 12 0;
#X connect 15 1 10 0;
#X connect 15 2 16 2;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 19 0 1 0;
#X connect 19 1 11 0;
#X connect 19 2 2 0;
#X connect 19 3 14 0;
#X connect 20 0 24 0;
#X connect 22 0 4 0;
#X connect 23 0 21 0;
#X connect 25 0 23 0;
#X connect 25 1 19 0;
#X connect 25 2 20 0;
#X restore 139 88 pd setcol;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X restore 432 62 pd getsetcol;
#X obj 15 85 r \$0-mtxgui_inlet;
#X obj 142 85 route row;
#X obj 15 107 r \$0-mtxgui_inlet;
#X obj 142 107 route matrix;
#N canvas 0 27 920 495 getsetmatrix 0;
#X obj 29 13 inlet;
#X obj 29 36 route bang list;
#N canvas 0 27 845 562 getmatrix 0;
#N canvas 50 262 964 766 getrow 0;
#X obj 220 24 inlet;
#X msg 290 183 0;
#X msg 385 222 set;
#X floatatom 29 220 5 0 0 0 - - - 0;
#X obj 29 243 pack 0 \$0;
#X obj 43 357 v;
#X msg 29 266 \$2-\$1-tval;
#X obj 29 311 t b a;
#X obj 29 288 list prepend symbol;
#X obj 61 334 list trim;
#X msg 45 422 0 0 0 0 0;
#X msg 44 389 add2 \$1;
#X obj 57 467 outlet;
#X floatatom 471 70 5 0 0 0 - - - 0;
#X obj 409 160 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 220 92 spigot;
#X obj 422 189 sel 0;
#X obj 455 227 f;
#X obj 215 52 t f f b f;
#X obj 471 46 value \$0-mtx-rows;
#X obj 272 250 value \$0-mtx-cols;
#X floatatom 272 274 5 0 0 0 - - - 0;
#X obj 254 303 *;
#X obj 213 304 f;
#X obj 220 135 t b b f b b b;
#X floatatom 254 326 5 0 0 0 - - - 0;
#X obj 254 220 - 1;
#X obj 213 326 until;
#X obj 217 376 f;
#X obj 244 376 + 1;
#X obj 234 464 outlet;
#X msg 177 431 20 21 22 23 24;
#X msg 225 405 add2 \$1;
#X obj 112 464 outlet;
#X obj 313 465 outlet;
#X obj 180 181 t b b;
#X msg 455 251 row \$1 out of range;
#X obj 167 468 outlet;
#N canvas 0 23 450 300 expr 0;
#X obj 104 35 inlet;
#X obj 234 35 inlet;
#X obj 161 85 > 0;
#X obj 104 61 t f f;
#X obj 104 113 &&;
#X obj 104 139 outlet;
#X obj 104 87 <=;
#X text 198 70 expr if(($f1<=$f2)&&($f1>0) \, 1 \, 0);
#X connect 0 0 3 0;
#X connect 1 0 6 1;
#X connect 2 0 4 1;
#X connect 3 0 6 0;
#X connect 3 1 2 0;
#X connect 4 0 5 0;
#X connect 6 0 4 0;
#X restore 409 129 pd expr;
#X obj 455 279 print \$0-mtxgui;
#X connect 0 0 18 0;
#X connect 2 0 31 0;
#X connect 2 0 10 0;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 5 0 11 0;
#X connect 5 0 37 0;
#X connect 6 0 8 0;
#X connect 7 0 5 0;
#X connect 7 1 9 0;
#X connect 8 0 7 0;
#X connect 9 0 5 1;
#X connect 10 0 12 0;
#X connect 11 0 10 0;
#X connect 13 0 34 0;
#X connect 13 0 38 1;
#X connect 14 0 15 1;
#X connect 14 0 16 0;
#X connect 15 0 24 0;
#X connect 16 0 17 0;
#X connect 17 0 36 0;
#X connect 18 0 15 0;
#X connect 18 1 38 0;
#X connect 18 2 19 0;
#X connect 18 3 17 1;
#X connect 19 0 13 0;
#X connect 20 0 21 0;
#X connect 21 0 23 1;
#X connect 21 0 22 1;
#X connect 22 0 25 0;
#X connect 23 0 27 0;
#X connect 24 0 35 0;
#X connect 24 1 23 0;
#X connect 24 2 26 0;
#X connect 24 3 20 0;
#X connect 24 4 1 0;
#X connect 24 5 2 0;
#X connect 25 0 28 1;
#X connect 26 0 22 0;
#X connect 27 0 28 0;
#X connect 28 0 29 0;
#X connect 28 0 30 0;
#X connect 28 0 32 0;
#X connect 28 0 3 0;
#X connect 29 0 28 1;
#X connect 31 0 33 0;
#X connect 32 0 31 0;
#X connect 35 0 10 0;
#X connect 35 1 31 0;
#X connect 36 0 39 0;
#X connect 38 0 14 0;
#X restore 324 209 pd getrow;
#X obj 176 44 inlet;
#X msg 265 320 matrix 5 5 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X obj 593 97 value \$0-mtx-rows;
#X obj 468 97 value \$0-mtx-cols;
#X msg 719 97 set matrix;
#X obj 266 82 t b b b b b;
#X msg 481 152 add2 \$1;
#X obj 325 135 f;
#X obj 324 161 until;
#X obj 324 183 f;
#X obj 352 183 + 1;
#X msg 415 159 1;
#X msg 292 247 add2 \$1;
#X obj 266 533 outlet;
#X connect 0 2 13 0;
#X connect 1 0 6 0;
#X connect 2 0 14 0;
#X connect 3 0 7 0;
#X connect 3 0 8 1;
#X connect 4 0 7 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 6 1 8 0;
#X connect 6 2 4 0;
#X connect 6 3 3 0;
#X connect 6 4 5 0;
#X connect 6 4 12 0;
#X connect 7 0 2 0;