This can be done with [pipe] and [list-drip] from list-abs, no externals required. See attached. Note: this works in "Pd-standard" ms instead of s, but the fix is trivial.
Hope this is useful,
Claude
altern wrote:
hi
i needed to schedule a sequence of events, in this case start/stop certain parts of a patch over time. I wanted to be able to pass to an abstraction a list of time intervals (in secs and with variable length) and then get output a series of bangs after each of the intervals. I attach the solution I found, not sure if this is clever or there is maybe something already done for this? I use drip, coll and delay.
It receives a list of times like 2 3 0.5 and outputs the index at the right time. In this case after 2 secs outputs num 0, after 3 secs num 1, and after half a sec more outputs num 2.
I called it sequence but i bet this name is already taken and it would be wise to rename it with another one.
thanks for any feedback or ideas
enrike
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
#N canvas 0 0 402 442 10; #X obj 65 66 cnv 15 200 200 empty empty interval_sequencer 35 12 1 14 -257985 -1 0; #X obj 88 129 list-drip; #X msg 24 14 100 100 200 300 500 800; #X obj 88 154 t b f; #X obj 88 203 f; #X obj 128 203 + 1; #X msg 185 130 0; #X obj 88 93 t a b; #X obj 88 233 pipe f 0; #X obj 56 316 timer; #X obj 88 296 t b f; #X obj 56 336 pack f f; #X obj 56 376 print absolute-time; #X obj 213 205 f; #X obj 167 204 +; #X obj 24 34 t a b; #X connect 1 0 3 0; #X connect 2 0 15 0; #X connect 3 0 4 0; #X connect 3 1 14 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 4 1; #X connect 6 0 4 1; #X connect 6 0 14 1; #X connect 7 0 1 0; #X connect 7 1 6 0; #X connect 8 0 10 0; #X connect 9 0 11 0; #X connect 10 0 9 1; #X connect 10 1 11 1; #X connect 11 0 12 0; #X connect 13 0 14 1; #X connect 14 0 13 0; #X connect 14 0 8 1; #X connect 15 0 7 0; #X connect 15 1 9 0;