live.step
Step Sequencer UI object
Description
live.step displays multiple sequences which have multiple steps composed of pitch, velocity, and duration. Two additional steps (Extra 1 and Extra 2) are available for user-defined display.
Arguments
None.
Attributes
autoscroll[int]: 1
When set to 1, this attribute lets you expand the scrolling dragging the cursor to the edge of the display or to drag a selected pitch beyond the range of the current visual display.
bgcolor[4 floats]
Sets the background color of the live.step object in RGBA format.
bgcolor2[4 floats]
Sets the second background color of the live.step object in RGBA format.
bgrulercolor[4 floats]
Sets the ruler background color of the live.step object in RGBA format.
bgunitcolor[4 floats]
Sets the unit background color of the live.step object in RGBA format.
blackkeycolor[4 floats]
Sets the color for the upper (black) keys in RGBA format.
bordercolor[4 floats]
Sets the border color of the live.step object in RGBA format.
display_seq[atom_long]: 1
Sets the sequence to be displayed (index numbering starts at 1).
duration_active[int]: 1
Activates display of the duration layer
editlooponly[int]: 0
When the
attribute is set to 1, the edit messages ( , , , , , , ) are only applied to indices inside the loop selection.
extra1_active[int]: 1
Activates display of the user-definable extra1 layer
extra1_max[atom_long]: 127
Sets the maximum value for the user-definable extra1 layer.
extra1_min[atom_long]: 0
Sets the minimum value for the user-definable extra1 layer
extra1_signed[int]: 0
Displays the user-definable extra1 layer as Signed.
extra2_active[int]: 1
Activates display of the user-definable extra2 layer
extra2_max[atom_long]: 127
Sets the maximum value for the user-definable extra2 layer
extra2_min[atom_long]: 0
Sets the minimum value for the user-definable extra2 layer
extra2_signed[int]: 0
Displays the user-definable extra2 layer as Signed.
extra_thickness[float]: 0.5
Sets the thickness of the vertical bars displayed in the extra1 layer. Values should be in the range of 0. (invisible) to 1.0 (full width).
hbgcolor[4 floats]
Sets the highlight background color of the live.step object in RGBA format.
loopbordercolor[4 floats]
Sets the loop border color of the live.step object in RGBA format.
loopruler[int]: 1
Toggles the display of the loop ruler.
mode[int]: 0
An integer or symbol can be used to set the information display mode of the live.step object.
Possible values:
0 = 'All'
(
Set/change the live.step values displayed
)
Display note, velocity, duration, and user-definable extra1 and extra2 values at once.
1 = 'Pitch'
(
Display pitch
)
Display pitch values.
2 = 'Velocity'
(
Display velocity
)
Display velocity bars.
3 = 'Duration'
(
Display duration
)
Display duration bars.
4 = 'Extra1'
(
Display extra1
)
Display extra1 bars.
5 = 'Extra2'
(
Display extra2
)
Display extra2 bars.
nseq[atom_long]: 1
Defines the number of sequences.
param_connect[symbol]:
Connect to Parameter
pitch_active[int]: 1
Activates display of the pitch layer
stepcolor[4 floats]
Sets the step color of the live.step object in RGBA format.
stepcolor2[4 floats]
Sets the second step color of the live.step object in RGBA format.
target_seq[atom_long]
Defines the sequence to be edited (index numbering starts at 1).
textcolor[4 floats]
Sets the text color of the live.step object in RGBA format.
unitruler[int]: 1
Toggles the display of the unit ruler.
usestepcolor2[int]: 1
Toggles the use of a second step color in the display
velocity_active[int]: 1
Activates display of the Velocity layer
whitekeycolor[4 floats]
Sets the color for the lower level (white) keys 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]: 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.
Parameter Attributes
Orderint
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 Enableint
Parameter Mode Enable (not available from Parameters window)
Link to Scripting Nameint
When checked, the Scripting Name is linked to the Long Name attribute.
Long Namesymbol
The long name of the parameter. This name must be unique per patcher hierarchy.
Short Namesymbol
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.
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 256
values, with a default range of 0-255 (similar to the char data type used
in Jitter). When working with Live UI objects whose integer values will
exceed this range, the Type attribute should be set to Float,
and the Unit Style attribute should be set to Int.
Range/Enumlist
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).
Clip Modulation Modeint
Sets the Clip Modulation Mode used by the Live application. The modulation
modes are:
None
Unipolar
Bipolar
Additive
Absolute
Clip Modulation Rangelist
This parameter is only used with the Absolute modulation mode. It specifies defines the range of values used.
Initial Enableint
When checked (set to 1), the UI object can store an initialization value. The value is set using the Initial attribute (see below).
Initiallist
Sets the initial value to be stored and used when the Initial Enable attribute is checked.
Unit Styleint
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 Unitssymbol
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").
Exponentfloat
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.
Stepsint
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 Visibilityint
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)int
Speed limits values triggered by automation.
Defer Automation Outputint
Defers values triggered by automation.
Messages
bang
If the
attribute is set to zero, a message will send the values associated with the current step of all sequences out the object's left outlet. If the attribute is set to a value greater than zero, a message will send the values associated with the current step of the currently specified sequence out the object's left outlet.
int
If the
attribute is set to zero, an integer sets the current step of all sequences to the corresponding integer (index numbering starts at 1). If the attribute is set to a value greater than zero, an integer sets the current step of the currently specified sequence. The values associated with the current step are sent out the object's left outlet.- step-index
[int]
active
If the
If the attribute is set to a value greater than zero, the message deactivates the specified sequence. The word , followed by any non-zero value, will activate the specified sequence.
- 0/1
[int]
copy
The word
will copy the entire sequence. One or two optional integer arguments may be used to specify starting and ending indices (index numbering starts at 1). For example, will copy the sequence starting at index 2, while will copy starting at index 2 and ending at index 5.- start-index
[int]
- stop-index
[int]
dictionary
Replaces the current sequence or all sequences of live.step by the content of a named dictionary. If multiple sequences are present in the dictionary, every sequences is replaced.
- dictionary-name
[symbol]
direction
The word
: forward
: backward
: back and forth
: Rotate
: random
If the attribute is set to zero, the integer argument sets the direction of all sequences when object's playback is controlled using the message.
If the attribute is set to a value greater than zero, an integer sets the direction of the specified sequence when object's playback is controlled using the message.
- direction-value
[int]
doedit
The word live.step object. The modes specified by the number arguments are:
: transpose the pitch upward.
: transpose the pitch downward.
: Rotate the steps to the left.
: Rotate the steps to the right
: Randomize steps depending on the attribute. For instance, if the is set to velocity, 4 will only randomize the velocity.
For more advanced editing features, use the , , , , , , and messages.
- edit-mode
[int]
down
The word
An optional argument may be used with the message to specify the parameters to be decreased without having to use the attribute. The optional arguments are:
: decrease all parameters
: transpose pitches downward
: decrease velocities
: decrease durations
: decrease values for the user-definable Extra 1 parameter
: decrease values for the user-definable Extra 2 parameter
- parameter
[symbol]
dump
Sends the values (pitch, velocity, duration, extra1, extra2) of all steps of the currently specified sequence out the live.step object's right outlet.
dump_to_dict
Sends out a dictionary of the current sequence or all sequences (if target_seq is set to 0), via the dump outlet.
duration
The word
, followed by an integer that specifies a starting index into a sequence (index numbering starts with 1) and a list of values (in ticks), will set the duration values for the current sequence specified by the attribute.- start-index/values
[list]
extra1
The word
, followed by an integer that specifies a starting index into a sequence (index numbering starts with 1) and a list of values, will set the extra1 values for the current sequence specified by the attribute.- start-index/values
[list]
extra2
The word
, followed by an integer that specifies a starting index into a sequence (index numbering starts with 1) and a list of values, will set the extra2 values for the current sequence specified by the attribute.- start-index/values
[list]
fetch
The word live.step object's fourth (dumpout) outlet in the form <parameter-name> <step-number> <value> .
, followed by a symbol that specifies a step parameter (pitch, velocity, duration, extra1, or extra2) and an integer that specifies a step number, will send a list out of the- parameter name
[symbol]
- step number
[int]
fold
The word live.step object only displays those pitches which are present in the sequence specified by the attribute rather than all possible pitches. Fold mode displays only the pitches specific to each individual sequence .
Note: Sequence editing messages such as , , and use the list of pitches displayed in fold state when performing operations (i.e., the message will only choose randomly from among the pitches displayed on fold mode. These operations are also dependent on the target sequence, as well). for all sequences.
- 0/1
[int]
fold_pitch
The word live.step object in fold mode. As with the message, the message sets pitches to be displayed in the sequence specified by the attribute.
, followed by an integer or list of integers that specify MIDI note numbers, sets the pitches to be displayed by the- pitches-list
[list]
getactive
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send the active state of the currently specified sequence out the
getcurrentstep
The message live.step object's fourth (dumpout) outlet in the form of a number preceded by the word . When working with multiple sequences, the message will report the current step of the targeted sequence (specified by the attribute).
will send the current step of the sequence out the
getdirection
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send the direction state of the currently specified sequence out the
getduration
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send a list of all the duration values in the sequence specified by the attribute out the
getextra1
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send a list of all the extra1 values in the sequence specified by the attribute out the
getextra2
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send a list of all the extra2 values in the sequence specified by the attribute out the
getinterval
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send the interval of the currently specified sequence out the
getloop
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send the loop points of the currently specified sequence out the
getmodelist
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send the list of the display modes out the
getnstep
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send the number of steps in the currently specified sequence out the
getpitch
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send a list of all the pitch values in the sequence specified by the attribute out the
getstep
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send a list of the values (pitch, velocity, duration, extra1, extra2) of the specified index of the currently specified sequence out the- step-index
[int]
getvelocity
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send a list of all the velocity values in the sequence specified by the attribute out the
getzoom
The message live.step object's fourth (dumpout) outlet in the form of a list preceded by the word .
will send the zoom pitch values of the currently specified sequence out the
init
Restores and outputs the initial values entered when Initial Enabled is checked in the live.step object's Inspector.
interval
Sets the interval of the currently specified sequence.
- time-value
[list]
left
The word
An optional argument may be used with the message to specify the parameters to be rotated without having to use the attribute. The optional arguments are:
: Rotate all parameters to the left
: Rotate all pitches to the left
: Rotate all velocities to the left
: Rotate all durations to the left
: Rotate all user-definable Extra 1 parameters to the left
: Rotate all user-definable Extra 2 parameters to the left
- parameter
[symbol]
loop
The word
, followed by two numbers that specify starting and ending indices, sets the loop points of the currently specified sequence.- start-index
[int]
- stop-index
[int]
(mouse)
Whenever the live.step object is edited using the mouse, the message followed by a number in the range 0-2 will be sent out the object's dumpout outlet. The number specifies what portion of the live.step display has been modified, as follows:
0: The pitch, velocity, duration, extra1, or extra2 settings have been modified.
1: The looping portion of the UI has been modified.
2: Edits have been made in the ruler area of the UI.
next
The
message will send the values associated with the next step of all sequences out the object's left outlet. If the attribute is set to a value greater than zero, a message will send the values associated with the next step of the currently specified sequence out the object's left outlet.
nstep
Sets the number of steps in the target sequence.
- number of steps
[int]
paste
When the
message is received without argument, all parameters are pasted at the same location as they were copied. An optional argument to specify parameter type (pitch, velocity, duration, extra1, extra2) can be used to paste only specific items. An additional option number argument specifies the starting index where the copied steps will be pasted (index numbering starts at 1).- parameter
[symbol]
- start-index
[int]
pitch
The word
, followed by an integer that specifies a starting index into a sequence (index numbering starts with 1) and a list of values, will set the pitch values for the current sequence specified by the attribute.- start-index/values
[list]
random
The word
An optional argument may be used with the message to specify the parameters to be scrambled without having to use the attribute. The optional arguments are:
: Randomize all parameters
: Randomize all pitches
: Randomize all velocities
: Randomize all durations
: Randomize all values for the user-definable Extra 1 parameter
: Randomize all values for the user-definable Extra 2 parameter
- parameter
[symbol]
reset
The
message allows you to deactivate the current step. It is equivalent to setting the current step to 0.
right
The word
An optional argument may be used with the message to specify the parameters to be rotated without having to use the attribute. The optional arguments are:
: Rotate all parameters to the right
: Rotate all pitches to the right
: Rotate all velocities to the right
: Rotate all durations to the right
: Rotate all values for the user-definable Extra 1 parameter to the right
: Rotate all values for the user-definable Extra 2 parameter to the right
- parameter
[symbol]
scramble
The word
An optional argument may be used with the message to specify the parameters to be scrambled without having to use the attribute. The optional arguments are:
: Randomize the order of all parameters
: Randomize the order of all pitches
: Randomize the order of all velocities
: Randomize the order of all durations
: Randomize the order of all user-definable Extra 1 parameters
: Randomize the order of all user-definable Extra 2 parameters
If you are not using all, and that you pass as argument, will keep your steps synchronized. For instance, the message will reorder the pitches, but the other parameters will follow.
- parameter
[symbol]
- keep-step-sync
[int]
set
If the
If the attribute is set to a value greater than zero, the word , followed by an integer sets the current step of the currently specified sequence.
- step-index
[int]
setall
The word live.step object is in display mode. An optional first argument specifying a specific layer (i.e. ) can be used to set all values in a specify layer. When the attribute is set to 1, the message will only be applied to indices inside the loop selection.
, followed by a number, will assign that value to every layer in the currently targeted sequence when the the- value
[list]
settimeshift
The word
, followed by a positive or negative number that specifies an offset, will move to the relative position from the current step in the sequence and first that step (e.g., sending the message when the current step number is 3 will cause the content of step 2 to fire.- time-shift
[float]
sort
The word
Optional arguments may be used with the message to specify behavior, synchronization, and direction of sortint. The can be used to set the parameters to be sorted without having to use the attribute. The optional arguments are:
: Sort the order of all parameters
: Sort the order of the pitches
: Sort the order of the velocities
: Sort the order of the durations
: Sort the order of all user-definable Extra 1 parameters
: Sort the order of all user-definable Extra 2 parameters
The first integer argument specifies whether or not to keep the step values synchronized - it only works if the attribute is not set to . For instance, the message will reorder the steps based on the pitch, but the velocity, duration and user-definable extra1 and extra2 values associated to the pitch will be maintained. An optional second integer argument can be used to set the sorting order:
: Ascending (the default) : Descending.
- parameter
[symbol]
- keep-step-sync
[int]
- direction
[int]
step
The word
the index (index numbering starts at 1)
the MIDI note number (0-127)
the note velocity (0-127)
the duration (30, 60, 120, 240, 480, 960, 1920, 3840 ticks)
- index
[int]
- midi-note
[int]
- velocity
[int]
- duration
[int]
time
The word live.step object does not have an internal , so you need to send the time message often if you want to use it to drive the live.step object.
, followed by a list of 6 numbers, defines the timing position in the sequence. The required arguments are , , , , , and . The- bar
[int]
- beat
[int]
- unit
[int]
- resolution
[int]
- time-sig-numerator
[list]
- time-sig-denominator
[list]
up
The word
An optional argument may be used with the message to specify the parameters to be increased without having to use the attribute. The optional arguments are:
: Increase all parameters
: Transpose pitches upward
: Increase velocities
: Increase durations
: Increase the value of all user-definable Extra 1 parameters
: Increase the value of all user-definable Extra 2 parameters
- parameter
[symbol]
velocity
The word
, followed by an integer that specifies a starting index into a sequence (index numbering starts with 1) and a list of values, will set the velocity values for the current sequence specified by the attribute.- start-index/values
[list]
zoom
Sets the the upper and lower displayed range of the currently specified sequence.
- low-pitch
[float]
- high-pitch
[float]
zoom_fit
The word live.step object to adjust so that the highest and lowest note values become the upper and lower limits of the display.
will cause the currently displayed pitch range of the
zoom_in
The word live.step object display to decrease by a factor of a fifth (7 steps) at the top and bottom, resulting in a "zoom in" effect.
will cause the current pitch range of the
zoom_out
The word live.step object display to increase by a factor of a fifth (7 steps) at the top and bottom, resulting in a "zoom out" effect.
will cause the current pitch range of theOutput
anything
Out the fourth outlet: The output in response to dumpout messages used to query the live.step object.
int
Out the third outlet: Mouseover information.
Out the fifth outlet: Sequence index out.
list
Out the leftmost outlet: Step values.
Out the second outlet: Current loop points for each sequence.
See Also
Name | Description |
---|---|
live.grid | A UI grid of steps, with constraints and directions |
multislider | Display data as sliders or a scrolling display |
matrixctrl | Matrix switch control |