Dear all,
I have a bunch of arrays in a subpatcher and would like to be able to dynamically chose which one is visible in the parent window. Is this possible? I'm trying to mimic the feel of superimposed graphs, where the 'active' graph can be changed dynamically.
Normally I wouldn't bother with this but there are about 20 arrays that act as parameter automations, and my 13 inch screen doesn't provide enough room!
I thought of 'pos' but it seems that the array object doesn't understand the 'pos' message.
Many Thanks Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On Sat, Nov 9, 2013 at 5:39 AM, peiman khosravi peimankhosravi@gmail.comwrote:
I'm trying to mimic the feel of superimposed graphs, where the 'active' graph can be changed dynamically.
Why not use the GOP array as a UI/buffer, and dynamically push/pull the data to/from a selected array rather that moving the actual array objects?
Seriously, that's a stroke of genius that didn't even occur to me. Thank you.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 06:24, michael noble looplog@gmail.com wrote:
On Sat, Nov 9, 2013 at 5:39 AM, peiman khosravi peimankhosravi@gmail.comwrote:
I'm trying to mimic the feel of superimposed graphs, where the 'active' graph can be changed dynamically.
Why not use the GOP array as a UI/buffer, and dynamically push/pull the data to/from a selected array rather that moving the actual array objects?
Hi Pieman,
Would you mind sharing the patch that does that ( or Michael - would you mind knocking up a quick example).
I'd like to see it in action and am not sure how to approach it.
Cheers,
Julian
On 9 November 2013 07:21, peiman khosravi peimankhosravi@gmail.com wrote:
Seriously, that's a stroke of genius that didn't even occur to me. Thank you.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 06:24, michael noble looplog@gmail.com wrote:
On Sat, Nov 9, 2013 at 5:39 AM, peiman khosravi <peimankhosravi@gmail.com
wrote:
I'm trying to mimic the feel of superimposed graphs, where the 'active' graph can be changed dynamically.
Why not use the GOP array as a UI/buffer, and dynamically push/pull the data to/from a selected array rather that moving the actual array objects?
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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;
Nice one Michael, many thanks.
It works, and I just need to spend a little more time with it to figure out why. Cool.
Cheers,
Julian
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
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;
This is great. I also have a working example that I'll send later today once I've tidied it up. I'm using the tabletool external with horizontal zooming in and out of the array too.
Will send it in a couple of hours.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
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;
OK, here it is.
It needs two externals: 'tabletool' and 'Popup'. (OSX builds included in the zip file but I think they're distributed in pd_extended, in which case just modify [declare -path] in the patch.)
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 13:11, peiman khosravi peimankhosravi@gmail.com wrote:
This is great. I also have a working example that I'll send later today once I've tidied it up. I'm using the tabletool external with horizontal zooming in and out of the array too.
Will send it in a couple of hours.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
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;
you could also use data structures to copy the arrays to the display, and superimpose and hide whichever necessary, e.g. also using different colors/thickness for each array. I don't have the time now to make an example, though. Maybe during the next days.
OK, here it is. It needs two externals: 'tabletool' and 'Popup'. (OSX builds included in the zip file but I think they're distributed in pd_extended, in which >case just modify [declare -path] in the patch.)
Best, Peiman
www.peimankhosravi.co.uk || RSS Feed || Concert News
On 9 November 2013 13:11, peiman khosravi peimankhosravi@gmail.com wrote:
This is great. I also have a working example that I'll send later today once I've tidied it up. I'm using the tabletool external with horizontal >>zooming in and out of the array too. Will send it in a couple of hours.
P
www.peimankhosravi.co.uk || RSS Feed || Concert News
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
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;
Thanks João,
I'd love to see an example of that.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 11:58, João Pais jmmmpais@googlemail.com wrote:
you could also use data structures to copy the arrays to the display, and superimpose and hide whichever necessary, e.g. also using different colors/thickness for each array. I don't have the time now to make an example, though. Maybe during the next days.
OK, here it is.
It needs two externals: 'tabletool' and 'Popup'. (OSX builds included in the zip file but I think they're distributed in pd_extended, in which case just modify [declare -path] in the patch.)
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 13:11, peiman khosravi peimankhosravi@gmail.comwrote:
This is great. I also have a working example that I'll send later today once I've tidied it up. I'm using the tabletool external with horizontal zooming in and out of the array too.
Will send it in a couple of hours.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
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;
-- Friedenstr. 58 10249 Berlin (Deutschland) Tel +49 30 42020091 | Mob +49 162 6843570 Studio +49 30 69509190 jmmmpais@gmail.com | skype: jmmmpjmmmp
Thanks for the patch Peiman.
Completely different but the same end-result as Michael's. And my learning moves on another small notch. (having one of those "isn't Pd great" moments:)
BTW - [popup] was a new one on me but [tabletool]'s great. If you haven't checked them out yet William Brent's other Pd stuff's recommended.
Regards,
Julian
On 10 November 2013 12:00, peiman khosravi peimankhosravi@gmail.com wrote:
Thanks João,
I'd love to see an example of that.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 11:58, João Pais jmmmpais@googlemail.com wrote:
you could also use data structures to copy the arrays to the display, and superimpose and hide whichever necessary, e.g. also using different colors/thickness for each array. I don't have the time now to make an example, though. Maybe during the next days.
OK, here it is.
It needs two externals: 'tabletool' and 'Popup'. (OSX builds included in the zip file but I think they're distributed in pd_extended, in which case just modify [declare -path] in the patch.)
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 13:11, peiman khosravi peimankhosravi@gmail.comwrote:
This is great. I also have a working example that I'll send later today once I've tidied it up. I'm using the tabletool external with horizontal zooming in and out of the array too.
Will send it in a couple of hours.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
On Sat, Nov 9, 2013 at 6:42 PM, Julian Brooks jbeezez@gmail.comwrote:
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;
-- Friedenstr. 58 10249 Berlin (Deutschland) Tel +49 30 42020091 | Mob +49 162 6843570 Studio +49 30 69509190 jmmmpais@gmail.com | skype: jmmmpjmmmp
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
It's less efficient than William's solution, but there's an "array get" object in Pd 0.45 that spits out a list of elements in an array that would also work.
cheers Miller
On Sun, Nov 10, 2013 at 03:05:41PM +0000, Julian Brooks wrote:
Thanks for the patch Peiman.
Completely different but the same end-result as Michael's. And my learning moves on another small notch. (having one of those "isn't Pd great" moments:)
BTW - [popup] was a new one on me but [tabletool]'s great. If you haven't checked them out yet William Brent's other Pd stuff's recommended.
Regards,
Julian
On 10 November 2013 12:00, peiman khosravi peimankhosravi@gmail.com wrote:
Thanks João,
I'd love to see an example of that.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 11:58, João Pais jmmmpais@googlemail.com wrote:
you could also use data structures to copy the arrays to the display, and superimpose and hide whichever necessary, e.g. also using different colors/thickness for each array. I don't have the time now to make an example, though. Maybe during the next days.
OK, here it is.
It needs two externals: 'tabletool' and 'Popup'. (OSX builds included in the zip file but I think they're distributed in pd_extended, in which case just modify [declare -path] in the patch.)
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 13:11, peiman khosravi peimankhosravi@gmail.comwrote:
This is great. I also have a working example that I'll send later today once I've tidied it up. I'm using the tabletool external with horizontal zooming in and out of the array too.
Will send it in a couple of hours.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
On Sat, Nov 9, 2013 at 6:42 PM, Julian Brooks jbeezez@gmail.comwrote:
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;
-- Friedenstr. 58 10249 Berlin (Deutschland) Tel +49 30 42020091 | Mob +49 162 6843570 Studio +49 30 69509190 jmmmpais@gmail.com | skype: jmmmpjmmmp
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Thanks for the info. I didn't know this object. Very useful.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 16:50, Miller Puckette msp@ucsd.edu wrote:
It's less efficient than William's solution, but there's an "array get" object in Pd 0.45 that spits out a list of elements in an array that would also work.
cheers Miller
On Sun, Nov 10, 2013 at 03:05:41PM +0000, Julian Brooks wrote:
Thanks for the patch Peiman.
Completely different but the same end-result as Michael's. And my learning moves on another small notch. (having one of those "isn't Pd great" moments:)
BTW - [popup] was a new one on me but [tabletool]'s great. If you
haven't
checked them out yet William Brent's other Pd stuff's recommended.
Regards,
Julian
On 10 November 2013 12:00, peiman khosravi peimankhosravi@gmail.com
wrote:
Thanks João,
I'd love to see an example of that.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS
Feed
http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 11:58, João Pais jmmmpais@googlemail.com wrote:
you could also use data structures to copy the arrays to the display, and superimpose and hide whichever necessary, e.g. also using
different
colors/thickness for each array. I don't have the time now to make an example, though. Maybe during the next days.
OK, here it is.
It needs two externals: 'tabletool' and 'Popup'. (OSX builds included
in
the zip file but I think they're distributed in pd_extended, in which
case
just modify [declare -path] in the patch.)
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS
Feed
http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 13:11, peiman khosravi <peimankhosravi@gmail.com
wrote:
This is great. I also have a working example that I'll send later
today
once I've tidied it up. I'm using the tabletool external with
horizontal
zooming in and out of the array too.
Will send it in a couple of hours.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS
Feed
http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
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;
-- Friedenstr. 58 10249 Berlin (Deutschland) Tel +49 30 42020091 | Mob +49 162 6843570 Studio +49 30 69509190 jmmmpais@gmail.com | skype: jmmmpjmmmp
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
I got inspired to try out my take on this so here's another variation uses [list-splat] (list-abs), [tabdump] (sexy), and, although not essential, [popup] the redraw gets quite slow quite quickly with larger tables though... gr, Tim
2013/11/10 peiman khosravi peimankhosravi@gmail.com
Thanks for the info. I didn't know this object. Very useful.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 16:50, Miller Puckette msp@ucsd.edu wrote:
It's less efficient than William's solution, but there's an "array get" object in Pd 0.45 that spits out a list of elements in an array that would also work.
cheers Miller
On Sun, Nov 10, 2013 at 03:05:41PM +0000, Julian Brooks wrote:
Thanks for the patch Peiman.
Completely different but the same end-result as Michael's. And my learning moves on another small notch. (having one of those "isn't Pd great" moments:)
BTW - [popup] was a new one on me but [tabletool]'s great. If you
haven't
checked them out yet William Brent's other Pd stuff's recommended.
Regards,
Julian
On 10 November 2013 12:00, peiman khosravi peimankhosravi@gmail.com
wrote:
Thanks João,
I'd love to see an example of that.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS
Feed
http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 11:58, João Pais jmmmpais@googlemail.com wrote:
you could also use data structures to copy the arrays to the
display,
and superimpose and hide whichever necessary, e.g. also using
different
colors/thickness for each array. I don't have the time now to make an example, though. Maybe during the next days.
OK, here it is.
It needs two externals: 'tabletool' and 'Popup'. (OSX builds
included in
the zip file but I think they're distributed in pd_extended, in
which case
just modify [declare -path] in the patch.)
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS
Feed
http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 13:11, peiman khosravi <peimankhosravi@gmail.com
wrote:
This is great. I also have a working example that I'll send later
today
once I've tidied it up. I'm using the tabletool external with
horizontal
zooming in and out of the array too.
Will send it in a couple of hours.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS
Feed
http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
> > 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; > >
-- Friedenstr. 58 10249 Berlin (Deutschland) Tel +49 30 42020091 | Mob +49 162 6843570 Studio +49 30 69509190 jmmmpais@gmail.com | skype: jmmmpjmmmp
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
*zexy that is :)
2013/11/11 tim vets timvets@gmail.com
I got inspired to try out my take on this so here's another variation uses [list-splat] (list-abs), [tabdump] (sexy), and, although not essential, [popup] the redraw gets quite slow quite quickly with larger tables though... gr, Tim
2013/11/10 peiman khosravi peimankhosravi@gmail.com
Thanks for the info. I didn't know this object. Very useful.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 16:50, Miller Puckette msp@ucsd.edu wrote:
It's less efficient than William's solution, but there's an "array get" object in Pd 0.45 that spits out a list of elements in an array that would also work.
cheers Miller
On Sun, Nov 10, 2013 at 03:05:41PM +0000, Julian Brooks wrote:
Thanks for the patch Peiman.
Completely different but the same end-result as Michael's. And my learning moves on another small notch. (having one of those "isn't Pd great" moments:)
BTW - [popup] was a new one on me but [tabletool]'s great. If you
haven't
checked them out yet William Brent's other Pd stuff's recommended.
Regards,
Julian
On 10 November 2013 12:00, peiman khosravi peimankhosravi@gmail.com
wrote:
Thanks João,
I'd love to see an example of that.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS
Feed
http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 11:58, João Pais jmmmpais@googlemail.com
wrote:
you could also use data structures to copy the arrays to the
display,
and superimpose and hide whichever necessary, e.g. also using
different
colors/thickness for each array. I don't have the time now to make
an
example, though. Maybe during the next days.
OK, here it is.
It needs two externals: 'tabletool' and 'Popup'. (OSX builds
included in
the zip file but I think they're distributed in pd_extended, in
which case
just modify [declare -path] in the patch.)
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS
Feed
http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 13:11, peiman khosravi <peimankhosravi@gmail.com
wrote:
> This is great. I also have a working example that I'll send later
today
> once I've tidied it up. I'm using the tabletool external with
horizontal
> zooming in and out of the array too. > > Will send it in a couple of hours. > > P > > > > > *www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk ||
RSS Feed
> http://peimankhosravi.co.uk/miscposts.rss || Concert News > http://spectralkimia.wordpress.com/* > > > On 9 November 2013 12:06, michael noble looplog@gmail.com wrote: > >> >> 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; >> >> >
-- Friedenstr. 58 10249 Berlin (Deutschland) Tel +49 30 42020091 | Mob +49 162 6843570 Studio +49 30 69509190 jmmmpais@gmail.com | skype: jmmmpjmmmp
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hey Tim,
Nice clear coding style, thanks for that.
Now where's Jonathan to tell us how much faster the redraw could be...:)
Miller's comment reminded me that I should really get to grips with some of the new 0.45 stuff.
Regards,
Julian
On 11 November 2013 22:44, tim vets timvets@gmail.com wrote:
*zexy that is :)
2013/11/11 tim vets timvets@gmail.com
I got inspired to try out my take on this so here's another variation uses [list-splat] (list-abs), [tabdump] (sexy), and, although not essential, [popup] the redraw gets quite slow quite quickly with larger tables though... gr, Tim
2013/11/10 peiman khosravi peimankhosravi@gmail.com
Thanks for the info. I didn't know this object. Very useful.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 16:50, Miller Puckette msp@ucsd.edu wrote:
It's less efficient than William's solution, but there's an "array get" object in Pd 0.45 that spits out a list of elements in an array that would also work.
cheers Miller
On Sun, Nov 10, 2013 at 03:05:41PM +0000, Julian Brooks wrote:
Thanks for the patch Peiman.
Completely different but the same end-result as Michael's. And my learning moves on another small notch. (having one of those "isn't Pd great" moments:)
BTW - [popup] was a new one on me but [tabletool]'s great. If you
haven't
checked them out yet William Brent's other Pd stuff's recommended.
Regards,
Julian
On 10 November 2013 12:00, peiman khosravi peimankhosravi@gmail.com
wrote:
Thanks João,
I'd love to see an example of that.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS
Feed
http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 11:58, João Pais jmmmpais@googlemail.com
wrote:
> you could also use data structures to copy the arrays to the
display,
> and superimpose and hide whichever necessary, e.g. also using
different
> colors/thickness for each array. I don't have the time now to make
an
> example, though. Maybe during the next days. > > > OK, here it is. > > It needs two externals: 'tabletool' and 'Popup'. (OSX builds
included in
> the zip file but I think they're distributed in pd_extended, in
which case
> just modify [declare -path] in the patch.) > > Best, > Peiman > > > > > > > *www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk ||
RSS Feed
> http://peimankhosravi.co.uk/miscposts.rss || Concert News > http://spectralkimia.wordpress.com/* > > > On 9 November 2013 13:11, peiman khosravi <
peimankhosravi@gmail.com>wrote:
> >> This is great. I also have a working example that I'll send later
today
>> once I've tidied it up. I'm using the tabletool external with
horizontal
>> zooming in and out of the array too. >> >> Will send it in a couple of hours. >> >> P >> >> >> >> >> *www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk ||
RSS Feed
>> http://peimankhosravi.co.uk/miscposts.rss || Concert News >> http://spectralkimia.wordpress.com/* >> >> >> On 9 November 2013 12:06, michael noble looplog@gmail.com
wrote:
>> >>> >>> 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; >>> >>> >> > > > > -- > Friedenstr. 58 > 10249 Berlin (Deutschland) > Tel +49 30 42020091 | Mob +49 162 6843570 > Studio +49 30 69509190 > jmmmpais@gmail.com | skype: jmmmpjmmmp >
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I've done an abstraction that does this, and more. The initial version was posted in the pd list some time ago: http://lists.puredata.info/pipermail/pd-list/2013-12/105216.html
Thanks João,
I'd love to see an example of that. Best, Peiman
www.peimankhosravi.co.uk || RSS Feed || Concert News
On 10 November 2013 11:58, João Pais jmmmpais@googlemail.com wrote:
you could also use data structures to copy the arrays to the display, and superimpose and hide whichever necessary, e.g. also using different colors/>>thickness for each array. I don't have the time now to make an example, though. Maybe during the next days.
OK, here it is. It needs two externals: 'tabletool' and 'Popup'. (OSX builds included in the zip file but I think they're distributed in pd_extended, in which >>>case just modify [declare -path] in the patch.)
Best, Peiman
www.peimankhosravi.co.uk || RSS Feed || Concert News
On 9 November 2013 13:11, peiman khosravi peimankhosravi@gmail.com wrote:
This is great. I also have a working example that I'll send later today once I've tidied it up. I'm using the tabletool external with >>>>horizontal zooming in and out of the array too. Will send it in a couple of hours.
>> P
>> >> www.peimankhosravi.co.uk || RSS Feed || Concert News
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
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;
Thanks very much.
I'm going to give it a go tomorrow.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 30 December 2013 19:24, João Pais jmmmpais@googlemail.com wrote:
I've done an abstraction that does this, and more. The initial version was posted in the pd list some time ago: http://lists.puredata.info/pipermail/pd-list/2013-12/105216.html
Thanks João,
I'd love to see an example of that.
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 10 November 2013 11:58, João Pais jmmmpais@googlemail.com wrote:
you could also use data structures to copy the arrays to the display, and superimpose and hide whichever necessary, e.g. also using different colors/thickness for each array. I don't have the time now to make an example, though. Maybe during the next days.
OK, here it is.
It needs two externals: 'tabletool' and 'Popup'. (OSX builds included in the zip file but I think they're distributed in pd_extended, in which case just modify [declare -path] in the patch.)
Best, Peiman
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 13:11, peiman khosravi peimankhosravi@gmail.comwrote:
This is great. I also have a working example that I'll send later today once I've tidied it up. I'm using the tabletool external with horizontal zooming in and out of the array too.
Will send it in a couple of hours.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 9 November 2013 12:06, michael noble looplog@gmail.com wrote:
On Sat, Nov 9, 2013 at 6:42 PM, Julian Brooks jbeezez@gmail.comwrote:
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;