#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;