#N struct template5 float x float y float z float q array bazoo template5-element
;
#N struct template5-element float y;
#N canvas 289 38 677 506 12;
#X obj 69 364 pointer;
#X msg 80 331 bang;
#X floatatom 263 339 4 0 0 0 - - - 0;
#X obj 463 231 pointer;
#X obj 414 165 pointer;
#X msg 463 199 bang;
#N canvas 1003 69 348 217 data5 1;
#X scalar template5 50 80 30 9 \; 0 \; 0 \; 0 \; 0 \; 0 \; 0 \; 0 \;
0 \; 0 \; 30 \; 0 \; 7 \; 0 \; 0 \; 0 \; 3 \; 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 \; -43 \; 0 \;
0 \; 0 \; 0 \; \;;
#X restore 470 331 pd data5;
#N canvas 111 285 543 337 template5 0;
#X obj 64 156 filledpolygon 244 q 3 0 0 20 z 40 0;
#X text 54 70 this declares an array named "bazoo" whose elements are
described by "template5-element." Array declarations take three arguments
while "float" declarations take only two.;
#X text 62 213 Here we ask to plot the array \, color 700 \, line width
3 \, starting location (30 \, 10) relative to the scalar \, points
spaced 4 apart.;
#X text 63 263 You can also do (x \, y) plots and/or make the line
thickness variable---see the help window for "plot".;
#X obj 54 26 struct template5 float x float y float z float q array
bazoo template5-element;
#X obj 64 185 plot bazoo 700 3 30 40 4;
#X restore 470 354 pd template5;
#N canvas 324 441 479 188 template5-element 0;
#X text 24 59 This says that array elements will have a single floating-point
number named "y". The variable name "y" is automatically assumed to
control screen height \; if you don't have at least that variable you
can't plot the array..;
#X obj 44 18 struct template5-element float y;
#X restore 470 377 pd template5-element;
#N canvas 550 273 528 468 stuff 0;
#X obj 274 149 pointer;
#X msg 109 34 bang;
#X text 149 33 click here to re-initialize;
#X obj 109 176 append template5 x y z q;
#X msg 293 71 \; pd-data5 clear;
#X msg 274 126 traverse pd-data5 \, bang;
#X msg 235 250 50;
#X obj 235 278 setsize template5 bazoo;
#X floatatom 109 362 4 0 0 0 - - - 0;
#X obj 109 424 set template5-element y;
#X obj 267 390 element template5 bazoo;
#X msg 109 109 50 80 30 9;
#X obj 109 75 trigger bang bang bang;
#X obj 109 214 trigger bang bang pointer, f 45;
#X obj 109 327 unpack float float;
#X msg 109 248 3 15 \, 7 11 \, 30 9 \, -43 45, f 6;
#X floatatom 267 362 4 0 0 0 - - - 0;
#X connect 0 0 3 4;
#X connect 1 0 12 0;
#X connect 3 0 13 0;
#X connect 5 0 0 0;
#X connect 6 0 7 0;
#X connect 8 0 9 0;
#X connect 10 0 9 1;
#X connect 11 0 3 0;
#X connect 12 0 11 0;
#X connect 12 1 5 0;
#X connect 12 2 4 0;
#X connect 13 0 15 0;
#X connect 13 1 6 0;
#X connect 13 2 7 1;
#X connect 13 2 10 1;
#X connect 14 0 8 0;
#X connect 14 1 16 0;
#X connect 15 0 14 0;
#X connect 16 0 10 0;
#X restore 470 400 pd stuff;
#X msg 414 142 traverse pd-data5 \, next;
#X obj 463 254 getsize template5 bazoo;
#X obj 256 231 setsize template5 bazoo;
#X obj 263 366 set template5-element y;
#X obj 69 389 get template5-element y;
#X obj 69 231 element template5 bazoo;
#X text 87 22 Scalars may contain arrays \, and moreover the elements
of an array can be of any scalar type (and can have sub-arrays recursively.)
The type of the element of an array is fixed in the template. In this
case \, "template5" contains the definition of the top-level scalar
and "template5-element" is the template of each array element (see
the template subpatch.), f 73;
#X text 424 123 click to get pointer;
#X text 499 197 get size;
#X text 245 160 set size;
#X text 128 206 template5;
#X text 263 403 work as before \, but on;
#X text 263 420 array elements...;
#X text 263 388 normal "set" and "get";
#X text 65 143 select an individual element \, which is a scalar with
template, f 20;
#X floatatom 463 278 4 0 0 0 - - - 0;
#X floatatom 256 185 4 0 0 0 - - - 0;
#X floatatom 69 202 4 0 0 0 - - - 0;
#X floatatom 69 415 4 0 0 0 - - - 0;
#X text 447 462 Updated for version Pd 0.35;
#X connect 0 0 14 0;
#X connect 1 0 0 0;
#X connect 2 0 13 0;
#X connect 3 0 11 0;
#X connect 4 0 12 1;
#X connect 4 0 15 1;
#X connect 4 0 3 0;
#X connect 5 0 3 0;
#X connect 10 0 4 0;
#X connect 11 0 25 0;
#X connect 14 0 28 0;
#X connect 15 0 0 0;
#X connect 15 0 13 1;
#X connect 26 0 12 0;
#X connect 27 0 15 0;
