#N canvas 273 23 887 709 12;
#X text 105 13 MORE ON ARRAYS;
#X obj 614 373 tgl 19 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000 0 1;
#X msg 614 400 \; array98 vis \$1;
#X msg 518 653 \; array98 style \$1;
#X msg 506 484 \; array98 width \$1;
#X floatatom 506 456 5 1 10 0 - - - 0;
#X floatatom 708 485 5 0 0 0 - - - 0;
#X msg 708 511 \; array98 color \$1;
#X msg 675 455 9;
#X msg 742 455 900;
#X text 36 138 set array values from index 0;
#X text 309 129 sets two values from index 3, f 17;
#X text 30 39 Arrays have methods to set their values explicitly. Below you can set their "bounds" rectangles \, rename them (but if you have two with the same name this won't necessarily do what you want) and add markings. To set values by message \, send a list whose first element gives the index to start at. Indices count up from zero., f 66;
#X msg 28 166 \; array98 0 -1 1 -1 1 -1 1 -1;
#X text 486 374 show/hide arrays:;
#X text 546 455 set line width;
#X text 751 483 set color;
#X floatatom 518 629 5 0 0 0 - - - 0;
#X msg 302 166 \; array97 3 -0.5 0.5;
#X msg 27 229 \; array97 rename george;
#X msg 231 229 \; george rename array97;
#X msg 28 296 \; array97 bounds 0 2 10 -2;
#X msg 255 294 \; array97 bounds 0 1 6 -1;
#X msg 29 395 \; array97 xticks 0 1 1;
#X msg 222 394 \; array97 yticks 0 0.1 5;
#X msg 30 478 \; array97 xlabel -1.1 0 1 2 3 4 5 6;
#X msg 281 478 \; array97 ylabel -0.1 -1 0 1;
#X msg 736 399 \; array97 vis \$1;
#N canvas 162 212 568 393 locality 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X array \$0-array 10 float 3;
#A 0 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -0.5;
#X coords 0 1 10 -1 200 140 1;
#X restore 68 112 graph;
#X obj 401 170 send \$0-array;
#X obj 319 105 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X msg 401 140 const 0.5;
#X msg 319 202 \; \$1-array const -0.5;
#X obj 319 154 float \$0;
#X text 38 292 You can use "\$0" in an array name wherever you want as above. If you need to send a message to the array \, use the [send] object or load the "\$0" in a [float] object and pass it to a message used as a send. This is because "\$0" doesn't get expanded in messages., f 69;
#X text 31 18 '\$0' - the patch ID number used to force locality in Pd - is widely used in send/receive names as well as array names. This is especially useful in abstractions so each copy has local names instead of global., f 70;
#X text 342 105 <-- click;
#X connect 2 0 5 0;
#X connect 3 0 1 0;
#X connect 5 0 4 0;
#X restore 262 627 pd locality;
#X text 114 613 open subpatch for local array names =>, f 20;
#X msg 693 615 0;
#X msg 683 578 1;
#X text 716 572 allow editing with mouse, f 13;
#X text 722 608 prevent mouse interaction, f 14;
#X msg 683 645 \; array97 edit \$1 \; array98 edit \$1;
#X text 487 209 You can put more than one array in a single "graph" (which is Pd's name for the bounding rectangle \, and is a synonym for "canvas".) Arrays' sizes need not match the bounds of the containing graph. But if you resize an array \, and if it is the only array contained in a graph \, then the graph automatically resets its bounds to match., f 52;
#X text 25 526 You can also change the x and y range and size in the "properties" dialog. Note that information about size and ranges is saved \, but ticks and labels are lost between Pd sessions. The contents of the array may be saved as part of the patch or discarded. This is set in the 'properties" dialog as well., f 62;
#X text 27 207 renaming an array;
#X text 26 276 setting the bounds rectangle;
#X text 103 439 adding labels: give a y value and a bunch of x values or vice versa, f 37;
#X text 25 342 adding x and y labels: give a point to put a tick \, the interval between ticks \, and the number of ticks overall per large tick;
#X text 44 670 updated for version 0.52;
#X obj 736 373 tgl 19 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000 0 1;
#X obj 518 563 vradio 19 1 0 3 empty empty empty 0 -10 0 12 #dfdfdf #000000 #000000 0;
#X text 542 563 Point (0);
#X text 542 582 Polygon (1);
#X text 542 602 Bezier (2);
#X text 512 533 set display style:;
#X obj 532 41 cnv 19 298 148 empty empty empty 20 12 0 12 #e0e0e0 #404040 0;
#N canvas 0 50 450 250 (subpatch) 0;
#X array array97 5 float 1;
#A 0 0.486666 0.126666 0.566675 -0.5 0.5;
#X array array98 7 float 1;
#A 0 -1 1 -1 1 -1 1 -1;
#X coords 0 1 6 -1 300 150 1 0 0;
#X restore 531 40 graph;
#X text 487 314 For last \, there are methods to change the visual appearance of arrays (and you can use a canvas [cnv] to set background color as in this example):, f 52;
#X msg 708 455 444;
#X connect 1 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 8 0 6 0;
#X connect 9 0 6 0;
#X connect 17 0 3 0;
#X connect 30 0 34 0;
#X connect 31 0 34 0;
#X connect 42 0 27 0;
#X connect 43 0 17 0;
#X connect 51 0 6 0;
