Package Max

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.

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

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

Sends a bang to the next outlet.

int

The input to be directed to successive outlets.

Arguments:
  • input [int]

float

The input to be directed to successive outlets.

Arguments:
  • input [float]

list

The stream of ints, floats, or symbols to be directed to successive outlets.

Arguments:
  • input [list]

anything

The stream of ints, floats, or symbols to be directed to successive outlets.

Arguments:
  • input [list]

set

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.)

Arguments:
  • outlet number [int]

symbol

The stream of ints, floats, or symbols to be directed to successive outlets.

Arguments:
  • input [symbol]

thresh

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.

Arguments:
  • mode [int]

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