A newer version of Max is available. Click here to access the latest version of this document.


Delay numbers or lists


pipe can be used to as a delay for numbers or lists of numbers. This object uses the Max time format syntax, so the delay interval that the pipe object uses can be either fixed or tempo-relative. Its output can be also be quantized using tempo-relative syntax.


Name Type Opt Description
inlet-initialization and initial-delay (time value) int or list opt The number of arguments to the pipe object depends on the number of items in a list you wish to delay, but the final argument is always used to set the initial value for the delay time. For example, If there are two arguments, the first argument sets an initial value to be stored in pipe, and the second argument sets the delay time. If more than two arguments are present, pipe creates additional inlets and outlets for delaying additional numbers in parallel to the leftmost one (i.e. the first item in the list). If no argument is specified, the delay time is 0 ms. The pipe object allows you to specify time intervals using either a number which specifies time in milliseconds (e.g. pipe 200) or a notevalue (e.g. pipe 2n).

Note: While the pipe object lets you specify time in any of Max's standard time formats, the interval attribute argument should be used when specifying time in any other time unit besides milliseconds or notevalues (e.g. pipe @interval 11025 samples).

If notevalue, ticks, or bars.beats.units are specified for the delay interval, the object will not operate unless the transport is running.
float float The last argument is converted to a time value. Other float arguments cause the corresponding outlet to send a float.


bang In left inlet: Re-triggers the numbers currently stored in the pipe to be output again after the specified time (in addition to any numbers already being delayed).
int delay (milliseconds) [int]
In right inlets: Sets the time to delay numbers received in the other inlets.
float delay [float]
In left and middle inlets: Converted to int, unless the inlet was initialized with a float argument.
list input [list]
In right inlet: A list may be used to specify time in one of the Max time formats.
anything input [symbol]
In right inlet: The delay time may be specifiied in any of the musical mnemonic time formats Max uses (e.g. 1nd for a dotted whole note).
clear In left inlet: Halts all numbers currently being delayed by pipe.
flush In left inlet: Immediately sends out all numbers currently being delayed by pipe, and clears the pipe object's memory. Numbers are sent out each outlet in reverse order from that in which they were received in the corresponding inlet.
stop In left inlet: Halts all numbers currently being delayed by pipe. (Synonym for clear.)


Name Type g/s Description
clock symbol Sets the pipe object to be controlled by a named setclock object rather than by Max’s internal millisecond clock. The word clock by itself sets the pipe object back to using Max’s regular millisecond clock.
delaytime atom Sets the delay time for this object using any of Max's standard time formats.
quantize atom Send output only on the specified time-boundary if appropriate. This is achieved by making internal adjustments to the times used for sending output. The quantization can be specified in the following time formats: bars.beats.units, ticks or note values.

If the applicable time is a 'fixed' unit (for example: ms, seconds, hz, samples, etc.) then this attribute will have no effect.

Information for box attributes common to all objects


int: When a number is received in the pipe object's left inlet, it is delayed by the time specified, then sent out the left outlet. If there are middle inlets, the numbers in those inlets are also delayed and sent out their corresponding outlet, in response to a number is received in the left inlet. Unlike delay, more than one number at a time can be delayed in a pipe. When a new delay time is received in the right inlet, it does not affect when the numbers already being delayed by pipe will come out.


One or more numbers can be delayed with pipe

See Also

Name Description
delay Delay a bang before passing it on.
Max Basic Tutorial 19: Timing Max Basic Tutorial 19: Timing