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
message when a gain argument to is not supplied.Attributes
defaultgain[float]
Default Gain
inhibit[int]
When inhibit is enabled, messages such as or 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 will scale the 74.
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]: 0
Adds or removes the object from the patcher's background layer.
adds the object to the background layer, 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'
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
A list received in any other inlet is routed to any connected outlets.
clear
In left inlet: The
message removes all inlet - outlet connections.
connect
In left inlet: The word defaultgain attribute) will be used for the connection.
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
dictionary
The word
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 message and print or otherwise capture the resulting dictionary that is sent out the object's left outlet.
disconnect
In left inlet: The word
followed by an inlet index and outlet index deletes a connection between the inlet and outlet if it exists.
dumpconnections
The matrix object.
message outputs a Max dictionary message listing all current connections of theSee 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 |