#N canvas 514 69 824 665 12;
#X floatatom 63 140 0 0 0 0 - - -;
#X floatatom 123 267 0 0 0 0 - - -;
#X floatatom 63 334 0 0 0 0 - - -;
#X floatatom 612 454 0 0 0 0 - - -;
#X floatatom 601 567 0 0 0 0 - - -;
#X obj 612 480 t f f f;
#X obj 635 511 + 1;
#X obj 669 510 + 2;
#X floatatom 652 565 0 0 0 0 - - -;
#X floatatom 703 566 0 0 0 0 - - -;
#X text 367 618 see also:;
#X obj 63 300 pipe 2000;
#X text 95 140 numbers to store and output later;
#X text 119 166 output all stored messages immediately;
#X msg 74 167 flush;
#X msg 84 195 clear;
#X text 128 196 forget all stored messages;
#X text 102 336 delayed output;
#X obj 442 619 delay;
#X obj 493 619 timer;
#X text 159 268 set delay time;
#X text 569 618 updated for Pd version 0.33;
#X obj 50 16 pipe;
#X text 89 15 - message "delay line";
#X obj 63 371 print pipe;
#X obj 96 228 bng 18 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X symbolatom 135 596 10 0 0 0 - - -;
#X msg 136 496 symbol ahoy;
#X msg 152 528 symbol cheers;
#X obj 135 627 print;
#X text 140 292 a single float creation argument initializes delay
time (0 by default), f 37;
#X text 120 222 bang outputs the last received message after the delay
time, f 30;
#X floatatom 545 142 0 0 0 0 - - -;
#X floatatom 545 312 0 0 0 0 - - -;
#X floatatom 610 312 0 0 0 0 - - -;
#X obj 583 479 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 601 539 pipe 5 6 7 1000;
#X obj 545 175 t f f b, f 12;
#X msg 631 214 symbol stop;
#X obj 588 214 + 1;
#X symbolatom 675 312 10 0 0 0 - - -;
#X floatatom 675 245 5 0 0 0 - - -;
#X text 718 245 delay time;
#X floatatom 272 528 0 0 0 0 - - -;
#X text 305 528 set delay time;
#X text 24 48 The [pipe] object stores a sequence of messages and outputs
them after a specified delay time in milliseconds. The output is scheduled
when storing the incoming message. Thus changing the delay time doesn't
affect the messages that are already scheduled., f 58;
#X obj 135 558 pipe s 1000, f 20;
#X text 24 407 You can specify the data type with a first argument
(which is a float by default). A symbol argument "s" \, "f" \, or "p"
specifies a "symbol" \, "float" (number) \, or pointer type (untested).
The delay time comes then as the last argument.;
#X obj 545 274 pipe f f s 1000, f 19;
#X text 475 17 You can specify compound messages (lists) by adding
more than one argument. Again \, the delay time comes as the last argument
and is also changed by the last inlet., f 42;
#X text 502 355 A float value can be used to set a float type and also
initialize its value. In the example below you can test the initialized
values with the bang message., f 36;
#X msg 459 215 50 70 hey;
#X text 475 82 A list input is possible in this example as Pd can distribute
its elements to the inlets., f 42;
#X connect 0 0 11 0;
#X connect 1 0 11 1;
#X connect 2 0 24 0;
#X connect 3 0 5 0;
#X connect 5 0 36 0;
#X connect 5 1 6 0;
#X connect 5 2 7 0;
#X connect 6 0 36 1;
#X connect 7 0 36 2;
#X connect 11 0 2 0;
#X connect 14 0 11 0;
#X connect 15 0 11 0;
#X connect 25 0 11 0;
#X connect 26 0 29 0;
#X connect 27 0 46 0;
#X connect 28 0 46 0;
#X connect 32 0 37 0;
#X connect 35 0 36 0;
#X connect 36 0 4 0;
#X connect 36 1 8 0;
#X connect 36 2 9 0;
#X connect 37 0 48 0;
#X connect 37 1 39 0;
#X connect 37 2 38 0;
#X connect 38 0 48 2;
#X connect 39 0 48 1;
#X connect 41 0 48 3;
#X connect 43 0 46 1;
#X connect 46 0 26 0;
#X connect 48 0 33 0;
#X connect 48 1 34 0;
#X connect 48 2 40 0;
#X connect 51 0 48 0;
