#N struct set-template float x float y symbol s;
#N canvas 609 23 568 698 12;
#X text 15 648 see also:;
#X obj 123 637 append;
#X obj 181 637 getsize;
#X obj 92 662 setsize;
#X obj 157 661 element;
#X msg 283 166 next;
#X floatatom 110 168 5 0 200 0 - - - 0;
#X floatatom 157 168 5 0 200 0 - - - 0;
#X obj 268 192 pointer;
#X text 322 167 output next item;
#X text 285 231 Remaining args are names of fields.;
#X obj 220 660 pointer;
#X msg 268 139 traverse pd-set-data \, next;
#N canvas 296 165 297 270 set-data 1;
#X scalar set-template 70 32 monkey \;;
#X scalar set-template 143 78 fish \;;
#X coords 0 270 1 269 0 0 0;
#X restore 407 562 pd set-data;
#N canvas 637 400 495 262 set-template 0;
#X obj 69 54 struct set-template float x float y symbol s;
#X text 45 18 a struct with x/y coordinate fields and a 's' symbol
field.;
#X text 102 103 draw a filled polygon;
#X text 100 179 drawing instruction for the 's' field;
#X obj 98 130 filledpolygon 9 0 1 0 30 20 30 20 60 0 60;
#X obj 138 210 drawsymbol s 25 50 0 s\ =\ ;
#X restore 407 584 pd set-template;
#X obj 110 218 set set-template x y, f 23;
#X text 51 168 x value;
#X text 197 167 y value;
#X obj 92 636 get;
#X obj 33 12 set;
#X msg 340 335 next;
#X obj 326 361 pointer;
#X msg 326 309 traverse pd-set-data \, next;
#X obj 148 392 set -symbol set-template s;
#X symbolatom 148 364 10 0 0 0 - - - 0;
#X msg 148 311 symbol monkey;
#X msg 156 337 symbol fish;
#X text 346 664 updated for Pd version 0.47;
#X text 25 423 You can use the template "-" as a wild card (this may
be slower than if you use a specific template name). Also \, if there
are zero or one fields specified \, you can send a "set" message to
set a new template name and field name:, f 73;
#X obj 122 570 set - x;
#X obj 243 588 set;
#X floatatom 122 543 5 0 0 0 - - - 0;
#X msg 168 488 traverse pd-set-data \, next;
#X obj 168 512 pointer;
#X floatatom 243 529 5 0 0 0 - - - 0;
#X msg 307 525 set set-template x;
#X msg 306 552 set - x;
#X text 284 216 First argument sets template.;
#X text 49 138 output first scalar in list =>;
#X obj 157 192 t b f;
#X text 64 12 - set values in a scalar;
#X text 486 10 <= click;
#N canvas 743 102 571 442 reference 0;
#X obj 8 52 cnv 5 550 5 empty empty INLETS: 8 18 0 13 #202020 #000000
0;
#X obj 8 260 cnv 2 550 2 empty empty OUTLETS: 8 12 0 13 #202020 #000000
0;
#X obj 8 297 cnv 2 550 2 empty empty ARGUMENT: 8 12 0 13 #202020 #000000
0;
#X obj 7 416 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000
0;
#X obj 7 166 cnv 1 550 1 empty empty 'n': 8 12 0 13 #7c7c7c #000000
0;
#X text 54 169 number of arguments set 'n' fields and we create 'n'
inlets for them., f 70;
#X obj 7 220 cnv 1 550 1 empty empty rightmost: 8 12 0 13 #7c7c7c #000000
0;
#X text 111 368 symbol - structure name., f 49;
#X text 125 388 list - symbols for field names (each creates an inlet).
;
#X obj 28 18 set;
#X text 59 18 - set values in a scalar;
#X text 136 195 float/symbol - value in a scalar., f 42;
#X text 113 230 pointer - a pointer to the scalar.;
#X text 129 268 none;
#X obj 7 88 cnv 1 550 1 empty empty 1st: 8 12 0 13 #7c7c7c #000000
0;
#X text 26 122 set <symbol \, symbol> -;
#X text 187 122 if none or just one field is given \, you can use 'set'
to set struct name and field., f 47;
#X obj 7 322 cnv 1 550 1 empty empty flags: 8 12 0 13 #7c7c7c #000000
0;
#X obj 7 361 cnv 1 550 1 empty empty args: 8 12 0 13 #7c7c7c #000000
0;
#X text 111 332 "-symbol" - so you can set symbol values.;
#X text 138 100 bang - set values with previously given data., f 54
;
#X restore 392 10 pd reference;
#X obj 9 41 cnv 1 550 1 empty empty empty 8 12 0 13 #000000 #000000
0;
#X obj 9 622 cnv 1 550 1 empty empty empty 8 12 0 13 #000000 #000000
0;
#X obj 242 638 text set;
#X obj 312 638 array set;
#X text 20 49 [set] takes a pointer to a scalar in its rightmost inlet.
The remaining inlets set fields values for floats and symbols (no text
\, in which case you should use [text set]). Arrays are accessed using
the [element] object \, but you can also use [array set] instead. Only
the leftmost inlet is "hot" and it also takes "bang" messages., f
73;
#X text 27 257 To set fields whose values are symbols \, give the set
object the "-symbol" argument. (Unfortunately \, you can't mix symbols
and numbers in the same [set] object.), f 73;
#X connect 5 0 8 0;
#X connect 6 0 15 0;
#X connect 7 0 39 0;
#X connect 8 0 15 2;
#X connect 12 0 8 0;
#X connect 20 0 21 0;
#X connect 21 0 23 1;
#X connect 22 0 21 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 26 0 24 0;
#X connect 31 0 29 0;
#X connect 32 0 33 0;
#X connect 33 0 30 1;
#X connect 33 0 29 1;
#X connect 34 0 30 0;
#X connect 35 0 30 0;
#X connect 36 0 30 0;
#X connect 39 0 15 0;
#X connect 39 1 15 1;
