Package Max

matrix

Event routing matrix

Description

The matrix object controls the connections between inlets and outlets. You can route any inlet to any combination of outlets. Each connection has an associated gain factor and all values travelling through matrix can be scaled. It shares the same control protocol with the signal matrix~ object, but unlike matrix~, the outlets of the matrix object do not add the values of multiple inputs. matrix is best understood as a combination of gate and switch with many more features.

Arguments

number-of-inputs[int]
optional

Sets the number of inputs; if not present the default is 2.

number-of-outputs[int]
optional

Sets the number of outputs; if not present the default is 2.

default-connect-gain[float]
optional

If a float value is provided as a third argument, it sets a default gain to be used for the connect message when a gain argument to connect is not supplied.

Attributes

defaultgain[float]

Default Gain

inhibit[int]

When inhibit is enabled, messages such as bang or clear are not passed through the matrix.

inrange[float]

Sets an input range for constaining incoming values and/or scaling. When an input range is set, incoming numbers and lists are constained so they are within the range. If the outscale attribute is also set, the incoming values are also scaled so they map from the input range to the output scaling.

outscale[float]

Sets an output range for constaining output values and/or scaling. When an output scaling is set, values are constained so they are within the range before being sent out the object's outlets. If the inrange attribute is also set, the incoming values are also scaled so they map from the input range to the output scaling.

scalemode[int]

When the scalemode attribute is enabled, input, gain, and output scaling will be applied to numeric arguments to messages that do not start with a number. For example, if scalemode is enabled, the message set 74 will scale the 74.

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

list

In left inlet: A list either adds or removes a connection between an inlet and outlet. The format of the message is input index (starting at 0 for the object's secont inlet from left), output index (starting at 0), gain . A non-zero gain adds a connection with the designated gain; a gain of 0 deletes the connection if it exists.
A list received in any other inlet is routed to any connected outlets.

clear

In left inlet: The clear message removes all inlet - outlet connections.

connect

In left inlet: The word connect followed by an inlet index, outlet index, and optional gain, adds a connection between the inlet and outlet. If the gain value is not present, the default gain (set either via typed-in argument or the defaultgain attribute) will be used for the connection.

dictionary

The word dictionary followed a symbol naming a Max dictionary object, replaces all connections with the ones in the dictionary. If the dictionary has no connections, the existing connections are cleared. To see the format of the dictionary, send the dumpdictionary message and print or otherwise capture the resulting dictionary that is sent out the object's left outlet.

disconnect

In left inlet: The word disconnect followed by an inlet index and outlet index deletes a connection between the inlet and outlet if it exists.

dumpconnections

The dumpdictionary message outputs a Max dictionary message listing all current connections of the matrix object.

See Also

Name Description
crosspatch Patching Editor for Matrix Objects
gate Pass input to an outlet
matrix~ Signal routing and mixing matrix
matrixctrl Matrix switch control
receive Receive messages without patch cords
router Route messages to multiple locations
switch Accept messages from a specific inlet
send Send messages without patch cords
switch Accept messages from a specific inlet