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.
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.
Sets the background color of the live.step object in RGBA format.
Sets the second background color of the live.step object in RGBA format.
Sets the ruler background color of the live.step object in RGBA format.
Sets the unit background color of the live.step object in RGBA format.
Sets the color for the upper (black) keys in RGBA format.
Sets the border color of the live.step object in RGBA format.
Sets the sequence to be displayed (index numbering starts at 1).
When the editlooponly attribute is set to 1, the edit messages ( up , down , left , right , random , scramble , sort ) are only applied to indices inside the loop selection.
Sets the maximum value for the user-definable extra1 layer.
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).
Sets the highlight background color of the live.step object in RGBA format.
Sets the loop border color of the live.step object in RGBA format.
Toggles the display of the loop ruler.
An integer or symbol can be used to set the information display mode of the live.step object.
Display note, velocity, duration, and user-definable extra1 and extra2 values at once.
Defines the number of sequences.
Sets the step color of the live.step object in RGBA format.
Sets the second step color of the live.step object in RGBA format.
Defines the sequence to be edited (index numbering starts at 1).
Sets the text color of the live.step object in RGBA format.
Toggles the display of the unit ruler.
Sets the color for the lower level (white) keys in RGBA format.
If the target_seq attribute is set to zero, a bang message will send the values associated with the current step of all sequences out the object's left outlet. If the target_seq attribute is set to a value greater than zero, a bang message will send the values associated with the current step of the currently specified sequence out the object's left outlet.
If the target_seq 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 target_seq 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.
If the target_seq attribute is set to zero, the message active 0 deactivates all sequences. The word active , followed by any non-zero value, will activate all sequences.
If the target_seq attribute is set to a value greater than zero, the message active 0 deactivates the specified sequence. The word active , followed by any non-zero value, will activate the specified sequence.
The word copy 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, copy 2 will copy the sequence starting at index 2, while copy 2 5 will copy starting at index 2 and ending at index 5.
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.
0 : transpose the pitch upward.
1 : transpose the pitch downward.
2 : Rotate the steps to the left.
4 : Randomize steps depending on the mode attribute. For instance, if the mode is set to velocity, doedit 4 will only randomize the velocity.
For more advanced editing features, use the up , down , left , right , random , scramble , and sort messages.
Sends the values (pitch, velocity, duration, extra1, extra2) of all steps of the currently specified sequence out the live.step object's right outlet.
Sends out a dictionary of the current sequence or all sequences (if target_seq is set to 0), via the dump outlet.
The word duration , 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 target_seq attribute.
The word extra1 , 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 target_seq attribute.
The word extra2 , 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 target_seq attribute.
If the target_seq attribute is set to zero, the integer argument sets the direction of all sequences when live.step object's playback is controlled using the time message.
If the target_seq attribute is set to a value greater than zero, an integer sets the direction of the specified sequence when live.step object's playback is controlled using the time message.
The word down will decreases the values of the sequence based on the target_seq and mode attributes. For instance, if the mode attribute is set to velocity, the down message will only decrease the velocity of the currently specified sequence (or all the sequences if the target_seq attribute is set to zero).
The message getactive will send the active state of the currently specified sequence out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word active .
The message getcurrentstep will send the current step of the sequence out the live.step object's fourth (dumpout) outlet in the form of a number preceded by the word currentstep . When working with multiple sequences, the getcurrentstep message will report the current step of the targeted sequence (specified by the target_seq attribute).
The word fold , followed by a 0 or 1, toggles the folded display mode. When folding is enabled, the live.step object only displays those pitches which are present in the sequence specified by the target_seq attribute rather than all possible pitches. Fold mode displays only the pitches specific to each individual sequence .
Note: Sequence editing messages such as up , down , and random use the list of pitches displayed in fold state when performing operations (i.e., the random 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.
The message getduration will send a list of all the duration values in the sequence specified by the target_seq attribute out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word duration .
The message getextra1 will send a list of all the extra1 values in the sequence specified by the target_seq attribute out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word extra1 .
The message getextra2 will send a list of all the extra2 values in the sequence specified by the target_seq attribute out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word extra2 .
The message getdirection will send the direction state of the currently specified sequence out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word direction .
The message getinterval will send the interval of the currently specified sequence out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word interval .
The message getloop will send the loop points of the currently specified sequence out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word loop .
The message getnstep will send the number of steps in the currently specified sequence out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word nstep .
The message getmodelist will send the list of the display modes out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word modelist .
The message getpitch will send a list of all the pitch values in the sequence specified by the target_seq attribute out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word pitch .
The message getstep will send a list of the values (pitch, velocity, duration, extra1, extra2) of the specified index of the currently specified sequence out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word step .
The message getvelocity will send a list of all the velocity values in the sequence specified by the target_seq attribute out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word velocity .
The word fetch , 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 live.step object's fourth (dumpout) outlet in the form <parameter-name> <step-number> <value> .
The message getzoom will send the zoom pitch values of the currently specified sequence out the live.step object's fourth (dumpout) outlet in the form of a list preceded by the word zoom .
The word fold_pitch , followed by an integer or list of integers that specify MIDI note numbers, sets the pitches to be displayed by the live.step object in fold mode. As with the fold message, the fold_pitch message sets pitches to be displayed in the sequence specified by the target_seq attribute.
Restores and outputs the initial values entered when Initial Enabled is checked in the live.step object's Inspector.
Sets the interval of the currently specified sequence.
The word left will rotate (left-shift) the values of the sequence based on the target_seq and mode attributes. For instance, if the mode attribute is set to velocity, the left message will only rotate the velocity of the currently specified sequence (or all the sequences if the target_seq attribute is set to zero).
The word loop , followed by two numbers that specify starting and ending indices, sets the loop points of the currently specified sequence.
The next message will send the values associated with the next step of all sequences out the object's left outlet. If the target_seq attribute is set to a value greater than zero, a next message will send the values associated with the next step of the currently specified sequence out the object's left outlet.
Sets the number of steps in the target sequence.
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.
When the paste 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).
The word pitch , 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 target_seq attribute.
If the target_seq attribute is set to zero, the word set , followed by an integer sets the current step of all the sequences to the corresponding integer (index numbering starts at 1).
If the target_seq attribute is set to a value greater than zero, the word set , followed by an integer sets the current step of the currently specified sequence.
The word random will randomize the values of the sequence based on the target_seq and mode attributes. For instance, if the mode attribute is set to velocity, the random message will only scramble the velocity of the currently specified sequence (or all the sequences if the target_seq attribute is set to zero).
The reset message allows you to deactivate the current step. It is equivalent to setting the current step to 0.
The word right will rotate (right-shift) the values of the sequence based on the target_seq and mode attributes. For instance, if the mode attribute is set to velocity, the left message will only rotate the velocity of the currently specified sequence (or all the sequences if the target_seq attribute is set to zero).
The word time , followed by a list of 6 numbers, defines the timing position in the sequence. The required arguments are bar , beat , unit , resolution-in-ppq , time-signature-numerator , and time-signature-denominator . The live.step object does not have an internal clock , so you need to send the time message often if you want to use it to drive the live.step object.
The word scramble will randomize the order of the values of the sequence based on the target_seq and mode attributes. For instance, if the mode attribute is set to velocity, the left message will only scramble the velocity of the currently specified sequence (or all the sequences if the target_seq attribute is set to zero).
If you are not using mode all, and that you pass 1 as argument, scramble will keep your steps synchronized. For instance, the scramble pitch 1 message will reorder the pitches, but the other parameters will follow.
The word setall , followed by a number, will assign that value to every layer in the currently targeted sequence when the the live.step object is in display mode. An optional first argument specifying a specific layer (i.e. setall velocity 85 ) can be used to set all values in a specify layer. When the editlooponly attribute is set to 1, the setall message will only be applied to indices inside the loop selection.
The word settimeshift , 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 settimeshift -1 when the current step number is 3 will cause the content of step 2 to fire.
The word sort will sort the step values of the sequence based on the target_seq and mode attributes. For instance, if the mode attribute is set to velocity, the sort message will only sort the velocity values of the currently specified sequence (or all the sequences if the target_seq attribute is set to zero).
1 : Ascending (the default) -1 : Descending.
The word velocity , 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 target_seq attribute.
The word up will increase the values of the sequence based on the target_seq and mode attributes. For instance, if the mode attribute is set to velocity, the up message will only increase the velocity of the currently specified sequence (or all the sequences if the target_seq attribute is set to zero).
Sets the the upper and lower displayed range of the currently specified sequence.
The word zoom_in will cause the currently displayed pitch range of the live.step object to adjust so that the highest and lowest note values become the upper and lower limits of the display.
The word zoom_in will cause the current pitch range of the 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.
The word zoom_out will cause the current pitch range of the 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.
Out the fourth outlet: The output in response to dumpout messages used to query the live.step object.
Out the third outlet: Mouseover information.
Out the fifth outlet: Sequence index out.
Out the leftmost outlet: Step values.
Out the second outlet: Current loop points for each sequence.