#N canvas 1 2 924 627 10; #X floatatom 435 307 0 0 0; #X floatatom 432 68 0 0 0; #X floatatom 432 176 0 0 0; #X obj 432 94 t f f f; #X obj 460 125 + 1; #X obj 488 125 + 2; #X floatatom 474 175 0 0 0; #X floatatom 517 176 0 0 0; #X obj 435 400 pipe 2000; #X text 474 305 numbers to store and output later; #X text 500 328 output all stored messages immediately; #X msg 446 332 flush; #X msg 463 378 clear; #X text 511 378 forget all stored messages; #X obj 436 538 delay; #X obj 473 538 timer; #X text 81 13 -- delay a message -- a message "delay line"; #X obj 49 13 pipe; #X text 21 40 The Pipe object stores a sequence of messages and outputs them after a specified delay time in milliseconds. You can change the delay time as you wish. The outputs are sorted automatically.; #X text 20 102 BASIC USAGE; #X text 20 161 Like water running through a pipe \, it goes in one end...runs the length of the pipe...then comes out the other end.; #X floatatom 27 206 5 0 0; #X obj 27 227 pipe 20; #X floatatom 27 249 5 0 0; #X text 21 116 The left inlet accepts numbers \, symbols \, pointers \, messages \, and lists. The right inlet adjusts the delay time (the length of the pipe).; #X floatatom 93 210 5 0 0; #X text 135 209 Adjust the length of the pipe.; #X text 435 192 METHODS OF CONTROL; #X text 19 270 Creation arguments can be used to define the data type to be expected at the left inlet and to define the initial length of delay.; #X text 17 314 1 If only one creation argument is used \, it must be a number and it defines the initial length of delay.; #X obj 22 345 pipe 1000; #X text 16 366 2 If a second or third creation argument is used \, then they will define the data type to be expected at the inlet. Multiple messages can be sent to [pipe] (similar to [pack] in this case) and the delay time is the LAST creation argument and can be changed by the last inlet.; #X obj 19 468 pipe s 1000; #X text 92 468 A pipe for symbols.; #X obj 19 568 pipe f s 1000; #X text 104 568 A pipe for one float \, and one symbol.; #X msg 18 438 symbol cat; #X msg 90 438 symbol dog; #X symbolatom 19 489 10 0 0; #X symbolatom 92 589 10 0 0; #X floatatom 19 589 5 0 0; #X msg 30 547 100 dog; #X msg 20 526 42 cat; #X text 72 523 messages can be sent as lists like this example.; #X obj 432 151 pipe f f f 1000; #X text 431 218 [pipe] accepts two very important methods.; #X text 434 238 1 "flush": forces [pipe] to output all stored messages immediately.; #X text 434 267 2 "clear": forces [pipe] to forget all stored messages. ; #X obj 435 421 print; #X msg 456 353 bang; #X text 492 353 output the most recently stored message; #X text 434 286 3 "bang": repeat the most recently stored message again. ; #X text 431 443 RESCHEDULING; #X text 437 458 [pipe] schedules its output immediately after storing the incoming messages. This means that the delay time can be changed at runtime without effecting the messages that have already been scheduled for output.; #X text 430 11 Miller's original example shows how a list of floats can be delayed by [pipe]. Note that the [trigger] object is used to ensure that [pipe] receives the messages from right to left order. ; #X text 432 518 RELATED OBJECTS; #N canvas 0 0 454 304 related_objects_from_other_libraries 0; #X obj 45 31 t3_delay; #X text 26 77 These objects are offered in Pd only if you have downloaded and properly installed the appropriate library. These objects may or may not exist in a single library.; #X text 25 126 The best places to find information about Pd's libraries is:; #X text 22 148 www.puredata.org and click on "Downloads" then "Software" ; #X text 24 163 or; #X text 24 178 iem.kug.ac.at/pdb/; #X restore 437 561 pd related_objects_from_other_libraries; #X text 439 579 This document was updated for Pd version 0.35 test 28 by Dave Sabine as part of a project called pddp proposed by Krzysztof Czaja to build comprehensive documentation for Pd.; #X connect 0 0 8 0; #X connect 1 0 3 0; #X connect 3 0 44 0; #X connect 3 1 4 0; #X connect 3 2 5 0; #X connect 4 0 44 1; #X connect 5 0 44 2; #X connect 8 0 48 0; #X connect 11 0 8 0; #X connect 12 0 8 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 25 0 22 1; #X connect 32 0 38 0; #X connect 34 0 40 0; #X connect 34 1 39 0; #X connect 36 0 32 0; #X connect 37 0 32 0; #X connect 41 0 34 0; #X connect 42 0 34 0; #X connect 44 0 2 0; #X connect 44 1 6 0; #X connect 44 2 7 0; #X connect 49 0 8 0;