#N canvas 299 40 1035 644 12;
#X obj 558 180 table;
#X obj 560 552 table help-tab1 25;
#N canvas 1 51 450 300 (subpatch) 0;
#X restore 61 24 pd;
#X text 91 23 - subpatch;
#X obj 766 609 array;
#N canvas 307 173 430 250 foo 0;
#X obj 141 41 inlet;
#X obj 144 171 outlet;
#X obj 221 41 inlet~;
#X obj 224 171 outlet~;
#X text 57 88 this is the subpatch window. Use "inlet" and "outlet" objects to create inlets/outlets on the parent window., f 44;
#X restore 140 314 pd foo;
#X text 812 603 (newer and better replacement for "table")., f 26;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 200 140 1;
#X restore 61 60 graph;
#X text 271 65 - graph (subpatch with graph on parent), f 21;
#N canvas 0 22 450 278 (subpatch) 0;
#X array array1 100 float 3;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 1 100 -1 200 140 1;
#X restore 558 24 graph;
#X text 495 236 The put menu allows you to create an array \, which needs a graph to be displayed. At creation \, you can specify if you want the array to be included in a new graph or in a graph previously created., f 67;
#X text 770 33 - graphical array of numbers (a graph with an array), f 28;
#X text 426 607 updated for Pd version 0.52;
#N canvas 681 242 263 185 (subpatch) 0;
#X obj 137 59 bng 30 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X floatatom 60 63 5 0 0 0 - - - 16;
#X obj 60 136 outlet;
#X obj 60 13 inlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 3 0 1 0;
#X coords 0 1 100 -1 130 50 1 50 50;
#X restore 230 454 graph;
#N canvas 0 22 450 278 (subpatch) 0;
#X array array2 100 float 3;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 1 100 -1 200 140 1;
#X restore 476 328 graph;
#X text 698 316 For details on how to work with arrays \, click and open the files below from the '2.control' examples., f 39;
#X text 22 609 see also:;
#X obj 96 609 inlet;
#X obj 142 609 namecanvas;
#X text 690 608 see also:;
#X obj 223 609 pd-messages;
#X obj 7 215 cnv 1 1020 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 6 590 cnv 1 1020 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#N canvas 333 270 612 194 reference 0;
#X obj 8 105 cnv 2 590 2 empty empty ARGUMENT: 8 12 0 13 #202020 #000000 0;
#X obj 7 54 cnv 5 590 5 empty empty INLETS/OUTLETS: 8 18 0 13 #202020 #000000 0;
#N canvas 131 166 450 300 (subpatch) 0;
#X restore 26 18 pd;
#X text 73 18 - subpatch / graph;
#X obj 7 160 cnv 5 590 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 109 116 1) symbol -;
#X text 178 69 depends on inlet(~)/outlet(~) objects;
#X text 193 116 sets the subpatch name that you can use to send messages to (see 'dynamic patching' in 'pd-messages' file)., f 56;
#X restore 286 151 pd reference;
#X text 889 104 <= click;
#N canvas 631 72 735 570 reference 0;
#X obj 14 122 cnv 2 700 2 empty empty METHODS: 8 12 0 13 #202020 #000000 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X array array3 10 float 3;
#A 0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 1 10 -1 90 35 1 0 0;
#X restore 56 26 graph;
#X text 156 36 - graphical array (messages received via array name);
#X obj 13 541 cnv 5 700 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 161 130 list - sets values into array \, fisty element is starting index (from 0)., f 74;
#X text 98 147 const <float> - optional float sets a constant value to all indexes (default 0)., f 83;
#X text 91 164 resize <float> - resizes the array., f 84;
#X text 91 185 sinesum <list> -;
#X text 210 181 first element sets array size \, remaining elements set amplitude of sine components., f 67;
#X text 77 218 cosinesum <list> -;
#X text 210 212 first element sets array size \, remaining elements set amplitude of cosine components., f 67;
#X text 154 243 print - prints array information (name \, type \, size) on the terminal window., f 75;
#X text 98 291 read <symbol> - load contents from a text file with the symbol name., f 83;
#X text 91 309 write <symbol> - save contents to a text file with the symbol name., f 84;
#X text 84 327 rename <symbol> - renames the array to a new name defined by the given symbol., f 85;
#X text 98 345 bounds <list> - sets rectangle bounds (xmin \, ymax \, xmax \, ymin)., f 83;
#X text 112 446 vis <float> - zero hides array \, non zero shows it., f 81;
#X text 98 463 width <float> - sets array's width (default 1)., f 83;
#X text 98 480 color <float> - sets array color in the same format as Data Structures., f 83;
#X text 105 515 edit <float> - non zero allows editing with the mouse \, zero prevents it., f 82;
#X text 98 497 style <float> - sets display style (0-point \, 1-polygon \, 2-bezier)., f 83;
#X text 70 260 normalize <float> -;
#X text 210 260 normalizes to maximum absolute amplitude set by optional float (default 1)., f 67;
#X text 98 363 xticks <list> -;
#X text 210 362 sets a point to put a tick \, the interval between ticks \, and the number of ticks overall per large tick., f 67;
#X text 98 394 yticks <list> - same as above for the 'y' axis., f 83;
#X text 91 412 xlabels <list> - first element is a label offset \, remaining are the values to label., f 84;
#X text 91 429 ylabels <list> - first element is a label offset \, remaining are the values to label., f 84;
#X obj 13 76 cnv 5 700 5 empty empty INLETS/OUTLETS: 8 18 0 13 #202020 #000000 0;
#X text 164 90 NONE (input is via send names).;
#X restore 795 104 pd reference;
#X text 604 179 - subpatch with array;
#X text 891 179 <= click;
#N canvas 786 245 483 218 reference 0;
#X obj 36 18 table;
#X text 93 18 - subpatch with array;
#X obj 8 131 cnv 2 460 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X obj 7 50 cnv 5 460 5 empty empty INLETS: 8 18 0 13 #202020 #000000 0;
#X obj 7 193 cnv 5 460 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 116 142 1) symbol -;
#X obj 7 88 cnv 2 460 2 empty empty OUTLETS: 8 12 0 13 #202020 #000000 0;
#X text 153 62 NONE;
#X text 153 102 NONE;
#X text 123 162 2) float -;
#X text 202 142 sets array name (default internal).;
#X text 202 162 sets array size (default 100).;
#X restore 797 180 pd reference;
#N canvas 491 316 457 285 open 0;
#X obj 120 23 inlet;
#X obj 173 121 pdcontrol;
#X msg 173 94 dir;
#X obj 120 181 pack s s;
#X obj 173 64 loadbang;
#X msg 120 212 \; pd open \$1 \$2;
#X obj 173 151 makefilename %s/../2.control.examples;
#X connect 0 0 3 0;
#X connect 1 0 6 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 2 0;
#X connect 6 0 3 1;
#X restore 710 436 pd open;
#X msg 710 381 15.array.pd;
#X msg 720 407 16.more.arrays.pd;
#X text 702 552 <-- optional creation args: name \, size;
#X text 380 151 <= click;
#X text 197 315 <-- click to open;
#X text 22 232 A 'canvas' is a patch window. By typing "pd" into an object box \, you create a subpatch (or 'subwindow'). An optional argument sets the subpatch name. Click to open and right click on it to access its canvas properties., f 55;
#X text 24 352 With the put menu \, you can create a 'graph' \, which is a subpatch with the canvas properties set to "graph on parent". This creates a rectangular subregion of the canvas' window in which you can display GUIs \, comments \, arrays and data structures scalars. Below we have a graph displaying a couple of GUI objects., f 55;
#X text 58 473 right click to open -->;
#X text 15 522 You can send messages to the canvas of a subpatch by sending them to the subpatch's name \, which is useful for Dynamic Patching (see [pd-messages] below). Alernatively \, you can also use the namecanvas object., f 66;
#X text 802 382 <-- click to open examples.;
#X text 540 498 [table] builds a subpatch with an array inside \, but the array contents (and other properties) aren't saved with the patch., f 62;
#X connect 30 0 29 0;
#X connect 31 0 29 0;
