[PD] content of table is saved in Pd-extended?? was: " get the values of an array as a list"

Frank Barknecht fbar at footils.org
Fri Jan 22 11:29:55 CET 2010


Hallo,
Roman Haefeli hat gesagt: // Roman Haefeli wrote:

> No, I really mean the [table] object. I am irritated, that in
> Pd-extended its content is saved with the patch, which is not the case
> on Pd-vanilla. I wonder, if there is really no way not to save table
> data in Pd-extended.

It wasn't the table content, that was saved in your patch, it was the message box
that you use to achieve the speed-up. It was still filled when you've saved the patch. :)

Anyway I think, even when dynamically changing message boxes has the danger 
of being fooled by this kind of side effects, the optimization results are often worth
it. I've added the attached version of [list-tabdump] to the Sourceforge SVN now.

Ciao
-- 
Frank
-------------- next part --------------
#N canvas 303 65 881 635 10;
#X msg 618 57 0 1 2 3 4 5 6 7 8 9 10;
#X obj 618 34 loadbang;
#X msg 39 126 bang;
#X obj 39 384 print dump;
#X obj 619 142 loadbang;
#X msg 619 165 0 10 20 30 40 50 60 70 80 90 100;
#X obj 619 187 s y-dump;
#X obj 619 213 table y-dump 10;
#X obj 618 104 table x-dump 10;
#X obj 618 79 s x-dump;
#X floatatom 46 188 5 0 0 0 - - -;
#X msg 55 279 list x-dump 3 4;
#X msg 55 223 list x-dump 3;
#X msg 56 307 list y-dump 1 3;
#X obj 89 497 expr size("$s1");
#X floatatom 104 523 5 0 0 0 - - -;
#X obj 36 465 t a a;
#X obj 36 545 pack s 0;
#X msg 36 443 symbol y-dump;
#X text 213 495 gets size of array;
#X text 21 23 list-tabdump: get a table's content as a list.;
#X text 172 187 float <x>: set <count> to <x> and do a dump;
#X text 33 58 Arguments: <table> <count> <start>;
#X text 174 223 list <tablename> <count>: set <tablename> and <count>
and do a dump.;
#X text 174 291 list <tablename> <count> <start>: set <tablename> \,
<count> and <start> position and do a dump.;
#X text 171 124 bang: dump contents of table as specified by <table>
\, <count> and <start>. <table> \, <count> and <start> can be set by
arguments or with the following messages.;
#X obj 39 349 list-tabdump x-dump;
#X text 33 91 Inlet methods:;
#X obj 36 603 print dump;
#X obj 36 568 list-tabdump y-dump;
#X text 34 412 Hint: You can use [expr] to get the size of a table
if you want to dump everything:;
#X connect 0 0 9 0;
#X connect 1 0 0 0;
#X connect 2 0 26 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 10 0 26 0;
#X connect 11 0 26 0;
#X connect 12 0 26 0;
#X connect 13 0 26 0;
#X connect 14 0 15 0;
#X connect 14 0 17 1;
#X connect 16 0 17 0;
#X connect 16 1 14 0;
#X connect 17 0 29 0;
#X connect 18 0 16 0;
#X connect 26 0 3 0;
#X connect 29 0 28 0;
-------------- next part --------------
#N canvas 288 81 555 678 10;
#X obj 68 19 inlet;
#X obj 68 602 outlet;
#X obj 88 285 f \$2;
#X obj 146 406 until;
#X obj 185 446 + 1;
#X obj 146 497 tabread \$1;
#X obj 215 444 symbol \$1;
#X msg 215 465 set \$1;
#X obj 106 256 unpack 0 0 s;
#X obj 153 49 s \$0-reset;
#X obj 225 496 r \$0-reset;
#X obj 194 406 f \$3;
#X obj 146 446 f;
#X obj 194 359 r \$0-reset;
#X obj 88 326 moses;
#X obj 88 118 list prepend;
#X obj 88 146 route 0 1 2 3;
#X obj 131 180 list append 0;
#X obj 68 51 t b a a b;
#N canvas 0 0 450 300 rot1 0;
#X obj 173 193 list prepend;
#X obj 151 44 inlet;
#X obj 259 115 inlet;
#X text 311 115 how often to rotate;
#X obj 151 220 list;
#X text 198 43 list to rotate;
#X obj 151 250 outlet;
#X text 267 194 move right part of list to left.;
#X obj 151 70 t b a b;
#X obj 174 152 list split 1;
#X connect 0 0 4 1;
#X connect 1 0 8 0;
#X connect 2 0 9 1;
#X connect 4 0 6 0;
#X connect 8 0 4 0;
#X connect 8 1 9 0;
#X connect 8 2 0 1;
#X connect 9 0 0 0;
#X connect 9 1 0 1;
#X restore 131 225 pd rot1;
#X msg 146 517 add2 \$1;
#X msg 225 518 set;
#N canvas 0 0 575 324 msgbox 0;
#X obj 94 113 inlet;
#X msg 166 148;
#X obj 88 193 outlet;
#X text 163 108 hidden msgbox to not clutter the main patch;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 68 568 pd msgbox;
#X obj 168 91 list length;
#X connect 0 0 18 0;
#X connect 2 0 14 0;
#X connect 3 0 12 0;
#X connect 4 0 12 1;
#X connect 5 0 20 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X connect 8 0 2 0;
#X connect 8 1 11 0;
#X connect 8 2 6 0;
#X connect 10 0 21 0;
#X connect 11 0 12 1;
#X connect 12 0 4 0;
#X connect 12 0 5 0;
#X connect 13 0 11 0;
#X connect 14 1 3 0;
#X connect 15 0 16 0;
#X connect 16 0 2 0;
#X connect 16 1 2 0;
#X connect 16 2 17 0;
#X connect 16 3 19 0;
#X connect 17 0 19 0;
#X connect 18 0 22 0;
#X connect 18 1 15 0;
#X connect 18 2 23 0;
#X connect 18 3 9 0;
#X connect 19 0 8 0;
#X connect 20 0 22 0;
#X connect 21 0 22 0;
#X connect 22 0 1 0;
#X connect 23 0 15 1;


More information about the Pd-list mailing list