Nice!
I think your version is much better. With this testargs in place I might have a try at an a_pack~.
Jamie
On Thu, 2008-12-18 at 11:21 -0500, Enrique Erne wrote:
Hi Jamie
let's purify :)
i got an other version with some "undocumented?" table features and iohannes nice testargs technique
it doesn't require list-drip
Jamie Bullock wrote:
Hi,
I find pack~/unpack~ very useful, and I wanted to see if there was a pure pd approach. Attached is a first stab at an unpack~. It gives identical results to zexy/unpack if 'length >= blocksize'. For length < blocksize a_unpack~ zeros signal vector elements >= length and drops any additional lists that fall within the current block. zexy/unpack~ does the 'right thing' and includes elements from subsequent lists in the vector.
Still a_unpack~ could be useful if you're like me and like to keep things as 'pure' as possible!
Depends on list-abs for list-drip.
Jamie
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
plain text document attachment (a_unpack~-eni.pd) #N canvas 268 22 489 422 10; #X obj 27 32 inlet; #X obj 27 342 outlet~; #X obj 27 312 tabreceive~ $0-elements; #N canvas 0 22 450 300 ioTestArgument 0; #X obj 173 228 list append $1; #X obj 128 168 select s; #X obj 128 78 t b b; #X obj 238 138 makefilename $%d-test; #X msg 238 108 1; #X obj 128 118 symbol $1-test; #X msg 143 47 bang; #X obj 128 18 loadbang; #X obj 173 198 b; #X obj 173 258 outlet; #X text 19 181 no arg given ->; #X text 197 180 <- there is $1; #X connect 0 0 9 0; #X connect 1 1 8 0; #X connect 2 0 5 0; #X connect 2 1 4 0; #X connect 3 0 1 1; #X connect 4 0 3 0; #X connect 5 0 1 0; #X connect 6 0 2 0; #X connect 7 0 2 0; #X connect 8 0 0 0; #X restore 177 32 pd ioTestArgument; #X obj 177 62 change 64; #X msg 177 112 resize $1; #X obj 70 282 s $0-elements; #X obj 27 162 list prepend 0; #X text 93 143 offset; #X obj 27 112 list split 64; #X msg 54 215 const 0; #X obj 27 192 t a b; #X obj 327 32 table $0-elements 64; #X connect 0 0 9 0; #X connect 2 0 1 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 4 0 9 1; #X connect 5 0 6 0; #X connect 7 0 11 0; #X connect 9 0 7 0; #X connect 9 2 7 0; #X connect 10 0 6 0; #X connect 11 0 6 0; #X connect 11 1 10 0;