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

bucket

Pass numbers from outlet to outlet

Description

Outputs incoming values to outlets in bucket-brigade fashion. bucket acts as an n-stage shift register which can shift its contents from outlet to outlet in either direction.

Examples

Numbers are passed from one outlet to another

Arguments

outlets [int]

Optional

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

output-flag [int]

Optional

A second non-zero argument sets the bucket object to "echo to output" mode, whereby the number received in the inlet is stored and sent out the left outlet when it is received. This makes it somewhat easier to visualize the data coming from the outlets.

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

All stored values are sent out, but their position is not shifted.

int

Arguments

input [int]
The numbers currently stored in bucket are sent out, then each number is moved one outlet to the right and the new number is stored to be sent out the left outlet the next time a number is received.

float

Arguments

input [float]
The numbers currently stored in bucket are sent out, then each number is moved one outlet to the right and the new number is stored to be sent out the left outlet the next time a number is received.

L2R

Sets bucket to shift its stored values from left to right (the default) whenever it receives a number in its inlet.

R2L

Sets bucket to shift its stored values from right to left whenever it receives a number in its inlet, placing the incoming number in the rightmost outlet.

freeze

Suspends the bucket output, but new incoming numbers continue to shift the stored values internally.

l2r

Sets bucket to shift its stored values from left to right (the default) whenever it receives a number in its inlet.

set

Arguments

input [number]
The word set, followed by a number, sends that number out each outlet, and stores the number as the next value to be sent out each of its outlets.

r2l

Sets bucket to shift its stored values from right to left whenever it receives a number in its inlet, placing the incoming number in the rightmost outlet.

roll

The word roll, followed by any number, causes bucket to use the value stored in its rightmost outlet as input; thus, it sends its output, shifts all stored values to the right, then stores the value which had been in the rightmost outlet in the leftmost outlet (as if it had been received in the inlet).

thaw

Resumes bucket output.

Output

int or float

When a number is received, it is not sent out immediately, but the numbers stored in bucket are sent out. The numbers are all moved one outlet to the right, and the newly received number is stored in the left position. When using the "echo to output" mode (set with a non-zero second argument to the object) the number received is sent out immediately, instead of the previous input value.

See Also

Name Description
cycle Round-robin messages to outlets
decode Send 1 or 0 out a specific outlet
gate Pass input to an outlet
spray Distribute a value to a numbered outlet
Max Basic Tutorial 15: Abstractions Max Basic Tutorial 15: Abstractions