aboutsummaryrefslogtreecommitdiff
path: root/matrixctrl.pd
blob: e4442d2bac2d2eee51ec81e074de20b2eb2d0cb9 (plain)
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
#N struct 1045-color float x float y float farbe;
#N struct 1045-color-display float x float y float farbe;
#N struct 1048-color float x float y float farbe;
#N struct 1048-color-display float x float y float farbe;
#N struct 1042-matrixctrl float x float y float size float color float
state;
#N canvas 426 166 687 425 10;
#N canvas 227 417 377 370 template 0;
#X obj 9 9 struct \$0-matrixctrl float x float y float size float color
float state;
#X obj 28 312 filledpolygon color 0 1 0 0 0 size size size size 0 0
0;
#X obj 9 52 route click change;
#X obj 91 152 bang;
#X obj 91 192 set \$0-matrixctrl size;
#X obj 28 122 t p p p;
#X obj 9 342 outlet;
#X obj 28 282 set \$0-matrixctrl color state;
#X obj 28 222 get \$0-matrixctrl state;
#X obj 48 92 outlet;
#X obj 9 72 t b p b;
#X obj 91 172 value _\$0_size;
#X obj 28 242 expr if($f1==0 \, _\$0_color1 \, _\$0_color0) \; if($f1==0
\, 1 \, 0);
#X connect 0 0 2 0;
#X connect 2 0 10 0;
#X connect 2 1 3 0;
#X connect 3 0 11 0;
#X connect 5 0 8 0;
#X connect 5 1 7 2;
#X connect 5 2 4 1;
#X connect 8 0 12 0;
#X connect 10 0 6 0;
#X connect 10 1 5 0;
#X connect 10 2 9 0;
#X connect 11 0 4 0;
#X connect 12 0 7 0;
#X connect 12 1 7 1;
#X restore 15 151 pd template;
#N canvas 1349 184 689 687 generate 0;
#X obj 64 553 symbol \$0-matrixctrl;
#X obj 18 653 s pd-\$0-gui;
#X obj 311 512 pack f f;
#X obj 168 452 f+ 0 1;
#X obj 18 392 until;
#X obj 18 452 f+ 0 1;
#X obj 168 492 i;
#X obj 18 593 pack f f s f;
#X obj 18 422 t b b;
#X msg 311 532 clear \, donecanvasdialog 1 -3 2 0 0 \$1 \$2 \$1 \$2
20 20 \, dirty 0;
#X obj 311 381 pack f f;
#X obj 311 421 s \$0-matrixctrl;
#X msg 311 401 donecanvasdialog 1 -3 2 0 -1 1 1 \$1 \$2 100 50 \, dirty
0;
#X msg 18 613 scalar \$3 \$1 \$2 \$4 899 0;
#X obj 121 42 value _\$0_size;
#X obj 135 112 value _\$0_column;
#X obj 108 142 value _\$0_row;
#X obj 18 12 loadbang;
#X obj 18 372 expr _\$0_row * _\$0_column;
#X obj 168 472 expr $f1 / _\$0_column;
#X obj 18 472 expr $f1 % _\$0_column;
#X obj 33 232 s \$0-INIT;
#X obj 18 32 t b b b b b;
#X obj 265 182 inlet;
#X obj 304 222 unpack f f;
#X obj 285 22 inlet;
#X obj 285 42 t b f;
#X obj 121 22 expr if( \$3 == 0 \, 13 \, \$3 );
#X obj 356 361 expr _\$0_size * _\$0_row + 2;
#X obj 311 341 expr _\$0_size * _\$0_column + 2;
#X obj 311 321 t b b;
#X obj 356 472 expr _\$0_size * _\$0_row;
#X obj 311 492 expr _\$0_size * _\$0_column;
#X obj 311 452 t b b;
#X obj 168 512 expr $f1 * _\$0_size;
#X obj 18 512 expr $f1 * _\$0_size;
#X obj 87 573 value _\$0_size;
#X obj 18 271 t b;
#X obj 18 292 t b b b b b;
#X obj 265 202 t b b a;
#X obj 135 92 \$1;
#X obj 108 122 \$2;
#X text 151 244 (column and row are switched in the variable order
\, because the patch was made so from the beginning);
#X obj 18 352 t b b b;
#X obj 108 72 t b b;
#X obj 49 132 t b b;
#X obj 76 172 value _\$0_color1;
#X obj 49 202 value _\$0_color0;
#X obj 49 182 899;
#X obj 438 22 inlet;
#X obj 522 92 unpack f f;
#X obj 438 42 route bang;
#N canvas 1392 258 311 289 reset-color 0;
#X obj 23 81 until;
#X obj 63 171 pointer \$0-matrixctrl;
#X obj 63 121 symbol pd-\$0-gui;
#X msg 23 101 next;
#X msg 63 141 traverse \$1;
#X obj 23 41 t b b;
#X obj 23 61 expr _\$0_row * _\$0_column;
#X obj 23 21 inlet;
#X obj 63 221 get \$0-matrixctrl state;
#X obj 63 261 set \$0-matrixctrl color;
#X obj 63 191 t p p;
#X obj 63 241 expr if($f1==1 \, _\$0_color1 \, _\$0_color0);
#X connect 0 0 3 0;
#X connect 1 0 10 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 6 0;
#X connect 5 1 2 0;
#X connect 6 0 0 0;
#X connect 7 0 5 0;
#X connect 8 0 11 0;
#X connect 10 0 8 0;
#X connect 10 1 9 1;
#X connect 11 0 9 0;
#X restore 495 122 pd reset-color;
#X obj 495 72 t b a;
#X obj 76 152 800;
#X obj 438 152 s pd-\$0-color-selector;
#X msg 438 132 vis 1;
#N canvas 439 459 518 243 \$0-color-selector 0;
#N canvas 298 464 528 328 color-sel-gui 0;
#X obj 12 59 ds-color-sel;
#X obj 12 154 ds-color-sel;
#X text 12 41 "Off" color;
#X text 12 136 "On" color;
#X text 12 13 Click the desired color for the fields \, and click the
button when you're finished.;
#X obj 425 25 bng 15 250 50 0 \$0-send-colors \$0-send-colors-i empty
17 7 0 10 -228856 -1 -1;
#X text 442 23 Send colors;
#X obj 12 258 pack s f f;
#X msg 12 238 symbol color;
#X obj 12 298 s \$0-color-reset;
#X msg 12 278 \$2 \$3;
#X connect 0 0 7 1;
#X connect 1 0 7 2;
#X connect 5 0 8 0;
#X connect 7 0 10 0;
#X connect 8 0 7 0;
#X connect 10 0 9 0;
#X coords 0 -1 1 1 506 217 2 10 10;
#X restore 5 14 pd color-sel-gui;
#X restore 438 172 pd \$0-color-selector;
#X obj 515 42 r \$0-color-reset;
#N canvas 547 322 688 374 change-cellsize 0;
#X obj 33 92 until;
#X obj 124 182 pointer \$0-matrixctrl;
#X obj 83 92 symbol pd-\$0-gui;
#X msg 124 162 next;
#X msg 83 112 traverse \$1;
#X obj 33 72 expr _\$0_row * _\$0_column;
#X obj 33 332 set \$0-matrixctrl x y size;
#X obj 173 212 f+ 0 1;
#X obj 33 212 f+ 0 1;
#X obj 173 252 i;
#X obj 173 232 expr $f1 / _\$0_column;
#X obj 33 232 expr $f1 % _\$0_column;
#X obj 173 272 expr $f1 * _\$0_size;
#X obj 33 272 expr $f1 * _\$0_size;
#X obj 135 312 value _\$0_size;
#X obj 33 132 t b b b b;
#X obj 331 242 pack f f;
#X obj 376 202 expr _\$0_size * _\$0_row;
#X obj 331 222 expr _\$0_size * _\$0_column;
#X obj 331 182 t b b;
#X obj 331 282 s pd-\$0-gui;
#X msg 331 262 donecanvasdialog 1 -3 2 0 0 \$1 \$2 \$1 \$2 20 20 \,
dirty 0;
#X obj 331 112 pack f f;
#X obj 331 152 s \$0-matrixctrl;
#X msg 331 132 donecanvasdialog 1 -3 2 0 -1 1 1 \$1 \$2 100 50 \, dirty
0;
#X obj 376 92 expr _\$0_size * _\$0_row + 2;
#X obj 331 72 expr _\$0_size * _\$0_column + 2;
#X obj 331 52 t b b;
#X obj 33 52 t b b b b;
#X text 328 303 o mesmo de generate \, mas sem clear. nao é muito
eficiente ter que se repetir o código todo.;
#X obj 33 22 inlet;
#X connect 0 0 15 0;
#X connect 1 0 6 3;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 0 0;
#X connect 7 0 10 0;
#X connect 8 0 11 0;
#X connect 9 0 12 0;
#X connect 10 0 9 0;
#X connect 11 0 13 0;
#X connect 12 0 6 1;
#X connect 13 0 6 0;
#X connect 14 0 6 2;
#X connect 15 0 8 0;
#X connect 15 1 7 0;
#X connect 15 2 14 0;
#X connect 15 3 3 0;
#X connect 16 0 21 0;
#X connect 17 0 16 1;
#X connect 18 0 16 0;
#X connect 19 0 18 0;
#X connect 19 1 17 0;
#X connect 21 0 20 0;
#X connect 22 0 24 0;
#X connect 24 0 23 0;
#X connect 25 0 22 1;
#X connect 26 0 22 0;
#X connect 27 0 26 0;
#X connect 27 1 25 0;
#X connect 28 0 5 0;
#X connect 28 1 2 0;
#X connect 28 2 8 1;
#X connect 28 3 7 1;
#X connect 28 3 27 0;
#X connect 28 3 19 0;
#X connect 30 0 28 0;
#X restore 285 62 pd change-cellsize;
#X connect 0 0 7 2;
#X connect 2 0 9 0;
#X connect 3 0 19 0;
#X connect 4 0 8 0;
#X connect 5 0 20 0;
#X connect 6 0 34 0;
#X connect 7 0 13 0;
#X connect 8 0 5 0;
#X connect 8 1 3 0;
#X connect 9 0 1 0;
#X connect 10 0 12 0;
#X connect 12 0 11 0;
#X connect 13 0 1 0;
#X connect 17 0 22 0;
#X connect 18 0 4 0;
#X connect 19 0 6 0;
#X connect 20 0 35 0;
#X connect 22 0 37 0;
#X connect 22 1 21 0;
#X connect 22 2 45 0;
#X connect 22 3 44 0;
#X connect 22 4 27 0;
#X connect 23 0 39 0;
#X connect 24 0 16 0;
#X connect 24 1 15 0;
#X connect 25 0 26 0;
#X connect 26 0 59 0;
#X connect 26 1 14 0;
#X connect 27 0 14 0;
#X connect 28 0 10 1;
#X connect 29 0 10 0;
#X connect 30 0 29 0;
#X connect 30 1 28 0;
#X connect 31 0 2 1;
#X connect 32 0 2 0;
#X connect 33 0 32 0;
#X connect 33 1 31 0;
#X connect 34 0 7 1;
#X connect 35 0 7 0;
#X connect 36 0 7 3;
#X connect 37 0 38 0;
#X connect 38 0 43 0;
#X connect 38 1 0 0;
#X connect 38 2 36 0;
#X connect 38 3 33 0;
#X connect 38 4 30 0;
#X connect 39 0 37 0;
#X connect 39 1 21 0;
#X connect 39 2 24 0;
#X connect 40 0 15 0;
#X connect 41 0 16 0;
#X connect 43 0 18 0;
#X connect 43 1 5 1;
#X connect 43 2 3 1;
#X connect 44 0 41 0;
#X connect 44 1 40 0;
#X connect 45 0 48 0;
#X connect 45 1 54 0;
#X connect 48 0 47 0;
#X connect 49 0 51 0;
#X connect 50 0 47 0;
#X connect 50 1 46 0;
#X connect 51 0 56 0;
#X connect 51 1 53 0;
#X connect 53 0 52 0;
#X connect 53 1 50 0;
#X connect 54 0 46 0;
#X connect 56 0 55 0;
#X connect 58 0 53 0;
#X restore 15 121 pd generate;
#N canvas 290 512 450 300 \$0-gui 0;
#X scalar 1042-matrixctrl 0 0 17 899 0 \;;
#X scalar 1042-matrixctrl 17 0 17 899 0 \;;
#X scalar 1042-matrixctrl 34 0 17 899 0 \;;
#X scalar 1042-matrixctrl 51 0 17 800 1 \;;
#X scalar 1042-matrixctrl 0 17 17 800 1 \;;
#X scalar 1042-matrixctrl 17 17 17 899 0 \;;
#X scalar 1042-matrixctrl 34 17 17 800 1 \;;
#X scalar 1042-matrixctrl 51 17 17 899 0 \;;
#X coords 0 0 68 34 68 34 2 20 20;
#X restore 101 51 pd \$0-gui;
#X obj 15 241 outlet;
#X obj 15 291 namecanvas \$0-matrixctrl;
#X obj 15 71 inlet;
#N canvas 789 175 369 465 gui-output 0;
#X obj 25 19 inlet;
#X obj 85 429 outlet;
#X obj 25 99 until;
#X obj 85 149 pointer \$0-matrixctrl;
#X obj 85 99 symbol pd-\$0-gui;
#X msg 85 119 traverse \$1;
#X msg 25 119 next;
#X obj 25 39 t b b;
#X obj 85 169 get \$0-matrixctrl state;
#X obj 25 79 t f f;
#X obj 85 189 list-abs/last-x;
#X obj 85 209 list-abs/list-rev;
#X obj 85 379 list trim;
#X text 65 18 reads fields and gives output;
#X obj 85 399 iemmatrix/mtx_transpose;
#X obj 154 319 pack;
#X obj 175 299 value _\$0_column;
#X obj 154 279 value _\$0_row;
#X msg 154 339 list matrix \$1 \$2;
#X obj 85 359 list prepend;
#X obj 154 239 r \$0-INIT;
#X obj 154 259 t b b;
#X obj 25 59 expr _\$0_row * _\$0_column;
#X connect 0 0 7 0;
#X connect 2 0 6 0;
#X connect 3 0 8 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X connect 6 0 3 0;
#X connect 7 0 22 0;
#X connect 7 1 4 0;
#X connect 8 0 10 0;
#X connect 9 0 2 0;
#X connect 9 1 10 1;
#X connect 10 0 11 0;
#X connect 11 0 19 0;
#X connect 12 0 14 0;
#X connect 14 0 1 0;
#X connect 15 0 18 0;
#X connect 16 0 15 1;
#X connect 17 0 15 0;
#X connect 18 0 19 1;
#X connect 19 0 12 0;
#X connect 20 0 21 0;
#X connect 21 0 17 0;
#X connect 21 1 16 0;
#X connect 22 0 9 0;
#X restore 15 211 pd gui-output;
#N canvas 0 0 426 446 license 0;
#X text 8 47 All rights reserved.;
#X text 8 227 The names of its contributors may not be used to endorse
or promote products derived from this software without specific prior
written permission.;
#X text 8 87 Redistribution and use in source and binary forms \, with
or without modification \, are permitted provided that the following
conditions are met:;
#X text 8 127 Redistributions of source code must retain the above
copyright notice \, this list of conditions and the following disclaimer.
;
#X text 8 297 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES \, INCLUDING
\, BUT NOT LIMITED TO \, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT \, INDIRECT
\, INCIDENTAL \, SPECIAL \, EXEMPLARY \, OR CONSEQUENTIAL DAMAGES (INCLUDING
\, BUT NOT LIMITED TO \, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES
;
#X text 8 167 Redistributions in binary form must reproduce the above
copyright notice \, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the distribution.
;
#X text 8 27 jmmmpais@googlemail.com;
#X text 8 7 Copyright 2006 \, João Pais;
#X restore 15 337 pd license;
#X text 12 317 (C) 2013 João Pais - jmmmpais@googlemail.com;
#N canvas 625 110 539 526 change 0;
#X obj 217 11 inlet;
#X obj 244 241 outlet;
#X obj 327 291 until;
#X obj 313 391 pointer \$0-matrixctrl;
#X obj 313 341 symbol pd-\$0-gui;
#X msg 327 311 next;
#X obj 293 241 unpack f f f;
#X obj 293 221 list-abs/list-rot -1;
#X msg 313 361 traverse \$1;
#X obj 293 464 set \$0-matrixctrl state color;
#X obj 274 201 t b a b;
#X obj 23 321 until;
#X obj 63 411 pointer \$0-matrixctrl;
#X obj 63 361 symbol pd-\$0-gui;
#X msg 23 341 next;
#X msg 63 381 traverse \$1;
#X obj 63 491 set \$0-matrixctrl state color;
#X obj 23 281 t b b;
#X obj 63 431 t b p;
#X obj 217 91 route mode;
#X obj 274 121 list prepend;
#X msg 237 61 mode AND;
#X obj 274 161 route AND OR;
#X obj 274 141 list trim;
#X obj 237 41 loadbang;
#X obj 23 181 inlet;
#X obj 23 201 spigot 0;
#X obj 308 181 t a b;
#X obj 68 151 sel AND OR;
#X obj 68 171 0;
#X obj 96 171 1;
#X obj 327 271 expr $f1 + $f2 * _\$0_column + 1;
#X obj 23 301 expr _\$0_row * _\$0_column;
#X obj 293 421 expr $f1 \; if($f1==1 \, _\$0_color1 \, _\$0_color0)
;
#X obj 63 451 expr 0 \; _\$0_color0;
#X obj 68 131 zexy/list2symbol;
#X obj 33 231 inlet;
#X obj 33 251 t b b;
#X connect 0 0 19 0;
#X connect 2 0 5 0;
#X connect 3 0 9 2;
#X connect 4 0 8 0;
#X connect 5 0 3 0;
#X connect 6 0 33 0;
#X connect 6 1 31 0;
#X connect 6 2 31 1;
#X connect 7 0 6 0;
#X connect 8 0 3 0;
#X connect 10 0 1 0;
#X connect 10 1 7 0;
#X connect 10 2 4 0;
#X connect 11 0 14 0;
#X connect 12 0 18 0;
#X connect 13 0 15 0;
#X connect 14 0 12 0;
#X connect 15 0 12 0;
#X connect 17 0 32 0;
#X connect 17 1 13 0;
#X connect 18 0 34 0;
#X connect 18 1 16 2;
#X connect 19 0 20 1;
#X connect 19 0 35 0;
#X connect 19 1 20 0;
#X connect 20 0 23 0;
#X connect 21 0 19 0;
#X connect 22 0 10 0;
#X connect 22 1 27 0;
#X connect 23 0 22 0;
#X connect 24 0 21 0;
#X connect 25 0 26 0;
#X connect 26 0 17 0;
#X connect 27 0 10 0;
#X connect 27 1 17 0;
#X connect 28 0 29 0;
#X connect 28 1 30 0;
#X connect 29 0 26 1;
#X connect 30 0 26 1;
#X connect 31 0 2 0;
#X connect 32 0 11 0;
#X connect 33 0 9 0;
#X connect 33 1 9 1;
#X connect 34 0 16 0;
#X connect 34 1 16 1;
#X connect 35 0 28 0;
#X connect 36 0 37 0;
#X connect 37 0 1 0;
#X connect 37 1 17 0;
#X restore 219 181 pd change;
#X text 11 21 [matrixctrl] - GUI for [iemmatrix/mtx_mul~];
#X text 309 116 Inlets;
#X text 309 316 Outlets;
#X text 309 337 - output for [iemmatrix/mtx_mul~];
#X text 309 86 - cell size (default is 13);
#X text 309 136 - x y z - list with horizontal & vertical positions
\, and state (0/1);
#X text 309 206 - "mode AND" / "mode OR" - matrix behaviour (default
is AND);
#X text 309 246 - cellsize x - change cell size;
#X text 309 226 - size x y - change matrix size;
#X text 308 66 - number of inputs/rows;
#X text 309 46 - number of outputs/columns;
#X text 309 266 - color [x y] - change colors;
#X text 309 26 Arguments - ALWAYS USE THE FIRST TWO ARGUMENTS;
#N canvas 802 380 290 346 read-matrix 0;
#X obj 14 14 inlet;
#X obj 83 244 pointer \$0-matrixctrl;
#X obj 83 194 symbol pd-\$0-gui;
#X msg 83 214 traverse \$1;
#X obj 57 124 zexy/drip;
#X msg 104 164 next;
#X text 54 13 imports matrix settings;
#X obj 57 144 t f b;
#X obj 57 317 set \$0-matrixctrl state color;
#X obj 57 274 expr $f1 \; if($f1==1 \, _\$0_color1 \, _\$0_color0)
;
#X obj 14 54 iemmatrix/mtx_transpose;
#X obj 33 94 list split 3;
#X obj 14 34 prepend matrix;
#X obj 14 184 outlet;
#X obj 14 74 t b a b;
#X connect 0 0 12 0;
#X connect 1 0 8 2;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 7 0;
#X connect 5 0 1 0;
#X connect 7 0 9 0;
#X connect 7 1 5 0;
#X connect 9 0 8 0;
#X connect 9 1 8 1;
#X connect 10 0 14 0;
#X connect 11 1 4 0;
#X connect 12 0 10 0;
#X connect 14 0 13 0;
#X connect 14 1 11 0;
#X connect 14 2 2 0;
#X restore 142 121 pd read-matrix;
#X text 309 286 - matrix ... - read matrix definitions;
#X text 309 166 - reset - resets matrix;
#X obj 15 91 route size cellsize color matrix reset bang;
#X text 309 186 - bang - outputs current setting;
#X text 236 365 falta: \; - mode OR para colunas ou linhas \; - mode
fade (AND com pegel e Anzeige \, outro objecto diferente);
#X connect 0 0 6 0;
#X connect 0 1 9 0;
#X connect 5 0 26 0;
#X connect 6 0 3 0;
#X connect 9 0 6 0;
#X connect 23 0 6 0;
#X connect 26 0 1 0;
#X connect 26 1 1 1;
#X connect 26 2 1 2;
#X connect 26 3 23 0;
#X connect 26 4 9 1;
#X connect 26 5 6 0;
#X connect 26 6 9 2;
#X coords 0 -1 1 1 70 36 2 100 50;