Hi list,
The patch below (unic-table.pd and the abstraction dyn-tabwrite.pd)
is for making, writing in and reading a table with internal messages,
using [tabwrite].
I am having pain to find a solution for doing the same thing with [tabwrite~],
maybe someone in pd-list knows how to resolve this problem?
dyn-tabwrite.pd
#N canvas 0 0 466 316 12;
#X obj 183 129 tabwrite \$1;
#X obj 183 90 r \$1-g;
#X obj 266 88 r \$1-d;
#X obj 64 129 table \$1;
#X obj 182 212 tabread \$1;
#X obj 182 173 r \$1-read;
#X obj 182 249 s \$2-table-out;
#X connect 1 0 0 0;
#X connect 2 0 0 1;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
unic-table.pd
#N canvas 12 29 942 620 10;
#N canvas 479 231 490 340 1002-array 0;
#X obj 1 1 dyn-tabwrite 1002-test 1002;
#X obj 1 21 dyn-tabwrite 1002-test2 1002;
#X restore 43 444 pd
\$0-array;
#X symbolatom 83 21 10 0 0 0 - - -;
#X obj 43 120 makesymbol;
#X msg 98 96 symbol \$1-%s;
#X obj 118 66 i \$0;
#X obj 83 40 t a b;
#X obj 43 179 i \$0;
#X obj 43 234 makefilename pd-%d-array;
#X obj 43 149 t b b a;
#X obj 68 211 i 1;
#X obj 99 210 + 20;
#X msg 401 292 \; \$3-g \$1 \; \$3-d \$2;
#X obj 401 255 pack f f s;
#X symbolatom 476 198 10 0 0 0 - - -;
#X floatatom 354 129 5 0 0 0 value - -;
#X floatatom 429 128 5 0 0 0 index - -;
#X symbolatom 516 32 10 0 0 0 - - -;
#X obj 476 144 makesymbol;
#X msg 551 117 symbol \$1-%s;
#X obj 551 90 i \$0;
#X obj 516 64 t a b;
#X obj 197 212 loadbang;
#X msg 197 281 \; \$1 clear;
#X obj 197 236 i \$0;
#X obj 197 260 makefilename pd-%d-array;
#X obj 178 129 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 102 187 1;
#X text 174 112 reset;
#X text 196 193 clear
array at loading;
#X symbolatom 688 226 10 0 0 0 - - -;
#X symbolatom 728 60 10 0 0 0 - - -;
#X obj 688 172 makesymbol;
#X msg 763 145 symbol \$1-%s;
#X obj 763 118 i \$0;
#X obj 728 92 t a b;
#X msg 645 297 \; \$2-read \$1;
#X obj 645 260 pack f s;
#X floatatom 645 202 5 0 0 0 index - -;
#X text 377 85 write in table;
#X text 84 1 make a table;
#X text 506 6 write in this table;
#X text 718 34 read this table;
#X obj 43 295 pack s f s f;
#X msg 43 323 \; \$1 obj 1 \$2 dyn-tabwrite \$3 \$4;
#X obj 645 336 r \$0-table-out;
#X floatatom 645 362 5 0 0 0 value - -;
#X connect 1 0 5 0;
#X connect 2 0 8 0;
#X connect 2 0 13 0;
#X connect 3 0 2 1;
#X connect 4 0 3 0;
#X connect 4 0 42 3;
#X connect 5 0 2 0;
#X connect 5 1 4 0;
#X connect 6 0 7 0;
#X connect 7 0 42 0;
#X connect 8 0 6 0;
#X connect 8 1 9 0;
#X connect 8 2 42 2;
#X connect 9 0 10 0;
#X connect 9 0 42 1;
#X connect 10 0 9 1;
#X connect 12 0 11 0;
#X connect 13 0 12 2;
#X connect 13 0 29 0;
#X connect 14 0 12 0;
#X connect 15 0 12 1;
#X connect 16 0 20 0;
#X connect 17 0 13 0;
#X connect 18 0 17 1;
#X connect 19 0 18 0;
#X connect 20 0 17 0;
#X connect 20 1 19 0;
#X connect 21 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 22 0;
#X connect 25 0 23 0;
#X connect 25 0 26 0;
#X connect 26 0 9 1;
#X connect 29 0 36 1;
#X connect 30 0 34 0;
#X connect 31 0 29 0;
#X connect 32 0 31 1;
#X connect 33 0 32 0;
#X connect 34 0 31 0;
#X connect 34 1 33 0;
#X connect 36 0 35 0;
#X connect 37 0 36 0;
#X connect 42 0 43 0;
#X connect 44 0 45 0;