On Sat, Nov 9, 2013 at 6:42 PM, Julian Brooks <jbeezez@gmail.com> wrote:
Michael - would you mind knocking up a quick example

This seems to work (roughly) so far as I understand Peiman's original request correctly. I can't vouch for it being the most efficient or bug-free solution. It polls the buffer array using a metro counter so that changes to the active table are updated on the fly. Switching the active table just dumps that table to the buffer array.



#N canvas 555 248 450 300 10;
#N canvas 553 638 450 300 gui 0;
#N canvas 1 52 450 250 (subpatch) 0;
#X array buffer 100 float 3;
#A 0 -0.585714 -0.585714 -0.585714 -0.585714 -0.585714 -0.585714 -0.585714
-0.585714 -0.585714 -0.585714 -0.585714 -0.585714 -0.585714 -0.585714
-0.585714 -0.585714 -0.585714 -0.585714 -0.585714 -0.585714 -0.571428
-0.571428 -0.571428 -0.557143 -0.557143 -0.557143 -0.557143 -0.557143
-0.557143 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857 -0.542857
-0.542857 -0.471428;
#X coords 0 1 99 -1 200 140 1;
#X restore 100 50 graph;
#X obj 100 211 hradio 25 1 0 8 tablenum empty empty 0 -8 0 10 -262144
-1 -1 0;
#X coords 0 -1 1 1 200 200 2 100 50;
#X restore 48 70 pd gui;
#N canvas 1 52 450 300 tables 1;
#X obj 46 27 table x1;
#X obj 46 49 table x2;
#X obj 46 71 table x3;
#X obj 46 93 table x4;
#X obj 46 115 table x5;
#X obj 46 137 table x6;
#X obj 46 159 table x7;
#X obj 46 181 table x8;
#X restore 294 68 pd tables;
#N canvas 1048 269 755 530 guts 0;
#X obj 236 18 r tablenum;
#X msg 302 101 set x\$1;
#X obj 399 324 tabread;
#X obj 270 82 + 1;
#X obj 461 322 tabwrite;
#X obj 271 332 t f f;
#X obj 292 437 tabwrite buffer;
#X obj 327 393 swap;
#X obj 222 135 metro 1;
#X obj 222 165 f 0;
#X obj 274 182 + 1;
#X msg 85 156 0;
#X obj 181 234 sel 99;
#X obj 222 203 t f f;
#X obj 584 137 f 0;
#X obj 636 154 + 1;
#X obj 588 191 mod 100;
#X obj 600 233 t f f;
#X obj 515 294 tabread buffer;
#X obj 593 64 loadbang;
#X obj 398 246 t a a;
#X msg 515 54 1;
#X msg 545 19 0;
#X obj 584 107 metro 1;
#X obj 236 54 t b f b;
#X obj 128 96 t b f f;
#X connect 0 0 24 0;
#X connect 1 0 20 0;
#X connect 2 0 7 1;
#X connect 3 0 1 0;
#X connect 5 0 7 0;
#X connect 5 1 2 0;
#X connect 7 0 6 0;
#X connect 7 1 6 1;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 9 0 13 0;
#X connect 10 0 9 1;
#X connect 11 0 25 0;
#X connect 12 0 11 0;
#X connect 13 0 12 0;
#X connect 13 1 5 0;
#X connect 14 0 15 0;
#X connect 14 0 16 0;
#X connect 15 0 14 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 17 1 4 1;
#X connect 18 0 4 0;
#X connect 19 0 23 0;
#X connect 20 0 2 0;
#X connect 20 1 4 0;
#X connect 21 0 23 0;
#X connect 22 0 23 0;
#X connect 23 0 14 0;
#X connect 24 0 8 0;
#X connect 24 1 3 0;
#X connect 24 2 22 0;
#X connect 25 0 21 0;
#X connect 25 1 9 1;
#X connect 25 2 8 0;
#X restore 299 138 pd guts;