[PD] a toggle matrix

dmotd inaudible at simplesuperlativ.es
Wed Jul 7 16:43:53 CEST 2010


see attached, requires iemmatrix..
-
dmotd

Felix Obée wrote:
> hi,
> 
> i'm pretty new to pd so please don't flame me completely if i am talking nonsense here.
> 
> i am looking for an object that will give me an interactive binary matrix, where i can switch each individual value by clicking on it, like a toggle. use would be for example a step sequencer with x rows, controlling a led matrix or, in my case, a matrix of speakers.
> 
> i did some research but couldn't find anything like that mentioned in the list or the wiki. building such a thing manually with an estimated number of 200 toggles would be quite tiresome...
> 
> thx for the help
> 
> felix
> 
> 
> 
> ...
> -------------------------------------------
> Felix Obée
> Weichselstr. 35
> 12045 Berlin
> 
> Phone: 0178 / 49 31 008
> Phone: 030 / 55957397
> Mail: felix at amphibiousthoughts.com
> http://amphibiousthoughts.com
> http://dj.amphibiousthoughts.com
> -------------------------------------------
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-------------- next part --------------
#N canvas 129 0 450 326 10;
#X obj 324 251 mtx_print;
#X obj 324 229 matrix;
#X obj 45 110 mtx_eye 8;
#X obj 46 89 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 323 207 spigot;
#X obj 374 188 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 244 48 print 1;
#X msg 256 67 print 0;
#X text 263 86 print (including \$0 arg);
#X text 34 283 warning! can choke pd when building larger matrices
;
#X text 33 9 [mtx_tog] is a binary viewer/editor abs for iemmatrix
;
#X text 292 299 (c) 2006 dmotd;
#X obj 244 177 mtx_tog 2 2;
#X obj 241 105 mtx_tog 4 4;
#X obj 46 138 mtx_tog 8 8;
#X obj 246 220 mtx_tog 3 1;
#X obj 212 176 mtx_tog 3 1;
#X text 65 28 usage: [mtx_tog m n];
#X text 65 46 where m = rows;
#X text 79 65 and n = columns;
#X connect 1 0 0 0;
#X connect 2 0 14 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 4 1;
#X connect 6 0 13 0;
#X connect 7 0 13 0;
#X connect 12 0 4 0;
#X connect 12 0 15 0;
#X connect 13 0 12 0;
#X connect 13 0 16 0;
-------------- next part --------------
#N canvas 100 82 373 383 10;
#N canvas 317 180 450 300 \$0-subpatch 0;
#X obj 0 0 tgl 15 0 1011_1_1_send 1011_1_1_receive empty 17 7 0 10
-262144 -1 -1 0 1;
#X coords 0 -1 1 1 15 15 2 0 0;
#X restore 0 50 pd \$0-subpatch;
#N canvas 167 102 450 300 edit_mtx 0;
#X obj 41 46 r \$0-matrix;
#X obj 72 236 outlet;
#X obj 286 174 spigot;
#X obj 322 128 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 320 99 inlet;
#X obj 166 24 inlet;
#X obj 178 115 mtx_check;
#N canvas 67 97 523 386 mtx_set 0;
#N canvas 18 295 450 300 doit 0;
#X obj 88 62 until;
#X obj 88 90 f;
#X obj 119 92 + 1;
#X obj 163 92 sel 0;
#X obj 117 119 mod 5;
#X obj 90 32 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#N canvas 161 343 450 300 count 0;
#X obj 85 15 inlet;
#X obj 219 108 f;
#X obj 276 104 + 1;
#X msg 194 75 bang;
#X floatatom 277 138 5 0 0 0 - - -;
#X msg 263 77 0;
#X obj 212 181 select 1;
#X obj 230 147 < 5;
#X obj 278 4 inlet;
#X obj 299 43 int;
#X obj 197 242 outlet;
#X obj 300 263 outlet;
#X obj 211 208 del 10;
#X obj 269 207 del 11;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 1 1;
#X connect 2 0 4 0;
#X connect 2 0 7 0;
#X connect 2 0 10 0;
#X connect 3 0 1 0;
#X connect 5 0 1 1;
#X connect 6 0 12 0;
#X connect 6 1 13 0;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 7 1;
#X connect 12 0 1 0;
#X connect 13 0 5 0;
#X connect 13 0 11 0;
#X restore 159 -23 pd count;
#X obj 157 -47 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 203 -53 5 0 0 0 - - -;
#X obj 215 14 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X floatatom 158 5 5 0 0 0 - - -;
#X obj 194 141 pack;
#X obj 150 29 t b f;
#X floatatom 108 -26 5 0 0 0 - - -;
#X obj 43 -68 inlet;
#X obj 127 -71 inlet;
#X obj 211 -76 inlet;
#X obj 246 185 outlet;
#X obj 229 -33 max 1;
#X obj 63 -23 max 1;
#X obj 362 190 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 2 0 11 0;
#X connect 3 0 0 1;
#X connect 4 0 1 1;
#X connect 4 0 3 0;
#X connect 5 0 0 0;
#X connect 6 0 10 0;
#X connect 6 0 12 0;
#X connect 6 1 9 0;
#X connect 7 0 6 0;
#X connect 8 0 18 0;
#X connect 9 0 20 0;
#X connect 11 0 17 0;
#X connect 12 0 5 0;
#X connect 12 1 11 1;
#X connect 13 0 4 1;
#X connect 14 0 7 0;
#X connect 15 0 19 0;
#X connect 16 0 8 0;
#X connect 18 0 6 1;
#X connect 19 0 13 0;
#X restore 165 98 pd doit;
#X floatatom 195 78 5 0 0 0 - - -;
#X floatatom 245 79 5 0 0 0 - - -;
#X obj 80 38 inlet;
#X obj 77 171 matrix;
#X obj 167 246 pack 0 0 0 0;
#X obj 140 211 route matrix;
#X obj 77 228 \$0;
#X obj 204 179 unpack;
#X obj 172 124 t a a;
#X obj 78 199 t b a;
#X msg 145 73 bang;
#X obj 220 -24 loadbang;
#X obj 220 0 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 222 24 t b b;
#X obj 52 313 outlet;
#X obj 119 274 t a b;
#X obj 46 105 t a a;
#X obj 240 49 \$2;
#X obj 268 50 \$1;
#X msg 112 145 element \$2 \$1;
#X msg 164 284 \; \$1_\$2_\$3_receive set \$4;
#X connect 0 0 9 0;
#X connect 1 0 0 1;
#X connect 2 0 0 2;
#X connect 3 0 17 0;
#X connect 4 0 10 0;
#X connect 5 0 21 0;
#X connect 6 0 16 0;
#X connect 6 1 5 3;
#X connect 7 0 5 0;
#X connect 8 0 5 1;
#X connect 8 1 5 2;
#X connect 9 0 20 0;
#X connect 9 1 8 0;
#X connect 10 0 7 0;
#X connect 10 1 6 0;
#X connect 11 0 0 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 18 0;
#X connect 14 1 19 0;
#X connect 16 1 11 0;
#X connect 17 0 15 0;
#X connect 17 1 4 0;
#X connect 18 0 1 0;
#X connect 19 0 2 0;
#X connect 20 0 4 0;
#X restore 174 158 pd mtx_set;
#X obj 48 128 t b a;
#X obj 177 46 route matrix;
#X obj 177 65 list prepend matrix;
#X obj 178 85 list trim;
#X obj 283 204 mtx_print mtx_tog[\$0];
#X obj 78 193 matrix \$1 \$2;
#X obj 176 137 mtx_resize \$1 \$2;
#X msg 43 69 element \$2 \$3 \$1;
#X connect 0 0 15 0;
#X connect 2 0 12 0;
#X connect 3 0 2 1;
#X connect 4 0 3 0;
#X connect 5 0 9 0;
#X connect 6 0 14 0;
#X connect 7 0 13 0;
#X connect 8 0 13 0;
#X connect 8 1 13 0;
#X connect 9 0 10 0;
#X connect 9 1 13 0;
#X connect 10 0 11 0;
#X connect 11 0 6 0;
#X connect 13 0 1 0;
#X connect 13 0 2 0;
#X connect 14 0 7 0;
#X connect 15 0 8 0;
#X restore 15 -10 pd edit_mtx;
#N canvas 295 414 450 300 build 0;
#N canvas 76 2 1055 684 make 0;
#X msg 233 368 clear;
#N canvas 52 319 450 300 doit 0;
#X obj 88 62 until;
#X obj 88 90 f;
#X obj 119 92 + 1;
#X obj 163 92 sel 0;
#X obj 117 119 mod 5;
#X obj 90 32 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#N canvas 161 343 450 300 count 0;
#X obj 85 15 inlet;
#X obj 219 108 f;
#X obj 276 104 + 1;
#X msg 194 75 bang;
#X floatatom 277 138 5 0 0 0 - - -;
#X msg 263 77 0;
#X obj 212 181 select 1;
#X obj 269 207 del 51;
#X obj 211 208 del 50;
#X obj 230 147 < 5;
#X obj 278 4 inlet;
#X obj 299 43 int;
#X obj 197 242 outlet;
#X obj 300 263 outlet;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 1 1;
#X connect 2 0 4 0;
#X connect 2 0 9 0;
#X connect 2 0 12 0;
#X connect 3 0 1 0;
#X connect 5 0 1 1;
#X connect 6 0 8 0;
#X connect 6 1 7 0;
#X connect 7 0 5 0;
#X connect 7 0 13 0;
#X connect 8 0 1 0;
#X connect 9 0 6 0;
#X connect 10 0 11 0;
#X connect 11 0 9 1;
#X restore 159 -23 pd count;
#X obj 157 -47 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 203 -53 5 0 0 0 - - -;
#X obj 215 14 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X floatatom 158 5 5 0 0 0 - - -;
#X obj 194 141 pack;
#X obj 150 29 t b f;
#X floatatom 108 -26 5 0 0 0 - - -;
#X obj 43 -68 inlet;
#X obj 127 -71 inlet;
#X obj 211 -76 inlet;
#X obj 246 185 outlet;
#X obj 229 -33 max 1;
#X obj 63 -23 max 1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 2 0 11 0;
#X connect 3 0 0 1;
#X connect 4 0 1 1;
#X connect 4 0 3 0;
#X connect 5 0 0 0;
#X connect 6 0 10 0;
#X connect 6 0 12 0;
#X connect 6 1 9 0;
#X connect 7 0 6 0;
#X connect 8 0 18 0;
#X connect 11 0 17 0;
#X connect 12 0 5 0;
#X connect 12 1 11 1;
#X connect 13 0 4 1;
#X connect 14 0 7 0;
#X connect 15 0 19 0;
#X connect 16 0 8 0;
#X connect 18 0 6 1;
#X connect 19 0 13 0;
#X restore 35 191 pd doit;
#X floatatom 81 170 5 0 0 0 - - -;
#X floatatom 137 168 5 0 0 0 - - -;
#X obj 191 515 pack;
#X msg 190 571 donecanvasdialog 1 -1 2 0 -1 1 1 \$1 \$2 0 0;
#X obj 35 311 expr ($f1 - 1) * 15 \; ($f2 - 1) * 15 \; $f1 \; $f2 \;
(($f1 - 1) * 15) + 15 \; (($f2 - 1) * 15) + 15 \;;
#X msg 240 517 15 15;
#X obj 25 50 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 37 25 inlet;
#X obj 86 652 s pd-\$0-subpatch;
#X obj 74 147 inlet;
#X obj 133 144 inlet;
#X msg 523 403 clear;
#X obj 698 642 s pd-\$0-pool;
#X obj 35 407 pack 0 0 0 0 0;
#X obj 654 176 \$0;
#X obj 121 69 t b b b b;
#X obj 585 208 pack 0 0 0;
#X obj 842 347 pack 0 0 0 0 0;
#X obj 843 269 expr $f1 * 130 \; ($f2 * 40) -40 \; $f3 \; $f1 \; $f2
;
#X obj 631 349 pack 0 0 0 0;
#X obj 591 235 t a a;
#X obj 631 449 f;
#X obj 629 424 t b a;
#X obj 681 450 + 2;
#X msg 725 580 connect \$1 0 \$2 0;
#X obj 686 480 expr $f1 - 1 \; $f1;
#X obj 689 523 pack;
#X msg 676 425 0;
#X obj 693 549 t a a;
#X msg 726 605 connect \$2 0 0 0;
#X msg 485 477 obj 0 100 s \$1-matrix;
#X obj 485 448 \$0;
#X obj 622 271 expr $f1 * 130 \; ($f2 * 40) - 20 \; $f1 \; $f2;
#X obj 247 310 \$0;
#X obj 190 543 t a a;
#X msg 223 597 donecanvasdialog 1 -1 2 0 -1 1 1 \$1 \$2 0 50;
#X obj 222 624 s \$0-mtx_tog;
#X msg 629 373 obj \$1 \$2 pack 0 \$4 \$3;
#X msg 36 440 obj \$1 \$2 tgl 15 0 \$5_\$3_\$4_send \$5_\$3_\$4_receive
empty 17 7 0 10 -262144 -1 -1 0;
#X msg 842 373 obj \$1 \$2 r \$3_\$4_\$5_send;
#X connect 0 0 10 0;
#X connect 1 0 6 0;
#X connect 1 0 18 0;
#X connect 4 0 36 0;
#X connect 5 0 10 0;
#X connect 6 0 15 0;
#X connect 6 1 15 1;
#X connect 6 2 15 2;
#X connect 6 3 15 3;
#X connect 6 4 4 0;
#X connect 6 5 4 1;
#X connect 7 0 36 0;
#X connect 9 0 8 0;
#X connect 9 0 17 0;
#X connect 11 0 2 0;
#X connect 11 0 1 1;
#X connect 12 0 3 0;
#X connect 12 0 1 2;
#X connect 13 0 14 0;
#X connect 15 0 40 0;
#X connect 16 0 18 2;
#X connect 17 0 1 0;
#X connect 17 1 7 0;
#X connect 17 1 33 0;
#X connect 17 2 0 0;
#X connect 17 2 13 0;
#X connect 17 3 16 0;
#X connect 17 3 29 0;
#X connect 17 3 35 0;
#X connect 18 0 22 0;
#X connect 19 0 41 0;
#X connect 20 0 19 0;
#X connect 20 1 19 1;
#X connect 20 2 19 2;
#X connect 20 3 19 3;
#X connect 20 4 19 4;
#X connect 21 0 39 0;
#X connect 22 0 34 0;
#X connect 22 1 20 0;
#X connect 23 0 25 0;
#X connect 24 0 23 0;
#X connect 24 1 14 0;
#X connect 25 0 23 1;
#X connect 25 0 27 0;
#X connect 26 0 14 0;
#X connect 27 0 28 0;
#X connect 27 1 28 1;
#X connect 28 0 30 0;
#X connect 29 0 23 1;
#X connect 30 0 31 0;
#X connect 30 1 26 0;
#X connect 31 0 14 0;
#X connect 32 0 14 0;
#X connect 33 0 32 0;
#X connect 34 0 21 0;
#X connect 34 1 21 1;
#X connect 34 2 21 2;
#X connect 34 3 21 3;
#X connect 35 0 15 4;
#X connect 36 0 5 0;
#X connect 36 1 37 0;
#X connect 37 0 38 0;
#X connect 39 0 24 0;
#X connect 40 0 10 0;
#X connect 41 0 14 0;
#X restore 65 217 pd make;
#X obj 66 150 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 105 90 loadbang;
#X obj 107 138 t b b b;
#X obj 105 114 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 157 188 5 0 0 0 - - -;
#X floatatom 199 188 5 0 0 0 - - -;
#X obj 125 163 \$2;
#X obj 157 165 \$1;
#X connect 1 0 0 0;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 3 1 7 0;
#X connect 3 2 8 0;
#X connect 4 0 3 0;
#X connect 5 0 0 1;
#X connect 6 0 0 2;
#X connect 7 0 0 1;
#X connect 8 0 0 2;
#X restore 117 -50 pd build;
#N canvas 498 146 450 300 \$0-pool 0;
#X obj 0 100 s 1011-matrix;
#X obj 130 0 r 1011_1_1_send;
#X obj 130 20 pack 0 1 1;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 117 -30 pd \$0-pool;
#X obj 15 10 outlet;
#X obj 15 -70 inlet;
#X obj 15 -50 route print;
#X obj 117 -70 namecanvas \$0-mtx_tog;
#N canvas 405 428 450 300 notes 0;
#X text 55 25 [mtx_tog] binary editor/viewer for iemmatrix;
#X text 107 49 usage: [mtx_tog m n];
#X text 157 70 where m = rows;
#X text 171 89 and n = columns;
#X text 276 253 (c) 2006 dmotd;
#X text 56 121 the dynamic part has a metro to build the rows;
#X text 56 136 and an until to build the columns..;
#X text 55 155 this limit assures that pd doesn't die on building;
#X text 57 171 but does make generating the content a little slow.
;
#X text 57 239 toggles [pd \$0-subpatch];
#X text 31 127;
#X text 57 255 receivers [pd \$0-pool];
#X text 55 189 (this limit could be removed in the future?);
#X text 55 219 dynamic holders:;
#X restore 117 -10 pd notes;
#X connect 1 0 4 0;
#X connect 5 0 6 0;
#X connect 6 0 1 1;
#X connect 6 1 1 0;
#X coords 0 -1 1 1 15 15 2 0 50;
-------------- next part --------------
#N canvas 99 276 450 300 10;
#X floatatom 241 79 4 0 0 0 - - -;
#X msg 242 98 column \$1;
#X msg 66 82 matrix 2 2 1 1 1 1;
#X obj 149 241 unpack 0 0 0 0;
#X obj 150 265 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 173 267 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 205 268 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 241 266 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 64 210 route matrix;
#X floatatom 241 35 5 0 0 0 - - -;
#X obj 64 133 mtx_tog 4 16;
#N canvas 0 0 450 300 count[16] 0;
#X obj 77 129 metro 100;
#X obj 78 161 f;
#X obj 111 158 + 1;
#X obj 139 174 >= 16;
#X msg 140 214 0;
#X obj 140 194 sel 1;
#X obj 176 98 inlet;
#X obj 92 35 inlet;
#X obj 94 61 moses 0;
#X msg 101 84 1;
#X floatatom 149 14 5 0 0 0 - - -;
#X msg 93 104 0;
#X obj 71 200 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 1 1;
#X connect 2 0 3 0;
#X connect 2 0 12 0;
#X connect 3 0 5 0;
#X connect 4 0 1 1;
#X connect 5 0 4 0;
#X connect 6 0 3 1;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 8 1 9 0;
#X connect 8 1 0 1;
#X connect 9 0 0 0;
#X connect 10 0 8 0;
#X connect 11 0 0 0;
#X restore 240 56 pd count[16];
#X text 282 34 <- step (msec);
#X connect 0 0 1 0;
#X connect 1 0 10 0;
#X connect 2 0 10 0;
#X connect 3 0 4 0;
#X connect 3 1 5 0;
#X connect 3 2 6 0;
#X connect 3 3 7 0;
#X connect 8 1 3 0;
#X connect 9 0 11 0;
#X connect 10 0 8 0;
#X connect 11 0 0 0;


More information about the Pd-list mailing list