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

live.grid

A UI grid of steps, with constraints and directions

Description

live.grid is a user interfaces object designed for use with the chucker~ object. It provides a display grid of steps, constraints for transposition, and playback direction for use in controlling the chucker~ object.

Examples

Arguments

None.

Attributes

amountcolor [4 floats]

Defines the color of the overlay in RGBA format.

bgstepcolor [4 floats]

Sets the background step color of the live.grid object in RGBA format.

bgstepcolor2 [4 floats]

Sets the second background step color of the live.grid object in RGBA format.

bordercolor [4 floats]

Sets the border color of the live.grid object in RGBA format.

bordercolor2 [4 floats]

Sets the second border color of the live.grid object in RGBA format.

columns [int] (default: 16)

Sets the number of columns in the live.grid object's display

direction [int] (default: 1)

Toggles the display of the directions arrows.

direction_height [float] (default: 15.)

Direction Panel Height

directioncolor [4 floats]

Sets the color of the direction's arrows in RGBA format.

displayamount [int] (default: 0)

Enables the display the of the amountcolor attribute color over live.grid steps. This is only available in non-matrix mode.

freezecolor [4 floats]

Sets the color of all frozen steps in RGBA format.

hbgcolor [4 floats]

Sets the highlighted background color of the live.grid object in RGBA format.

Toggles link mode. When activated, all the necessary messages to synchronize two live.grid objects are sent out the right outlet.

marker_horizontal [int] (default: 4)

Defines the "first beat" indicator on the live.grid object's horizontal axis. The bgstepcolor attribute sets the display color for this indicator. To hide the indicator, set the attribute value to zero.

marker_vertical [int] (default: 4)

Defines the "first beat" indicator on the live.grid object's vertical axis. The bgstepcolor attribute sets the display color for this indicator. To hide the indicator, set the attribute value to zero.

matrixmode [int] (default: 0)

Toggles matrix mode for the object's display. In matrix mode, multiple cells in a row or column may be selected.
Note: The list and steps messages change their syntax slightly when used in conjunction with this attribute. See the listing for these messages for more details.

mode [int] (default: 0)

Defines the current display mode.

Possible values:

0 = 'Step Edit'
1 = 'Step constraint'

rounded [float] (default: 4.)

Defines the roundness of the grid in pixels.

rows [int] (default: 16)

Sets the number of rows in the live.grid object's display. The minimum number of rows is 2 when the matrixmode attribute is not set, and 1 if it is.

spacing [float] (default: 1.)

Defines the grid spacing in pixels.

stepcolor [4 floats]

Sets the step color of the live.grid object in RGBA format.

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.

Parameter Attributes

Order

Typeint

Sets the order of recall of this parameter. Lower numbers are recalled first. The order of recall of parameters with the same order number is undefined.

Parameter Mode Enable

Typeint

Parameter Mode Enable (not available from Parameters window)

Link to Scripting Name

Typeint

When checked, the Scripting Name is linked to the Long Name attribute.

Long Name

Typesymbol

The long name of the parameter. This name must be unique per patcher hierarchy.

Short Name

Typesymbol

Sets the short name for the object's visual display. The maximum length varies according to letter width, but is generally in a range of 5 to 7 characters.

Type

Typeint

Specifies the data type. The data types used in Max for Live are:

Float
Int
Enum (enumerated list)
Blob

Note: By convention, the Live application uses floating point numbers for its calculations; the native integer representation is limited to a range of 0-255 (similar to the char data type used in Jitter). When working with Live UI objects whose integer values are likely to be outside of the 0-255 range, the Type attribute should be set to Float, and the Unit Style attribute should be set to Int.

Range/Enum

Typelist

When used with an integer or floating point data type, this field is used to specify the minimum and maximum values of the parameter.
When used with an enumerated list (Enum) data type, this field contains a space-delimited list of the enumerated values (if list items contain a space or special characters, the name should be enclosed in double quotes).

Modulation Mode

Typeint

Sets the Modulation Mode used by the Live application. The modulation modes are:

None
Unipolar
Bipolar
Additive
Absolute

Modulation Range

Typelist

This parameter is only used with the Absolute modulation mode. It specifies defines the range of values used.

Initial Enable

Typeint

When checked (set to 1), the UI object can store an initialization value. The value is set using the Initial attribute (see below).

Initial

Typelist

Sets the initial value to be stored and used when the Initial Enable attribute is checked.

Unit Style

Typeint

Sets the unit style to be used when displaying values. The unit style values are: Int: displays integer values
Float: displays floating point values
Time: displays time values in milliseconds (ms)
Hertz: displays frequency values (Hz/kHz).
deciBel: displays loudness (dB)
%: Percentage
Pan: displays Left and Right values
Semitones: displays steps (st)
MIDI: displays pitch corresponding to the MIDI note number
Custom: displays custom data type
Native: defaults to floating point values

Custom Units

Typesymbol

Sets the units to be used with the 'Custom' unit style (see "Unit Style", above). Custom unit strings may be simple symbols (e.g. "Harmonic(s)"), in which case the parameter's value will be displayed in its 'Native' display mode, followed by the symbol (e.g. "12 Harmonic(s)" for an Int-typed parameter or "12.54 Harmonic(s)" for a Float-typed parameter). For additional control over the numerical component displayed, a sprintf-style string may be used (e.g. "%0.2f Bogon(s)", which would display a value such as ".87 Bogons").

Exponent

Typefloat

When set to a value other than 1., the parameter's input and output values will be exponentially scaled according to the factor entered in this column.

Steps

Typeint

The number of steps available between the minimum and maximum values of a parameter. For instance, if the parameter has a range from 0.-64., with Steps set to 4, the user can only set the parameter to 0, 21.33, 42.66 and 64.

Parameter Visibility

Typeint

For automatable parameters (Int, Float, Enum), 'Stored Only' disables automation, although parameter values are stored in presets. 'Hidden' causes the parameter's value to be ignored when storing and recalling data. Non-automatable parameters (Blob) are 'Stored Only' by default, and can be set to 'Hidden', if desired.

Update Limit (ms)

Typeint

Speed limits values triggered by automation.

Defer Automation Output

Typeint

Defers values triggered by automation.

Messages

int

Arguments

step-index [int]
Sets, displays and outputs the current step. The list sent out the left outlet of the live.grid object takes the form step(s) direction (optional, depending on the visibility of the directions panel). When the live.grid object is in Matrix Mode and there is no value selected in the column, a 0 is sent as the step value.

list

Arguments

input-list [list]
When the direction attribute is set to 0, a list of 2 values sets the step index and value.
When the direction attribute is set to 1, a list of 3 values sets the step index, value and direction.
When the matrixmode attribute is set to 1, a list of 3 values sets the object's behavior: x, y, and state (0/1). An optional fourth value can be used to set direction (-1/0/1).

dictionary

Arguments

ARG_NAME_0 [symbol]
TEXT_HERE

clear

The clear message is only used when the matrixmode attribute is enabled, and will deselect all currently set rows and columns.

constraint

Arguments

constraint of the step [list]
Sets the constraint for a specific step. For instance, the message constraint 3 0 0 1 1 sets the constraints of the third step (column numbering starts at 1) to 0 0 1 1.

directions

Arguments

directions [list]
Sets the grid directions, used to indicate the direction of playback of a step:
-1: Backward
0: Stop
1: Forward

down

Decreases (lowers) the current values of all the steps by one. New step values are sent out the second outlet.

Note: The current constraints, if any, are also taken into account when altering current step values; the resulting shift might be "rounded" to the closest step.

freeze

Arguments

step-index [int]
Set the index to 0 to hide the overlay used to indicate frozen values. Any index greater than zero sets and displays the frozen step.

getcolumn

Arguments

column [int]
The word getcolumn, followed by a number that specifies a column in the live.grid display, will send a list consisting of the word column, a number that specifies the column index, and a list of the current column values out the fourth (dumpout) outlet (column numbering starts at 1).

getconstraint

Arguments

column [int]
The word getconstraint, followed by a number that specifies a column in the live.grid display, will send a list consisting of the column number followed by a list indicating the constrain state of each cell in the column, from bottom to top (column numbering starts at 1). Constraints are indicated as follows:
0: Constraint
1: No constraint

getdirections

Arguments

column [int]
The word getdirections, followed by a number that specifies a column in the live.grid display, will send a list consisting of the column number followed by the direction out the fourth (dumpout) outlet (column numbering starts at 1). The direction is indicated as follows:
-1: Backward
0: Stop
1: Forward

getcell

Arguments

x-index [int]
y-index [int]
The word cell, followed by a pair of numbers that specifies the x and y indices of a cell in the live.grid display, will send a list consisting of the word cell, a number pair that specifies the x and y indices, and the value of the cell (column numbering starts at 1).

getrow

Arguments

row [int]
The word getrow, followed by a number that specifies a row in the live.grid display, will send a list consisting of the word row, a number that specifies the row index, and a list of the current row values out the fourth (dumpout) outlet (row numbering starts at 1).

init

Restores and outputs the initial values.

left

Rotate the values of all steps to the left. New steps values are sent out the second outlet.

Note: The current constraints, if any, are also taken into account when altering current step values; the resulting shift might be "rounded" to the closest step.

linkdump

When the link attribute is set to 1, the linkdump message sends all messages required to synchronize one live.grid object to another live.grid object out the object's right outlet.

(mouse)

Click and drag to edit the step values or constraints, depending on the current display mode.

set

Arguments

step-index [int]
Sets and displays the current output step without causing output.

random

Arguments

type (optional) [list]
The word random generates new step values or step constraints, depending on the current mode. An optional second argument can be used to select a portion of the UI object to randomize:
steps: Randomize the steps values
constraint: Randomize constraints and make sure that the steps values are correct with respect to the new constraints grid
directions: Randomize directions if the direction attribute is set to 1.

reset

Arguments

type (optional) [list]
The word reset sets the default values or clears the constraints, depending on the current mode. An optional second argument can be used to select a portion of the UI object to reset:
steps: Reset the steps values (Note: since the reset may interact with the current constraints, a given step value may not be completely reset)
constraint: Clear all constraints
directions: Set all the directions to forward if the direction attribute is set to 1.

setcell

Arguments

x-index [int]
y-index [int]
value [int]
The word setcell, followed by a pair of numbers that specifies the x and y indices of a cell in the live.grid display and a number value, will set the value of the specified cell (column numbering starts at 1).

steps

Arguments

step values [list]
Sets the values of all the steps at once. Value numbering starts at 1.
Rotate the values of all the steps to the right. New steps values are sent out the second outlet.

Note: The current constraints, if any, are also taken into account when altering current step values; the resulting shift might be "rounded" to the closest step.

up

Increases (raises) the values of all steps. New steps values are sent out the second outlet.

Note: The current constraints, if any, are also taken into account when altering current step values; the resulting shift might be "rounded" to the closest step.

Output

anything


Out the fifth outlet: dumpout message used to query the live.grid object.
Out the rightmost outlet: Synchronization messages are sent through this outlet when the link attribute is set to 1.

list


Out the leftmost outlet: Current step value: y value, direction (optional, depending on the visibility of the directions pane).
Out second outlet: The steps values are sent out this outlet whenever they are changed via the mouse or a message. If the live.grid object is in Matrix Mode, the step value/y value coordinates of all "on" points are sent out the outlet.
Out third outlet: The directions values are sent out this outlet whenever they are changed via the mouse or a message. Note that this outlet does not output anything when the direction attribute is set to 0.
Out the fourth outlet: Mouseover information: x, y, direction (optional, depending on the visibility of the directions panel). Also when the mouse is used to change a setting, the message mousechange N is sent, where N indicates the type of change (0 = steps, 1 = directions, 2 = constraints).

See Also

Name Description
Max For Live Max For Live
live.step Step Sequencer UI object
multislider Display data as sliders or a scrolling display
itable Data table editor
matrixctrl Matrix switch control
chucker~ Segment audio and reorder it on looped playback