[Pd] Stack Overflow

Frank Barknecht fbar at footils.org
Fri Mar 24 21:32:39 CET 2006


Hallo,
Chuckk Hubbard hat gesagt: // Chuckk Hubbard wrote:

> I guess my next question would be whether that will slow down the
> sequencer, having each scalar accessed at a different logical time,
> but I suppose in real time there won't be any difference.
> I'm going to revamp this and see how it works.

The sequencer example in the Pd documentation shows how to do
traversal in smaller chunks by sending delayed [next( messages
using delta times. In the attached patches I factored out the general
mechanism into "sequence-data.pd", and example use is in
seq-example.pd

Ciao
-- 
 Frank Barknecht                 _ ______footils.org_ __goto10.org__
-------------- next part --------------
#N canvas 485 258 747 508 10;
#N canvas 0 0 641 403 note 0;
#X obj 25 51 struct note float x float y;
#X obj 23 89 drawnumber y;
#X obj 393 92 inlet;
#X msg 450 187 traverse pd-data \, bang;
#X obj 393 137 t b b b b;
#X obj 450 216 pointer;
#X obj 354 306 append note x y;
#X obj 344 238 random 100;
#X obj 274 171 s pd-data;
#X msg 278 149 sort;
#X msg 227 150 clear;
#X obj 266 238 random 400;
#X obj 369 276 + 50;
#X msg 464 108 bang;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 9 0;
#X connect 4 1 11 0;
#X connect 4 2 7 0;
#X connect 4 3 3 0;
#X connect 5 0 6 2;
#X connect 7 0 12 0;
#X connect 9 0 8 0;
#X connect 10 0 8 0;
#X connect 11 0 6 0;
#X connect 12 0 6 1;
#X connect 13 0 4 0;
#X restore 611 360 pd note;
#N canvas 50 196 450 300 data 1;
#X restore 384 51 pd data;
#X msg 610 341 make notes;
#X floatatom 81 337 5 0 0 0 x - -;
#X floatatom 160 338 5 0 0 1 y - -;
#X obj 202 236 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 81 359 print x;
#X obj 160 357 print y;
#X msg 81 66 play;
#X floatatom 588 404 5 0 0 1 speed - -;
#N canvas 389 419 691 497 dial 0;
#X obj 124 82 struct dial float x;
#X obj 122 168 drawpolygon 0 1 0 0 0 200;
#X msg 407 123 traverse pd-data \, bang;
#X obj 407 152 pointer;
#X obj 311 242 append dial x;
#X obj 341 78 inlet;
#X obj 310 266 outlet;
#X obj 335 101 t b b;
#X msg 333 131 0;
#X msg 387 80 bang;
#X connect 2 0 3 0;
#X connect 3 0 4 1;
#X connect 4 0 6 0;
#X connect 5 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 2 0;
#X connect 8 0 4 0;
#X connect 9 0 7 0;
#X restore 430 268 pd dial;
#X msg 430 244 bang;
#X obj 365 299 set dial x;
#X floatatom 378 220 5 0 0 0 - - -;
#N canvas 0 0 610 505 move-dial 0;
#X obj 173 279 f 0;
#X obj 200 280 + 1;
#X msg 270 111 0;
#X obj 173 165 metro 10;
#X msg 173 101 1;
#X obj 275 88 del 200;
#X obj 173 64 inlet;
#X obj 224 62 inlet;
#X obj 275 62 inlet;
#X obj 173 311 outlet;
#X connect 0 0 1 0;
#X connect 0 0 9 0;
#X connect 1 0 0 1;
#X connect 2 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 3 0;
#X connect 5 0 2 0;
#X connect 6 0 4 0;
#X connect 7 0 3 1;
#X connect 8 0 5 0;
#X restore 365 190 pd move-dial;
#X obj 81 95 t b b b;
#X obj 632 272 s pd-data;
#X msg 632 247 clear;
#X obj 588 186 loadbang;
#X obj 588 211 t b b b;
#X obj 610 315 until;
#X msg 610 295 10;
#X msg 588 167 bang;
#X obj 202 263 s \$0-EOF;
#X obj 444 161 r \$0-EOF;
#X text 588 142 INIT;
#X text 6 97 Traversal;
#X obj 588 425 s \$0-speed-mult;
#X obj 202 184 r \$0-speed-mult;
#X obj 404 136 r \$0-speed-mult;
#X text 359 108 Make and move dial (naive version);
#X obj 81 316 get note x y;
#X obj 81 208 sequence-data note;
#X msg 81 158 symbol pd-data;
#X msg 588 383 10;
#X connect 2 0 0 0;
#X connect 3 0 6 0;
#X connect 4 0 7 0;
#X connect 5 0 23 0;
#X connect 8 0 15 0;
#X connect 9 0 27 0;
#X connect 10 0 12 1;
#X connect 11 0 10 0;
#X connect 14 0 13 0;
#X connect 14 0 12 0;
#X connect 15 0 33 0;
#X connect 15 2 14 0;
#X connect 17 0 16 0;
#X connect 18 0 19 0;
#X connect 19 0 11 0;
#X connect 19 0 34 0;
#X connect 19 1 21 0;
#X connect 19 2 17 0;
#X connect 20 0 2 0;
#X connect 21 0 20 0;
#X connect 22 0 19 0;
#X connect 24 0 14 2;
#X connect 28 0 32 1;
#X connect 29 0 14 1;
#X connect 31 0 3 0;
#X connect 31 1 4 0;
#X connect 32 0 31 0;
#X connect 32 1 5 0;
#X connect 33 0 32 0;
#X connect 34 0 9 0;
-------------- next part --------------
#N canvas 0 0 628 715 10;
#X obj 123 77 inlet;
#X obj 167 413 outlet;
#X msg 147 262 next;
#X text 182 513 speed;
#X obj 123 605 del;
#X obj 123 634 s \$0-next;
#X obj 147 239 r \$0-next;
#X obj 202 328 outlet;
#X obj 145 513 * 10;
#X obj 139 565 -;
#X obj 145 535 t a a;
#X obj 145 183 s pd-data;
#X msg 145 158 sort;
#X obj 167 131 s \$0-start;
#X obj 327 506 r \$0-start;
#X msg 327 528 0;
#X obj 168 487 r \$0-speed;
#X obj 471 105 s \$0-speed;
#X obj 471 78 inlet;
#X text 260 131 reset delta time below;
#X text 257 330 Bang at EOF;
#X text 203 635 get next note;
#X text 262 584 delta = x[current] - x[previous];
#X text 263 564 calculate delta time between notes:;
#X obj 123 329 t b p p;
#X text 257 412 Pointer out;
#X text 408 506 reset delta;
#X text 260 459 get x position;
#X obj 123 296 pointer \$1;
#X obj 145 459 get \$1 x;
#X msg 123 207 traverse \$1 \, next;
#X obj 123 108 t a b b;
#X text 123 27 Argument: data structure name;
#X text 66 56 Inlet: name of subpatch containing data structures;
#X text 466 59 Inlet: speed mult;
#X connect 0 0 31 0;
#X connect 2 0 28 0;
#X connect 4 0 5 0;
#X connect 6 0 2 0;
#X connect 8 0 10 0;
#X connect 9 0 4 1;
#X connect 10 0 9 1;
#X connect 10 1 9 0;
#X connect 12 0 11 0;
#X connect 14 0 15 0;
#X connect 15 0 9 1;
#X connect 16 0 8 1;
#X connect 18 0 17 0;
#X connect 24 0 4 0;
#X connect 24 1 29 0;
#X connect 24 2 1 0;
#X connect 28 0 24 0;
#X connect 28 1 2 0;
#X connect 28 2 7 0;
#X connect 29 0 8 0;
#X connect 30 0 28 0;
#X connect 31 0 30 0;
#X connect 31 1 12 0;
#X connect 31 2 13 0;


More information about the Pd-list mailing list