cycle
Max Reference
Open Help

cycle

Round-robin messages to outlets

Description

Each incoming number is sent to the next outlet, wrapping around to the first outlet after the last has been reached.

Examples

Using cycle to get ASCII relief

Arguments

outlets [int]

Optional

Determines the number of outlets. If there is no argument, there will be one outlet.

mode [int]

Optional

Sets the output mode. If it is non-zero, cycle detects separate "events" and restarts at the leftmost outlet when a new event occurs. Examples of separate events include messages with delays between them, and messages triggered by successive mouse clicks or MIDI events. A stream of items separated by commas in a message box is considered a single event. If this argument is not present or is 0 , the values cycle through all the outlets, regardless of whether they are attached to separate events or not.

Attributes

Common Box Attributes

annotation [symbol]

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

background [int] (default: 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] (default: 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] (default: 0)

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

patching_rect [4 floats] (default: 0. 0. 100. 0.)

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

position [2 floats]

g/s(set)

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] (default: 0)

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

presentation_rect [4 floats] (default: 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]

g/s(set)

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]

g/s(set)

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 [float]

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

textjustification [int]

Text Justification

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

Sends a bang to the next outlet.

int

Arguments

input [int]
The input to be directed to successive outlets.

float

Arguments

input [float]
The input to be directed to successive outlets.

list

Arguments

input [list]
The stream of ints, floats, or symbols to be directed to successive outlets.

anything

Arguments

input [list]
The stream of ints, floats, or symbols to be directed to successive outlets.

thresh

Arguments

mode [int]
The word thresh , followed by a number, sets the output mode, in the same way as the second typed-in argument. If the number is non-zero, cycle will detect separate "events" and restart at the leftmost outlet whenever a new event occurs. If the number is 0 , each number received will be directed to the next outlet in the cycle.

set

Arguments

outlet number [int]
The word set , followed by a number, specifies an outlet to which the next input should be directed, if in cycle mode. Outlets are numbered beginning with 0; if an outlet number is specified that does not actually exist, the message is ignored. (This message has no effect when cycle is in event-sensitive mode, in which case each message is always sent out beginning at the leftmost outlet.)

symbol

Arguments

input [symbol]
The stream of ints, floats, or symbols to be directed to successive outlets.

Output

anything

Out any outlet: In cycle mode, each successive int, float, or symbol received, either separately or as part of a list, is directed to an outlet to the right of the previous number. When the cycle reaches the rightmost outlet, the next number is sent out the left outlet.

In event-sensitive mode, any int, float, or symbol which is a new event restarts the output at the left outlet.

See Also

Name Description
bucket Pass numbers from outlet to outlet
counter Keep count based on bang messages
spell Convert input to UTF-8 (Unicode) codes
spray Distribute a value to a numbered outlet