#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 struct 1370-color float x float y float farbe; #N struct 1370-color-display float x float y float farbe; #N struct 1373-color float x float y float farbe; #N struct 1373-color-display float x float y float farbe; #N struct 1367-matrixctrl float x float y float size float color float state; #N struct 1387-color float x float y float farbe; #N struct 1387-color-display float x float y float farbe; #N struct 1390-color float x float y float farbe; #N struct 1390-color-display float x float y float farbe; #N struct 1384-matrixctrl float x float y float size float color float state; #N struct 1087-color float x float y float farbe float ynpos; #N struct 1404-color float x float y float farbe; #N struct 1404-color-display float x float y float farbe; #N struct 1407-color float x float y float farbe; #N struct 1407-color-display float x float y float farbe; #N struct 1401-matrixctrl float x float y float size float color float state; #N struct 1421-color float x float y float farbe; #N struct 1421-color-display float x float y float farbe; #N struct 1424-color float x float y float farbe; #N struct 1424-color-display float x float y float farbe; #N struct 1418-matrixctrl float x float y float size float color float state; #N struct 1438-color float x float y float farbe; #N struct 1438-color-display float x float y float farbe; #N struct 1441-color float x float y float farbe; #N struct 1441-color-display float x float y float farbe; #N struct 1435-matrixctrl float x float y float size float color float state; #N struct 1455-color float x float y float farbe; #N struct 1455-color-display float x float y float farbe; #N struct 1458-color float x float y float farbe; #N struct 1458-color-display float x float y float farbe; #N struct 1452-matrixctrl float x float y float size float color float state; #N struct 1472-color float x float y float farbe; #N struct 1472-color-display float x float y float farbe; #N struct 1475-color float x float y float farbe; #N struct 1475-color-display float x float y float farbe; #N struct 1469-matrixctrl float x float y float size float color float state; #N struct 1489-color float x float y float farbe; #N struct 1489-color-display float x float y float farbe; #N struct 1492-color float x float y float farbe; #N struct 1492-color-display float x float y float farbe; #N struct 1486-matrixctrl float x float y float size float color float state; #N struct 1506-color float x float y float farbe; #N struct 1506-color-display float x float y float farbe; #N struct 1509-color float x float y float farbe; #N struct 1509-color-display float x float y float farbe; #N struct 1503-matrixctrl float x float y float size float color float state; #N canvas 167 136 821 610 10; #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 61 576 pd license; #X text 58 558 (C) 2013 Joćo Pais - jmmmpais@googlemail.com; #X text 59 498 The third argument sets cell size. Here with 5 points: ; #X text 15 256 Inputs; #X obj 101 349 sig~ 1; #X obj 59 459 snaps~; #X obj 102 439 snaps~; #X obj 144 419 snaps~; #X obj 188 399 snaps~; #X obj 59 379 iemmatrix/mtx_mul~ 4 2; #X obj 145 349 sig~ 2; #X obj 69 299 prepend set; #X text 67 240 Outputs; #X text 60 96 To control the GUI \, either click with your mouse \, or send messages. These are formated as a list with the horizontal & vertical positions starting from 0 \, and state (0/1):; #X msg 59 158 0 0 \$1; #X obj 59 138 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 59 188 t a; #X obj 110 138 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 110 158 2 1 \$1; #X obj 160 138 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 160 158 3 0 \$1; #X text 101 189 The layout is like Max/MSP's matrixctrl object.; #X msg 69 319 matrix 4 2 0 1 0 0 0 1 1 0; #X text 144 299 The output is a matrix message; #X text 12 41 Clone of Max/MSP's matrixctrl. Can most also be used for normal matrixes. Click in the cells or send messages to change state.; #X text 119 257 this is [matrixctrl 4 2]; #X text 100 517 == [matrixctrl 5 5 6]; #X obj 59 258 matrixctrl 4 2; #X text 439 136 Inlets; #X text 439 336 Outlets; #X text 439 356 - output for [iemmatrix/mtx_mul~]; #X text 439 106 - cell size (default is 13); #X text 439 156 - x y z - list with horizontal & vertical positions \, and state (0/1); #X text 439 226 - "mode AND" / "mode OR" - matrix behaviour (default is AND); #X text 439 266 - cellsize x - change cell size; #X text 439 246 - size x y - change matrix size; #X text 438 86 - number of inputs/rows; #X text 439 66 - number of outputs/columns; #N canvas 331 210 398 327 SIZE+CELLSIZE 0; #X msg 19 117 size 2 4; #X msg 29 137 size 2 3; #X msg 19 217 cellsize 25; #X msg 29 237 cellsize 13; #X text 19 97 "size x y" changes matrix size; #X text 19 47 !! Mind \, for "size" and "cellsize" the object doesn't get saved with the new parameters !! You must edit the object itself. ; #X text 19 197 "cellsize x" changes cell size \, Standard is 13 points. ; #X text 19 17 Change matrix size and cellsize:; #X obj 19 257 matrixctrl 2 2; #X obj 19 157 matrixctrl 2 2; #X connect 0 0 9 0; #X connect 1 0 9 0; #X connect 2 0 8 0; #X connect 3 0 8 0; #X restore 439 458 pd SIZE+CELLSIZE; #N canvas 218 139 450 433 COLOR 0; #X msg 39 177 color 50 100; #X msg 29 157 color 57 600; #X msg 19 127 color 899 800; #X text 109 127 standard values; #X text 49 207 == [matrixctrl 2 8 10]; #X text 18 17 Change colors:; #X text 19 37 Send the message "color x y" to set the matrix colors. ; #X text 19 57 x = off color \, y = on color; #X obj 381 77 pd-colors; #X text 89 357 == [matrixctrl 3 3 20]; #X msg 19 327 color; #X text 19 307 Or send only the message "color" to open a color selector. ; #X text 19 78 The colors follow the data structures color scheme. Look at; #X text 19 91 for a complete palette.; #X obj 19 206 matrixctrl 2 8 10; #X obj 19 356 matrixctrl 3 3 20; #X connect 0 0 14 0; #X connect 1 0 14 0; #X connect 2 0 14 0; #X connect 10 0 15 0; #X restore 439 488 pd COLOR; #X text 499 488 Change colors; #X text 549 458 Change matrix size and cellsize; #X text 439 286 - color [x y] - change colors; #X text 439 46 Arguments - ALWAYS USE THE FIRST TWO ARGUMENTS; #X text 439 306 - matrix ... - read matrix definitions; #X text 503 518 Read matrix messages; #N canvas 218 139 397 347 MATRIX 0; #X text 11 8 Read matrix messages \;; #X text 89 271 == [matrixctrl 8 8 8]; #X text 88 115 == [matrixctrl 5 2]; #X obj 15 148 prepend set; #X msg 15 168 matrix 5 2 1 0 0 1 0 0 1 0 0 0; #X msg 15 69 matrix 5 2 1 0 0 1 0 0 1 0 0 0; #X msg 25 89 matrix 5 2 0 0 0 0 0 1 1 0 1 1; #X text 12 28 Send the message "matrix ... " to import matrix definitions. With this you can save your settings.; #X msg 15 227 matrix 8 8 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0; #X text 15 207 A more complex example:; #X obj 15 273 matrixctrl 8 8 8; #X obj 15 117 matrixctrl 5 2; #X connect 3 0 4 0; #X connect 5 0 11 0; #X connect 6 0 11 0; #X connect 8 0 10 0; #X connect 11 0 3 0; #X restore 439 518 pd MATRIX; #X text 439 186 - reset - resets matrix; #N canvas 455 181 408 289 MODES+RESET 0; #X msg 19 98 mode AND; #X msg 29 118 mode OR; #X text 109 137 == [matrixctrl 5 3]; #X text 19 47 There are two modes: AND allows for multiple selection \, OR keeps only one selected field \, setting all other fields to 0 AND is the standard mode.; #X text 19 17 Interaction modes:; #X msg 19 228 reset; #X text 19 207 Reset a matrix - the "reset" message sets all fields to 0; #X obj 19 138 matrixctrl 6 3; #X obj 19 248 matrixctrl 2 2; #X connect 0 0 7 0; #X connect 1 0 7 0; #X connect 5 0 8 0; #X restore 439 428 pd MODES+RESET; #X text 533 428 Interaction modes and reset; #X text 439 398 Other features are:; #X text 439 206 - bang - outputs current setting; #N canvas 564 268 494 344 META 0; #X text 12 55 AUTHOR Joćo Pais ; #X text 12 95 LICENSE BSD; #X text 12 75 LIBRARY jmmmp; #X text 13 115 WEBSITE http://puredata.info/Members/jmmmp; #X text 12 6 DESCRIPTION GUI for [iemmatrix/mtx_mul~]; #X text 12 36 KEYWORDS matrix mtx_mul~ matrix~; #X text 12 135 VERSION 2013; #X restore 151 576 pd META; #X text 11 11 [matrixctrl x y z] - GUI for [iemmatrix/mtx_mul~]; #X obj 89 218 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 109 217 bang outputs the current setting; #X obj 61 516 matrixctrl 5 5 6; #X connect 4 0 9 1; #X connect 9 0 5 0; #X connect 9 1 6 0; #X connect 9 2 7 0; #X connect 9 3 8 0; #X connect 10 0 9 2; #X connect 11 0 22 0; #X connect 14 0 16 0; #X connect 15 0 14 0; #X connect 16 0 27 0; #X connect 17 0 18 0; #X connect 18 0 16 0; #X connect 19 0 20 0; #X connect 20 0 16 0; #X connect 27 0 11 0; #X connect 27 0 9 0; #X connect 54 0 16 0;