Package Max

pipe

Delay numbers, lists or symbols

Description

Delays numbers, lists of numbers or symbols. pipe uses the Max time format syntax, so the delay interval can be either fixed or tempo-relative.

Arguments

initialization[list]
optional

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.

If no argument is specified, the initial value is 0 and the delay time is 0 ms.

If there is one argument, this sets the delay time.

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.

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 delaytime attribute argument should be used when specifying time in any other time unit besides milliseconds or notevalues (e.g. pipe @ delaytime 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.

Attributes

clock[symbol]

Use the clock attribute to specify a named setclock object for timing 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[Time Value]

Sets the delay time for this object using any of Max's time formats.

quantize[Time Value]

Quantizes the output of pipe to a specified time-boundary. 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.

Fixed time units (for example: ms, seconds, hz, samples, etc.) will have no effect.

Common Box Attributes

Below is a list of attributes shared by all objects. If you want to change one of these attributes for an object based on the object box, you need to place the word sendbox in front of the attribute name, or use the object's Inspector.

annotation[symbol]

Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.

background[int]: 0

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 removes it. Objects in the background layer are shown behind all objects in the default foreground layer.

color[4 floats]

Sets the color for the object box outline.

fontface[int]

Sets the type style used by the object. The options are:

plain
bold
italic
bold italic Possible values:

0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'

fontname[symbol]

Sets the object's font.

fontsize[float]

Sets the object's font size (in points). Possible values:

'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'

hidden[int]: 0

Toggles whether an object is hidden when the patcher is locked.

hint[symbol]

Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.

ignoreclick[int]: 0

Toggles whether an object ignores mouse clicks in a locked patcher.

jspainterfile[symbol]

You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.

patching_rect[4 floats]: 0. 0. 100. 0.

Sets the position and size of the object in the patcher window.

position[2 floats]
write-only

Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.

presentation[int]: 0

Sets whether an object belongs to the patcher's presentation.

presentation_rect[4 floats]: 0. 0. 0. 0.

Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.

rect[4 floats]
write-only

Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).

size[2 floats]
write-only

Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.

textcolor[4 floats]

Sets the color for the object's text in RGBA format.

textjustification[int]

Sets the justification for the object's text. Possible values:

0 = 'left'
1 = 'center'
2 = 'right'

varname[symbol]

Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.

Messages

bang

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

In left inlet: Sets value and triggers delay

In middle inlets: Sets value without triggering delay

In right inlet: Sets the delay time

Arguments:
  • delay [int]

float

Float is converted to int unless the inlet was initialized with a float argument.

In left inlet: Sets value and triggers delay

In middle inlets: Sets value without triggering delay

In right inlet: Sets the delay time

Arguments:
  • delay [float]

list

In left inlet: For each element in the list, a value will be set for the corresponding input and trigger a delay.

In middle inlets: When a list is sent to one of the middle inlets of pipe, the first element in the list sets the corresponding input. Subsequent elements set the subsequent inputs. These values are stored until a bang is sent to the first inlet of pipe.

In right inlet: Specify time in one of the Max time formats.

anything

See the list listing

clear

Halts all output

flush

Immediately sends out all values currently being delayed by pipe, and clears the pipe object's memory. Values are sent out each outlet in reverse order from that in which they were received in the corresponding inlet.

stop

Halts all output

Output

int

When a value 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 values in those inlets are also delayed and sent out their corresponding outlet, in response to a value is received in the left inlet. Unlike delay, more than one value 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 values already being delayed by pipe will come out.

See Also

Name Description
delay Delay a bang