#N struct 1029-rect float x; #N struct 1029-multislider float x float y array slider 1029-slider ; #N struct 1029-slider float y; #N canvas 169 229 833 307 10; #X obj 25 25 cnv 15 640 256 \$0-canvasout \$0-canvas empty 20 12 0 14 -1049 -66577 0; #N canvas 192 309 869 374 \$0-pixelgrid 0; #X scalar 1029-rect 0 \;; #X scalar 1029-multislider 10 0 \; 148 \; 138 \; 127 \; 123 \; 119 \; 117 \; 117 \; 117 \; 117 \; 121 \; 127 \; 135 \; 147 \; 159 \; 168 \; 181 \; 190 \; 194 \; 194 \; 194 \; 192 \; 187 \; 182 \; 179 \; 165 \; 155 \; 145 \; 135 \; 126 \; 119 \; 112 \; 111 \; \;; #X coords 0 0 640 256 640 256 2 0 0; #X restore 25 25 pd \$0-pixelgrid; #N canvas 656 72 475 127 \$0-slider 0; #X obj 42 40 struct \$0-slider float y; #X obj 42 62 filledpolygon 45 4 1 -10 0 10 0 10 y(256:0)(0:256) -10 y(256:0)(0:256); #X restore 684 132 pd \$0-slider; #N canvas 408 51 533 722 create 0; #X obj 41 35 loadbang; #X obj 116 37 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X msg 73 321 32; #X obj 73 343 setsize \$0-multislider slider; #X obj 41 57 t b b; #X obj 73 101 s pd-\$0-pixelgrid; #X msg 73 79 clear; #X text 299 232 <- Create multislider; #X obj 41 123 t b b; #X msg 73 167 traverse \$1 \, bang; #X obj 73 189 pointer; #X obj 73 145 symbol pd-\$0-pixelgrid; #X text 299 370 <- Set initial values; #X obj 73 387 array get \$0-array; #X obj 73 409 array set -s \$0-multislider slider; #X obj 41 365 t b b; #X obj 73 299 t b p; #X obj 41 233 t b b; #X obj 105 321 s \$0-multisliderPointer; #X obj 308 387 r \$0-multisliderPointer; #X text 299 54 <- Clear subpatch; #X text 299 124 <- Get pointer to subpatch; #X obj 73 211 s \$0-subpatchPointer; #X obj 245 255 r \$0-subpatchPointer; #X obj 73 277 append \$0-multislider x y; #X msg 73 255 10 0; #X obj 64 651 s pd-\$0-mouse; #X obj 41 431 t b b b; #X msg 64 453 7; #X obj 64 475 until; #X obj 64 497 f; #X obj 96 497 + 1; #X msg 135 453 clear; #X obj 135 475 s pd-\$0-mouse; #X obj 157 563 + 20; #X msg 100 453 0; #X obj 64 541 + 2; #X obj 157 541 * 140; #X obj 64 519 t f f f f; #X obj 95 541 * 2; #X obj 64 585 pack f f f f \$0; #X obj 125 541 * 2; #X obj 125 563 + 1; #X msg 64 607 obj \$4 20 receivecanvas \$1 \, obj \$4 42 s \$5-mouse \, connect \$2 0 \$3 0; #X obj 150 673 r \$0-subpatchPointer; #X msg 41 673 0; #X obj 41 695 append \$0-rect x; #X connect 0 0 4 0; #X connect 1 0 4 0; #X connect 2 0 3 0; #X connect 4 0 8 0; #X connect 4 1 6 0; #X connect 6 0 5 0; #X connect 8 0 17 0; #X connect 8 1 11 0; #X connect 9 0 10 0; #X connect 10 0 22 0; #X connect 11 0 9 0; #X connect 13 0 14 0; #X connect 15 0 27 0; #X connect 15 1 13 0; #X connect 16 0 2 0; #X connect 16 1 3 1; #X connect 16 1 18 0; #X connect 17 0 15 0; #X connect 17 1 25 0; #X connect 19 0 14 2; #X connect 23 0 24 2; #X connect 24 0 16 0; #X connect 25 0 24 0; #X connect 27 0 45 0; #X connect 27 1 28 0; #X connect 27 2 35 0; #X connect 27 2 32 0; #X connect 28 0 29 0; #X connect 29 0 30 0; #X connect 30 0 31 0; #X connect 30 0 38 0; #X connect 31 0 30 1; #X connect 32 0 33 0; #X connect 34 0 40 3; #X connect 35 0 30 1; #X connect 36 0 40 0; #X connect 37 0 34 0; #X connect 38 0 36 0; #X connect 38 1 39 0; #X connect 38 2 41 0; #X connect 38 3 37 0; #X connect 39 0 40 1; #X connect 40 0 43 0; #X connect 41 0 42 0; #X connect 42 0 40 2; #X connect 43 0 26 0; #X connect 44 0 46 1; #X connect 45 0 46 0; #X restore 684 220 pd create; #N canvas 622 250 509 142 \$0-multislider 0; #X obj 42 62 b; #X obj 72 62 s \$0-multisliderBang; #X obj 42 84 plot -y y(0:256) slider 1 0 0 0 20; #X obj 42 40 struct \$0-multislider float x float y array slider \$0-slider ; #X text 240 63 <- Bangs after it gets the click; #X connect 0 0 1 0; #X connect 3 0 0 0; #X restore 684 154 pd \$0-multislider; #N canvas 326 51 658 271 select 0; #X floatatom 144 39 5 0 0 1 x #0-x -, f 5; #X floatatom 42 39 5 0 0 1 y #0-y -, f 5; #X floatatom 167 126 5 0 0 1 slider - #0-slider, f 5; #X obj 144 101 element \$0-multislider slider; #X obj 42 123 set \$0-slider y; #X obj 144 79 div 20; #X obj 207 57 mod 20; #X obj 207 79 set \$0-multislider x; #X obj 354 57 r \$0-multisliderPointer; #X obj 42 211 set \$0-multislider x; #X obj 179 189 r \$0-multisliderPointer; #X msg 42 189 10; #X obj 42 167 r \$0-multisliderBang; #X text 368 122 <- move the slider.; #X text 368 213 <- move the struct back.; #X text 368 164 <- After the struct got the click \,; #X text 368 81 <- move the struct to get the click \,; #X text 368 39 <- When the external receives a click \,; #X connect 0 0 5 0; #X connect 0 0 6 0; #X connect 1 0 4 0; #X connect 3 0 4 1; #X connect 5 0 2 0; #X connect 5 0 3 0; #X connect 6 0 7 0; #X connect 8 0 7 1; #X connect 8 0 3 1; #X connect 10 0 9 1; #X connect 11 0 9 0; #X connect 12 0 11 0; #X restore 684 242 pd select; #N canvas 60 166 482 249 store 0; #X obj 38 111 array set \$0-array; #X obj 38 45 r pd; #X obj 38 67 route ping; #N canvas 3 51 450 250 (subpatch) 0; #X array \$0-array 32 float 3; #A 0 148 138 127 123 119 117 117 117 117 121 127 135 147 159 168 181 190 194 194 194 192 187 182 179 165 155 145 135 126 119 112 111; #X coords 0 250 1 249 200 140 0; #X restore 174 111 graph; #X obj 38 89 array get -s \$0-multislider slider; #X obj 273 67 r \$0-multisliderPointer; #X text 35 149 This automatically writes the values to an array \, that will be loaded on startup. This method can also be used to store different sets of values in a larger array. Note that the method is not always accurate \, sometimes the las note or notes are not written into the array.; #X connect 1 0 2 0; #X connect 2 0 4 0; #X connect 4 0 0 0; #X connect 5 0 4 2; #X restore 684 264 pd store; #N canvas 220 188 304 404 mouse 0; #X obj 159 66 route mouse; #X obj 52 176 unpack; #X obj 127 286 *; #X obj 52 286 spigot; #X obj 127 242 t f f f; #X obj 52 242 moses; #X obj 52 264 moses 640; #X obj 127 264 >= 0; #X obj 173 264 <= 256; #X floatatom 52 355 5 0 0 1 y - #0-y, f 5; #X floatatom 154 355 5 0 0 1 x - #0-x, f 5; #X obj 52 308 t b f; #X obj 52 330 f; #X obj 159 44 r \$0-mouse; #N canvas 254 171 1007 80 \$0-mouse 0; #X obj 20 20 receivecanvas 2; #X obj 20 42 s 1029-mouse; #X obj 160 20 receivecanvas 3; #X obj 160 42 s 1029-mouse; #X obj 300 20 receivecanvas 4; #X obj 300 42 s 1029-mouse; #X obj 440 20 receivecanvas 5; #X obj 440 42 s 1029-mouse; #X obj 580 20 receivecanvas 6; #X obj 580 42 s 1029-mouse; #X obj 720 20 receivecanvas 7; #X obj 720 42 s 1029-mouse; #X obj 860 20 receivecanvas 8; #X obj 860 42 s 1029-mouse; #X connect 0 0 1 0; #X connect 2 0 3 0; #X connect 4 0 5 0; #X connect 6 0 7 0; #X connect 8 0 9 0; #X connect 10 0 11 0; #X connect 12 0 13 0; #X restore 52 44 pd \$0-mouse; #X obj 52 110 t l b; #X msg 84 132 get_pos; #X obj 106 176 r \$0-canvasout; #X obj 84 154 s \$0-canvas; #X obj 106 198 unpack; #X obj 127 220 -; #X obj 52 220 -; #X obj 52 88 list; #X obj 52 66 r \$0-rectBang; #X connect 0 0 22 1; #X connect 1 0 21 0; #X connect 1 1 20 0; #X connect 2 0 3 1; #X connect 3 0 11 0; #X connect 4 0 7 0; #X connect 4 1 8 0; #X connect 4 2 12 1; #X connect 5 1 6 0; #X connect 6 0 3 0; #X connect 7 0 2 0; #X connect 8 0 2 1; #X connect 11 0 12 0; #X connect 11 1 10 0; #X connect 12 0 9 0; #X connect 13 0 0 0; #X connect 15 0 1 0; #X connect 15 1 16 0; #X connect 16 0 18 0; #X connect 17 0 19 0; #X connect 19 0 21 1; #X connect 19 1 20 1; #X connect 20 0 4 0; #X connect 21 0 5 0; #X connect 22 0 15 0; #X connect 23 0 22 0; #X restore 684 198 pd mouse; #N canvas 680 177 367 112 \$0-rect 0; #X obj 26 27 struct \$0-rect float x; #X obj 26 49 b; #X obj 26 71 filledpolygon 23 4 1 640 0 0 0 0 256 640 256; #X obj 58 49 s \$0-rectBang; #X connect 0 0 1 0; #X connect 1 0 3 0; #X restore 684 176 pd \$0-rect; #X coords 0 0 640 256 640 256 2 25 25;