Package Max

select

Output bangs based on input matching

Description

Selectively outputs a bang in response to any input which matches its arguments and will output non-matching messages out its right-most outlet.

Arguments

selectors[anything]
optional

The arguments can be a mix of ints, floats, or symbols. The number of arguments determines the number of outlets in addition to the rightmost outlet. If there is no argument, there is only one other outlet, which is assigned the integer number 0 .

inlet[int]
optional

If there is a single int argument (or if there are no arguments) a second inlet is created on the right. Numbers received in that inlet are stored in place of the argument. If there is more than one argument, or if the only argument is not an int , the right inlet is not created.

Attributes

fuzzy[atom]: 0.

When matchfloat is set to 1, the fuzzy attribute allows for fuzzy floating-point comparison. This can be useful when sending a float to select via a dial object, or other similar objects, where a long floating point number is sent. For example, if the number 0.49999999 is sent to select with an argument of 0.5, turning matchfloat on and setting fuzzy to 0.01 will cause the two floats to register as a match.

matchfloat[int]
8.3.0

When matchfloat is set to 1, the select object performs float comparison. In this mode, the fuzzy attribute can be used to match floats within a specified distance of the given float selector . When matchfloat is set to 0, floats are ignored. The old exact attribute is now an alias of matchfloat.

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]

JS Painter File

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

Performs the same function as anything . The bang message matches a 'bang' symbol in the arguments.

int

Performs the same function as anything .

Note: If an int is listed multiple times as an argument, a bang message will be sent out the leftmost outlet only.

Arguments:
  • input [int]

  (inlet1)

In right inlet: Replaces the value of the argument. The right inlet exists only if there is a single int argument.

Arguments:
  • value [int]

float

Performs the same function as anything .

Note: If a float is listed multiple times as an argument, a bang message will be sent out the leftmost outlet only.

Arguments:
  • input [float]

list

Performs the same function as anything .

Arguments:
  • input [list]

anything

All input will be selectively output either as a bang from one of its corresponding outlets if the first element in the list matches the object argument(s) or as it is out the object's right-most outlet.

Arguments:
  • input [list]

symbol

Performs the same function as anything .

Arguments:
  • input [symbol]

Output

anything

If the number or symbol received in the left inlet does not match any of the arguments, it is passed out the rightmost outlet.

bang

If the number or symbol received in the left inlet is the same as one of the arguments, a bang is sent out the outlet that corresponds to that argument.

See Also

Name Description
if Conditional statement in if/then/else form
match Watch for a message match, then output the message
route Select outlet based on input matching
== Compare numbers for equal-to condition