#N struct grob-lib-x float x float y array numbers num-x;
#N struct num-x float y float x;
#N canvas 399 173 763 587 12;
#X text 26 17 An Array's Alphabet: X \, Y \, W;
#X text 53 111 A field "y" is required as we have seen. What happens
if we add a field called "x" as well?;
#N canvas 0 0 450 300 paint 1;
#X scalar grob-lib-x -53 200 \; -100 10 \; -70 94 \; -69 184 \; \;
;
#X restore 444 16 pd paint;
#X msg 490 168 bang;
#X msg 582 169 clear;
#X obj 582 200 s pd-paint;
#X text 76 168 <----------------;
#X text 311 166 <----------------;
#X text 536 167 <--;
#X obj 261 203 x-append pd-paint grob-lib-x;
#X obj 32 245 setsize grob-lib-x numbers;
#X floatatom 133 409 5 0 0 0 change-x - -;
#X obj 227 333 element grob-lib-x numbers;
#X obj 133 438 set num-x x;
#X msg 261 168 100;
#X obj 227 312 hradio 15 1 0 8 empty empty select-array-element 0 -10
1 12 -262144 -1 -1 2;
#X text 33 291 |;
#X text 33 271 |;
#X text 54 56 Array definitions inside a struct behave differently
\, if the array elements contain fields named "x \, " "y" and/or "w".
;
#X floatatom 52 220 5 0 8 0 - - -;
#X msg 32 168 8;
#X obj 105 359 get num-x x;
#X msg 105 386 set \$1;
#X text 41 310 --------------->;
#X text 44 493 "float x" in element definitions will let the "plot"
insttruction ignore any fixed x-spacing specified and will let the
elements provide their x-location themselves.;
#X connect 3 0 9 1;
#X connect 4 0 5 0;
#X connect 9 0 10 1;
#X connect 9 0 12 1;
#X connect 11 0 13 0;
#X connect 12 0 13 1;
#X connect 12 0 21 0;
#X connect 14 0 9 0;
#X connect 15 0 12 0;
#X connect 19 0 10 0;
#X connect 20 0 10 0;
#X connect 21 0 22 0;
#X connect 22 0 11 0;
