#N canvas 603 42 560 679 10;
#X obj 4 653 cnv 15 552 21 empty empty empty 20 12 0 14 -233017 -33289
0;
#X obj 4 260 cnv 3 550 3 empty empty inlets 8 12 0 13 -228856 -1 0
;
#X obj 2 475 cnv 3 550 3 empty empty outlets 8 12 0 13 -228856 -1 0
;
#X obj 6 539 cnv 3 550 3 empty empty arguments 8 12 0 13 -228856 -1
0;
#X obj 90 453 cnv 1 3 17 empty empty 0=>n 5 9 0 16 -228856 -162280
0;
#X text 168 455 signal;
#X text 140 486 signal;
#X text 152 507 list;
#X obj 90 267 cnv 17 3 180 empty empty 0 5 9 0 16 -228856 -162280 0
;
#X text 126 546 1) float;
#X text 126 561 2) float;
#X text 126 576 3) float;
#X obj 91 505 cnv 1 3 28 empty empty n+1 5 9 0 16 -228856 -162280 0
;
#X text 218 455 - signals to route and mix, f 53;
#X text 190 485 - routed/mixed signals from inlets;
#X obj 91 484 cnv 1 3 17 empty empty 0=>n 5 9 0 16 -228856 -162280
0;
#X obj 6 605 cnv 3 550 3 empty empty attributes 8 12 0 13 -228856 -1
0;
#X obj 2 3 cnv 15 553 42 empty empty empty 20 12 0 14 -233017 -66577
0;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 554 42 1 0 0;
#X restore 2 2 graph;
#X obj 305 3 cnv 15 250 40 empty empty empty 12 13 0 18 -128992 -233080
0;
#N canvas 382 141 749 319 (subpatch) 0;
#X coords 0 -1 1 1 252 42 2 100 100;
#X restore 304 2 pd;
#X text 50 86 [matrix~] routs signals from any inlets to one or more
outlets. If more than one inlet connects to an outlet \, the output
is the sum of the inlets' signals., f 64;
#X text 190 546 - 'n' number of inputs (1 to 250 \, default 1), f
52;
#X text 190 561 - 'n' number of outputs (1 to 499 \, default 1), f
52;
#X obj 17 56 cyclone/comment 425 14 DejaVu\ Sans\ Mono empty 0 0 0
0 0 255 255 255 0 0 Signal routing/mixing matrix;
#X obj 16 3 cyclone/comment 425 33 DejaVu\ Sans\ Mono empty 0 0 0 0
0 255 255 255 0 0 matrix~;
#X obj 322 27 cyclone/comment 425 13 DejaVu\ Sans\ Mono empty 0 224
228 220 0 255 255 255 0 0 Objects cloned from Max/MSP;
#X obj 363 3 cyclone/comment 425 24 DejaVu\ Sans\ Mono empty 0 224
228 220 0 255 255 255 0 0 cyclone;
#N canvas 616 136 498 299 example 0;
#X obj 366 206 print dump;
#X msg 163 82 dump;
#X text 86 104 0;
#X text 101 104 1;
#X text 116 104 2;
#X text 131 105 3;
#N canvas 0 23 892 491 matrix-logic 0;
#X obj 496 410 outlet;
#X obj 112 48 inlet;
#X obj 496 375 t b a;
#X msg 353 272 0 0 \$1;
#X msg 401 272 1 0 \$1;
#X msg 450 273 2 0 \$1;
#X msg 504 274 3 0 \$1;
#X msg 560 276 0 1 \$1;
#X msg 612 277 1 1 \$1;
#X msg 664 279 2 1 \$1;
#X msg 720 280 3 1 \$1;
#X obj 496 348 cyclone/prepend set;
#X obj 122 196 s \$0-r00;
#X obj 108 232 s \$0-r10;
#X obj 91 257 s \$0-r20;
#X obj 81 280 s \$0-r30;
#X obj 234 175 s \$0-r01;
#X obj 223 198 s \$0-r11;
#X obj 220 227 s \$0-r21;
#X obj 211 252 s \$0-r31;
#X obj 495 147 r \$0-s00;
#X obj 497 173 r \$0-s10;
#X obj 511 196 r \$0-s20;
#X obj 513 222 r \$0-s30;
#X obj 702 162 r \$0-s01;
#X obj 704 188 r \$0-s11;
#X obj 718 211 r \$0-s21;
#X obj 720 237 r \$0-s31;
#X obj 300 100 tgl 15 0 \$0-s00 \$0-r00 empty 17 7 0 10 -228856 -1
-1 0 1;
#X obj 315 100 tgl 15 0 \$0-s10 \$0-r10 empty 17 7 0 10 -228856 -1
-1 0 1;
#X obj 330 100 tgl 15 0 \$0-s20 \$0-r20 empty 17 7 0 10 -228856 -1
-1 0 1;
#X obj 345 100 tgl 15 0 \$0-s30 \$0-r30 empty 17 7 0 10 -228856 -1
-1 0 1;
#X obj 300 115 tgl 15 0 \$0-s01 \$0-r01 empty 17 7 0 10 -228856 -1
-1 0 1;
#X obj 315 115 tgl 15 0 \$0-s11 \$0-r11 empty 17 7 0 10 -228856 -1
-1 0 1;
#X obj 330 115 tgl 15 0 \$0-s21 \$0-r21 empty 17 7 0 10 -228856 -1
-1 0 1;
#X obj 345 115 tgl 15 0 \$0-s31 \$0-r31 empty 17 7 0 10 -228856 -1
-1 0 1;
#X msg 562 385 0 0 1;
#X connect 1 0 12 0;
#X connect 1 0 13 0;
#X connect 1 0 14 0;
#X connect 1 0 15 0;
#X connect 1 0 16 0;
#X connect 1 0 17 0;
#X connect 1 0 18 0;
#X connect 1 0 19 0;
#X connect 2 0 0 0;
#X connect 2 1 0 0;
#X connect 3 0 11 0;
#X connect 4 0 11 0;
#X connect 5 0 11 0;
#X connect 6 0 11 0;
#X connect 7 0 11 0;
#X connect 8 0 11 0;
#X connect 9 0 11 0;
#X connect 10 0 11 0;
#X connect 11 0 2 0;
#X connect 11 0 36 0;
#X connect 20 0 3 0;
#X connect 21 0 4 0;
#X connect 22 0 5 0;
#X connect 23 0 6 0;
#X connect 24 0 7 0;
#X connect 25 0 8 0;
#X connect 26 0 9 0;
#X connect 27 0 10 0;
#X coords 0 -1 1 1 60 30 2 300 100;
#X restore 82 120 pd matrix-logic;
#X msg 123 26 clear;
#X obj 184 138 osc~ 300;
#X obj 240 138 osc~ 400;
#X obj 303 138 osc~ 500;
#X obj 366 138 osc~ 600;
#X msg 82 83 set 0;
#X text 166 206 0;
#X text 274 207 1;
#X text 161 166 0;
#X text 225 166 1;
#X text 290 166 2;
#X text 353 167 3;
#X msg 82 157 0 0 1;
#X text 26 120 output 0;
#X text 26 135 output 1;
#X text 44 104 input:;
#X msg 147 57 ramp 100;
#X obj 180 219 ./out~;
#X msg 177 107 print;
#X text 246 67 basic binary mode operation;
#X obj 177 182 cyclone/matrix~ 4 2, f 32;
#X connect 1 0 27 0;
#X connect 6 0 19 0;
#X connect 7 0 12 0;
#X connect 7 0 27 0;
#X connect 8 0 27 0;
#X connect 9 0 27 1;
#X connect 10 0 27 2;
#X connect 11 0 27 3;
#X connect 12 0 6 0;
#X connect 19 0 27 0;
#X connect 23 0 27 0;
#X connect 25 0 27 0;
#X connect 27 0 24 0;
#X connect 27 1 24 1;
#X connect 27 2 0 0;
#X restore 480 211 pd example;
#X obj 246 232 cyclone/number~;
#A saved 0 0 100 -inf inf #2a3434 #ffffff #b6fefd;
#X obj 246 183 cyclone/matrix~ 2 2;
#X obj 256 158 sig~ 1;
#X obj 357 154 sig~ 2;
#X obj 301 208 cyclone/number~;
#A saved 0 0 100 -inf inf #2a3434 #ffffff #b6fefd;
#X obj 487 94 ./setdsp~;
#X obj 246 135 r \$0-matrix;
#X text 106 611 @ramp <float> -;
#X text 190 576 -;
#X text 208 576 sets to "non-binary" mode and the gain value for connections.
If not provided \, "binary" mode is on;
#X obj 56 233 s \$0-matrix;
#X obj 56 145 tgl 15 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X msg 56 165 0 0 \$1;
#X obj 68 188 tgl 15 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X msg 68 208 0 1 \$1;
#X obj 143 233 s \$0-matrix;
#X obj 143 145 tgl 15 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X obj 155 188 tgl 15 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X msg 143 165 1 0 \$1;
#X msg 155 208 1 1 \$1;
#X text 230 270 in binary mode: <inlet# \, outlet# \, on/off>. In non
binary mode: <inlet# \, outlet# \, gain \, ramp>, f 51;
#X text 190 507 -;
#X text 202 507 on <dump> messages \, rightmost outlet dumps a list
with all connections: <inlet# \, outlet# \, gain>, f 49;
#X text 180 271 list;
#X text 218 271 -;
#X text 174 351 clear;
#X text 180 384 dump;
#X text 132 368 ramp <float>;
#X text 120 296 connect <list>;
#X text 102 323 disconnect <list>;
#X text 218 367 - sets ramp (fade) time - only in non-binary mode,
f 53;
#X text 218 350 - removes all connections, f 53;
#X text 144 426 dumptarget;
#X text 174 411 print;
#X text 218 410 -;
#X text 218 384 -;
#X text 230 383 outputs current state of all connections in the rightmost
outlet a list: <inlet# \, outlet# \, gain>, f 51;
#X text 218 425 -;
#X text 218 295 -;
#X text 230 296 connects any inlet specified by the 1st value to outlet(s)
specified by remaining value(s), f 51;
#X text 218 322 -;
#X text 230 323 disconnects any inlet specified by the 1st value to
outlet(s) specified by the remaining value(s);
#X text 230 410 same as dump \, but prints on the terminal window,
f 51;
#N canvas 486 150 821 487 binary/non-binary 0;
#X obj 515 98 osc~ 300;
#X obj 574 98 osc~ 400;
#X obj 633 98 osc~ 500;
#X obj 692 99 osc~ 600;
#X floatatom 438 45 5 0 0 0 - - -;
#X floatatom 460 273 5 0 0 0 - - -;
#X obj 502 322 osc~ 300;
#X obj 565 322 osc~ 400;
#X obj 628 322 osc~ 500;
#X obj 691 322 osc~ 600;
#X obj 438 20 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -228856 -1
-1 0;
#X obj 460 252 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -228856
-1 -1 1;
#X text 21 100 "binary" mode (default):;
#X obj 515 131 cyclone/matrix~ 4 2, f 30;
#X obj 74 37 cnv 15 220 30 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 40 227 - "non-binary" mode is set when there is a third argument
(that also specifies the default gain for all connections)., f 62
;
#X obj 90 44 cyclone/comment 425 14 DejaVu\ Sans\ Mono empty 0 0 0
0 0 255 255 255 0 0 binary/non binary;
#X obj 502 393 ./out~;
#X obj 516 165 ./out~;
#X obj 502 356 cyclone/matrix~ 4 1 1 @ramp 1000;
#X text 509 13 In binary mode \, only 0/1 gain values (clicks occur)
, f 30;
#X obj 692 167 print dump;
#X obj 691 384 print dumptarget;
#X msg 438 68 clear \, connect \$1 0 1 \, dump \, print;
#X msg 460 293 clear \, \$1 0 0.5 \, dumptarget;
#X text 530 246 In non-binary mode \, you can set gain values and ramp
time (optional), f 36;
#X text 40 124 - In "binary" mode \, connections are either on or off.
This can cause audible clicks when routing., f 62;
#X text 23 201 "non-binary" mode (requires more CPU time):;
#X text 40 257 - In this mode \, connections formed with the <connect>
message always have the gain specified by the third argument. However
\, list messages can alter the gain of connections formed with the
<connect> message. So \, if you want to specify the gain of each connection
in "non-binary" mode \, you must use list messages (see below)., f
62;
#X text 40 330 - A list message allows an arbitrary gain value set
by the 3rd float. This mode also allows a 4th optional list item that
sets the ramp time (for fade in/out or crossfading)., f 62;
#X text 40 156 - The 'dump' and 'dumptarget' are the same in this mode.
The 'print' message is also the same but prints on the terminal isntead.
, f 62;
#X text 40 371 - The dump message in non-binary mode gives you the
current gain state. The 'print' message is the same but prints on
the terminal isntead. The 'dumptarget' message gives you the target
gain and may not be the same as the current state because of the ramp
time., f 62;
#X connect 0 0 13 0;
#X connect 1 0 13 1;
#X connect 2 0 13 2;
#X connect 3 0 13 3;
#X connect 4 0 23 0;
#X connect 5 0 24 0;
#X connect 6 0 19 0;
#X connect 7 0 19 1;
#X connect 8 0 19 2;
#X connect 9 0 19 3;
#X connect 10 0 4 0;
#X connect 11 0 5 0;
#X connect 13 0 18 0;
#X connect 13 1 18 1;
#X connect 13 2 21 0;
#X connect 19 0 17 0;
#X connect 19 0 17 1;
#X connect 19 1 22 0;
#X connect 23 0 13 0;
#X connect 24 0 19 0;
#X restore 420 234 pd binary/non-binary;
#X text 230 426 outputs target state of all connections in the rightmost
outlet a list: <inlet# \, outlet# \, gain>, f 51;
#X text 204 612 only in non-binary mode (that is \, if all 3 arguments
are given \, you can include a ramp value as an attribute) - default
is 10 ms, f 43;
#X connect 30 0 29 0;
#X connect 30 1 33 0;
#X connect 31 0 30 0;
#X connect 32 0 30 1;
#X connect 35 0 30 0;
#X connect 40 0 41 0;
#X connect 41 0 39 0;
#X connect 42 0 43 0;
#X connect 43 0 39 0;
#X connect 45 0 47 0;
#X connect 46 0 48 0;
#X connect 47 0 44 0;
#X connect 48 0 44 0;
