#N canvas 185 142 1018 468 10;
#X text 615 31 Data structures:;
#X text 614 156 This gets saves with the patch \, if needed;
#N canvas 0 0 529 303 \$0-sym 0;
#X text 75 124 Just a symbol \, which will store a symbolc called name.
Intended to be used as array elements in symarray.;
#X obj 143 82 struct \$0-sym symbol name float on;
#X restore 616 58 pd \$0-sym;
#N canvas 312 519 836 304 \$0-symarray 0;
#X obj 138 64 struct \$0-symarray float x array symbols \$0-sym;
#X obj 142 183 drawpolygon 900 1 0 0 0 10 10 10 10 0 0 0;
#X text 119 159 Just something to click on and open the builtinn editor.
;
#X text 122 109 The interesting bit here is the "symbols" array which
stores an array of "\$0-sym" items that in turn have "name"s;
#X restore 616 82 pd \$0-symarray;
#N canvas 0 0 450 300 \$0-data 0;
#X restore 617 133 pd \$0-data;
#X obj 447 335 r \$0-symarray-p;
#X obj 261 360 element \$0-symarray symbols;
#N canvas 0 0 619 485 init 0;
#X obj 213 251 pointer;
#X obj 76 325 pointer;
#X msg 89 305 bang;
#X msg 227 143 clear;
#X msg 76 249 0;
#X text 131 304 resend;
#X msg 213 226 traverse \$1 \, bang;
#X obj 213 198 symbol pd-\$0-data;
#X obj 76 275 append \$0-symarray x;
#X obj 76 345 s \$0-symarray-p;
#X obj 76 30 loadbang;
#X obj 227 167 s pd-\$0-data;
#X obj 76 83 t b b b;
#X text 274 254 where to create? In [pd \$0-data]!;
#X obj 88 54 r \$0-reset;
#X connect 0 0 8 1;
#X connect 1 0 9 0;
#X connect 2 0 1 0;
#X connect 3 0 11 0;
#X connect 4 0 8 0;
#X connect 6 0 0 0;
#X connect 7 0 6 0;
#X connect 8 0 1 0;
#X connect 10 0 12 0;
#X connect 12 0 4 0;
#X connect 12 1 7 0;
#X connect 12 2 3 0;
#X connect 14 0 12 0;
#X restore 494 56 pd init;
#X obj 61 54 inlet;
#X obj 320 50 inlet;
#X obj 61 194 list trim;
#X obj 61 342 s \$0-reset;
#X text 59 23 lookup data by index;
#X text 252 24 add data. syntax: <index> <symbol to store>;
#N canvas 416 246 542 307 change-size 0;
#X obj 98 158 max;
#X obj 131 158 f;
#X obj 98 25 inlet;
#X obj 98 218 setsize \$0-symarray symbols;
#X obj 284 191 r \$0-symarray-p;
#X obj 98 189 change -1;
#X obj 116 79 r \$0-reset;
#X obj 116 99 t b b;
#X msg 167 160 set -1;
#X obj 98 51 + 1;
#X msg 116 120 0;
#X obj 61 251 s \$0-size;
#X connect 0 0 1 0;
#X connect 0 0 5 0;
#X connect 1 0 0 1;
#X connect 2 0 9 0;
#X connect 4 0 3 1;
#X connect 5 0 3 0;
#X connect 5 0 11 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 7 1 8 0;
#X connect 8 0 5 0;
#X connect 9 0 0 0;
#X connect 10 0 0 1;
#X restore 384 184 pd change-size;
#X obj 320 154 t b f f;
#N canvas 0 0 611 287 set-symbol 0;
#X obj 91 44 inlet;
#X obj 249 60 inlet;
#X obj 435 97 r \$0-symarray-p;
#X obj 249 119 element \$0-symarray symbols;
#X obj 91 151 set -symbol \$0-sym name;
#X obj 123 216 set \$0-sym on;
#X obj 91 102 t a b;
#X msg 123 193 1;
#X connect 0 0 6 0;
#X connect 1 0 3 0;
#X connect 2 0 3 1;
#X connect 3 0 4 1;
#X connect 3 0 5 1;
#X connect 6 0 4 0;
#X connect 6 1 7 0;
#X connect 7 0 5 0;
#X restore 320 233 pd set-symbol;
#X obj 261 437 outlet;
#X obj 320 109 list split 1;
#X obj 320 186 list;
#X msg 494 81 clear;
#X obj 494 105 s pd-\$0-data;
#N canvas 0 0 581 539 print 0;
#X obj 64 205 max;
#X obj 64 27 inlet;
#X obj 64 230 until;
#X obj 64 266 f;
#X obj 97 264 + 1;
#X msg 112 231 0;
#X obj 303 296 r \$0-symarray-p;
#X obj 117 321 element \$0-symarray symbols;
#X obj 64 290 t f f;
#X obj 265 146 print -n;
#X obj 265 103 symbol \$0-symarray;
#X msg 265 124 --------- symbolarray: \$1 contents ---;
#X obj 64 439 print -n;
#X obj 110 108 r \$0-symarray-p;
#X obj 64 151 getsize \$0-symarray symbols;
#X obj 64 131 pointer;
#X obj 64 65 t b b;
#X obj 64 178 t a b;
#X obj 117 349 get \$0-sym name on;
#X obj 64 411 pack 0 s 0;
#X connect 0 0 2 0;
#X connect 1 0 16 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 8 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 7 1;
#X connect 7 0 18 0;
#X connect 8 0 19 0;
#X connect 8 1 7 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 13 0 15 1;
#X connect 14 0 17 0;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 16 1 10 0;
#X connect 17 0 0 0;
#X connect 17 1 5 0;
#X connect 18 0 19 1;
#X connect 18 1 19 2;
#X connect 19 0 12 0;
#X restore 111 321 pd print;
#X text 614 112 Here we create our symbolarray;
#X obj 320 211 route symbol;
#X obj 320 86 list split 2;
#N canvas 228 198 627 317 LICENSE-BSD 0;
#X text 121 56 This software is copyrighted by Miller Puckette \, Reality
Jockey Ltd. and others. The terms (the "Standard Improved BSD License")
apply to all files associated with the software unless explicitly disclaimed
in individual files.;
#X text 123 148 See the file LICENSE.txt for the full license text.
;
#X restore 811 36 pd LICENSE-BSD;
#X obj 261 382 get \$0-sym name on;
#X obj 261 412 spigot;
#N canvas 184 84 581 539 dump 0;
#X obj 64 205 max;
#X obj 64 27 inlet;
#X obj 64 230 until;
#X obj 64 266 f;
#X obj 97 264 + 1;
#X msg 112 231 0;
#X obj 303 296 r \$0-symarray-p;
#X obj 117 321 element \$0-symarray symbols;
#X obj 64 290 t f f;
#X obj 110 108 r \$0-symarray-p;
#X obj 64 151 getsize \$0-symarray symbols;
#X obj 64 131 pointer;
#X obj 64 65 t b b;
#X obj 64 178 t a b;
#X obj 117 349 get \$0-sym name on;
#X obj 64 479 outlet;
#X obj 64 455 spigot;
#X obj 64 411 pack 0 s;
#X connect 0 0 2 0;
#X connect 1 0 12 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 8 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 7 1;
#X connect 7 0 14 0;
#X connect 8 0 17 0;
#X connect 8 1 7 0;
#X connect 9 0 11 1;
#X connect 10 0 13 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
#X connect 13 0 0 0;
#X connect 13 1 5 0;
#X connect 14 0 17 1;
#X connect 14 1 16 1;
#X connect 16 0 15 0;
#X connect 17 0 16 0;
#X restore 161 283 pd dump;
#X obj 503 429 outlet;
#X obj 61 221 route reset print dump delete;
#N canvas 0 0 487 317 del 0;
#X obj 261 87 r \$0-symarray-p;
#X obj 75 112 element \$0-symarray symbols;
#X obj 75 175 set \$0-sym on;
#X obj 75 141 list prepend 0;
#X obj 75 88 f;
#X obj 75 62 inlet;
#X connect 0 0 1 1;
#X connect 1 0 3 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
#X restore 211 243 pd del;
#X obj 314 256 r \$0-size;
#X floatatom 314 282 5 0 0 0 - - -;
#X obj 261 283 moses;
#X obj 261 258 f;
#X connect 5 0 6 1;
#X connect 6 0 27 0;
#X connect 8 0 10 0;
#X connect 9 0 25 0;
#X connect 10 0 31 0;
#X connect 15 0 19 0;
#X connect 15 1 16 1;
#X connect 15 2 14 0;
#X connect 18 0 15 0;
#X connect 18 1 19 1;
#X connect 18 2 19 1;
#X connect 19 0 24 0;
#X connect 20 0 21 0;
#X connect 24 0 16 0;
#X connect 25 0 18 0;
#X connect 27 0 28 0;
#X connect 27 1 28 1;
#X connect 28 0 17 0;
#X connect 29 0 30 0;
#X connect 31 0 11 0;
#X connect 31 1 22 0;
#X connect 31 2 29 0;
#X connect 31 3 32 0;
#X connect 31 4 36 0;
#X connect 33 0 35 1;
#X connect 33 0 34 0;
#X connect 35 0 6 0;
#X connect 36 0 35 0;
