-
Notifications
You must be signed in to change notification settings - Fork 0
Action Reference
-
Position [
$position
]-
Add [
+
]Parameter 1: time to add
-
Subtract [
-
]Parameter 1: time to subtract
-
Multiply (rel.) [
*
]Parameter 1: value by which to multiply the current position (final position is relative to item start) Parameter 2: relative-mode (menu enum), one of:
- Item-Relative [
$itemrel
]: operation is relative to the beginning of the containing item. - First-Event-Relative [
$firstrel
]: operation is relative to the beginning of the first event.
- Item-Relative [
-
Divide By (rel.) [
/
]Parameter 1: value by which to divide the current position (final position is relative to item start) Parameter 2: relative mode (menu enum), one of:
- Item-Relative [
$itemrel
]: operation is relative to the beginning of the containing item. - First-Event-Relative [
$firstrel
]: operation is relative to the beginning of the first event.
- Item-Relative [
-
Round By [
:round
]Parameter 1: time to which to quantize current position; a time of 0.1.00 would round positions to the nearest beat, for example.
-
Quantize to Musical Value [
:roundmusical
]Parameter 1: musical time to which to quantize current position (menu)
-
Set to Fixed Value [
=
]Parameter 1: position
-
Random Values Between [
:random
]Generate random position values within a range of two points in time.
Parameter 1: minimum position Parameter 2: maximum position
-
Relative Random Values Between [
:relrandom
]Generate a random positional offset within a range of two time values.
Parameter 1: minimum offset position Parameter 2: maximum offset position
-
Move to Cursor [
:tocursor
]Move events to current edit cursor position. Selected events are handled as a group, the first event in the group is moved to the edit cursor position, following events retain their position relative to the first event.
no parameters
-
Add Length [
:addlength
] NOTES ONLYAdd the note event's current length to the event's position; that is, move the event by its duration.
no parameters
-
Scale + Offset (rel.) [
:scaleoffset
]Scale (multiply) and offset (add) to the current position. Convenience method combining the two operations. As with the Multiply and Divide operators, you get a choice between item-relative (default) and first-selected-event-related scaling.
Parameter 1: scale factor / offset time [param3] Parameter 2: relative mode (menu enum), one of:
-
Item-Relative [
$itemrel
]: operation is relative to the beginning of the containing item. -
First-Event-Relative [
$firstrel
]: operation is relative to the beginning of the first event.
-
Item-Relative [
-
-
Length [
$length
] N.B.: NOTES ONLY-
Add [
+
]Parameter 1: time to add
-
Subtract [
-
]Parameter 1: time to subtract
-
Multiply [
*
]Parameter 1: value by which to multiply the current length
-
Divide By [
/
]Parameter 1: value by which to divide the current length
-
Round By [
:round
]Parameter 1: time to which to quantize the current length. For instance, a value of 0.1.00 would round the length of selected events to the nearest beat.
-
Quantize Length to Musical Value [
:roundlenmusical
]Parameter 1: musical time to which to quantize the current length (menu)
-
Quantize Note-Off to Musical Value [
:roundendmusical
]Parameter 1: musical time to which to quantize the current note-off position (menu). For instance, choosing 1/8 would move the note-off of selected events to the nearest 1/8th note grid division.
-
Set to Fixed Value [
=
]Parameter 1: an absolute length to apply to selected note events
-
Set to Musical Length [
:quantmusical
]Parameter 1: a musical length to apply to selected note events (menu)
-
Random Values Between [
:random
]Generate random length values within a range of two time values.
Parameter 1: minimum length Parameter 2: maximum length
-
Relative Random Values Between [
:relrandom
]Generate a random offset to apply to the current length of selected events.
Parameter 1: minimum offset length Parameter 2: maximum offset length
-
Move To Cursor [
:tocursor
]Move the note-off of selected events to the edit cursor position.
no parameters
-
Scale + Offset [
:scaleoffset
]Scale (multiply) and offset (add) to the current length. Convenience method combining the two operations.
Parameter 1: scale factor Parameter 2: offset length
-
-
Channel [
$channel
]-
Add [
+
]Parameter 1: value to add (-15 - 15)
-
Subtract [
-
]Parameter 1: time to subtract (-15 - 15)
-
Set to Fixed Value [
=
]Parameter 1: a channel to assign to selected note events
-
Random Values Between [
:random
]Generate random channel values within a range of two time values.
Parameter 1: minimum channel Parameter 2: maximum channel
-
Relative Random Values Between [
:relrandom
]Generate a random offset to apply to the current channel of selected events.
Parameter 1: minimum offset channel distance Parameter 2: maximum offset channel distance
-
Ramp in Selection Range [:
line
]Given the time domain of the selected events, generate a line between the minimum and maximum channel values and distribute it across all selected events. Or, if you prefer, the first event is set to the minimum, the last event is set to the maximum, and the events in-between are interpolated between those extremes based on their position.
Parameter 1: lower bound of channel range Parameter 2: upper bound of channel range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
Relative Ramp in Selection Range [
:relline
]Give the time domain of the selected events, generate a line between the minimum and maximum values and apply it as an offset to the channel value of all selected events.
Parameter 1: lower bound of relative channel range Parameter 2: upper bound of relative channel range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
-
Type [
$type
]-
Set to Fixed Value [
=
]Set the event type. All other event information (channel, data bytes, etc.) remains unchanged, so this may have unexpected results.
Parameter 1: event type (menu enum), one of:
- Note (
0x90
) [$note
] - Poly Pressure (
0xA0
) [$polyat
] - Controller (
0xB0
) (continuous controller) [$cc
] - Program Change (
0xC0
) [$pc
] - Aftertouch (channel pressure,
0xD0
) [$at
] - Pitch Bend (
0xE0
) [$pb
]
- Note (
-
-
Property [
$property
]-
Set to Fixed Value [
=
]Set the event flags.
Parameter 1: event flags (menu enum), one of:
- Clear [
0
]: unselected, unmuted - Selected [
1
]: selected, unmuted - Muted [
2
]: unselected, muted - Selected + Muted [
3
]: selected, muted
- Clear [
-
Add Property [
:addprop
]Add a single event flag.
Parameter 1: event flags (menu enum), one of:
- Selected [
1
]: selected, unmuted - Muted [
2
]: unselected, muted - Selected + Muted [
3
]: selected, muted
- Selected [
-
Remove Property [
:removeprop
]Remove a single event flag.
Parameter 1: event flags (menu enum), one of:
- Selected [
1
]: selected, unmuted - Muted [
2
]: unselected, muted - Selected + Muted [
3
]: selected, muted
- Selected [
-
CC Set Curve [
:ccsetcurve
]Parameter 1: curve type (menu enum), one of:
- Square [
$square
] - Linear [
$linear
] - Slow Start/End [
$slowstartend
] - Fast Start [
$faststart
] - Fast End [
$fastend
] - Bezier [
$bezier
]
Parameter 2: bezier extension data (floating-point number, -1 - 1), only valid for bezier curve type
- Square [
-
-
Value 1 [
$value1
]-
Add [
+
]Parameter 1: value to add
-
Subtract [
-
]Parameter 1: value to subtract
-
Multiply [
*
]Parameter 1: value by which to multiply the current value
-
Divide By [
/
]Parameter 1: value by which to divide the current value
-
Round By [
:round
]Parameter 1: value to which to quantize the current value. For instance, a value of 5 would round the current value to a multiple of 5.
-
Set to Fixed Value [
=
]Parameter 1: value
-
Clamp Between [
:clamp
]Parameter 1: lower range of clamp Parameter 2: upper range of clamp
-
Random Values Between [
:random
]Generate random values within a range of two values.
Parameter 1: minimum value Parameter 2: maximum value
-
Relative Random Values Between [
:relrandom
]Generate a random offset to apply to the current value of selected events.
Parameter 1: minimum offset value distance Parameter 2: maximum offset value distance
-
Use Value 2 [
:getvalue2
]Replace the current value with the Value 2 value (for instance, set the note# to the velocity)
no parameters
-
Mirror [
:mirror
]Mirror/invert the current value around a reference value.
Parameter 1: mirror reference value
-
Ramp in Selection Range [:
line
]Given the time domain of the selected events, generate a line between the minimum and maximum values and distribute it across all selected events. Or, if you prefer, the first event is set to the minimum, the last event is set to the maximum, and the events in-between are interpolated between those extremes based on their position.
Parameter 1: lower bound of value range Parameter 2: upper bound of value range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
Relative Ramp in Selection Range [
:relline
]Give the time domain of the selected events, generate a line between the minimum and maximum values and apply it as an offset to the value of all selected events.
Parameter 1: lower bound of relative value range Parameter 2: upper bound of relative value range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
Scale + Offset [
:scaleoffset
]Scale (multiply) and offset (add) to the current value. Convenience method combining the two operations.
Parameter 1: scale factor Parameter 2: offset value
-
-
Value 2 [
$value2
]-
Add [
+
]Parameter 1: value to add
-
Subtract [
-
]Parameter 1: value to subtract
-
Multiply [
*
]Parameter 1: value by which to multiply the current value
-
Divide By [
/
]Parameter 1: value by which to divide the current value
-
Round By [
:round
]Parameter 1: value to which to quantize the current value. For instance, a value of 5 would round the current value to a multiple of 5.
-
Set to Fixed Value [
=
]Parameter 1: value
-
Clamp Between [
:clamp
]Parameter 1: lower range of clamp Parameter 2: upper range of clamp
-
Random Values Between [
:random
]Generate random values within a range of two values.
Parameter 1: minimum value Parameter 2: maximum value
-
Relative Random Values Between [
:relrandom
]Generate a random offset to apply to the current value of selected events.
Parameter 1: minimum offset value distance Parameter 2: maximum offset value distance
-
Use Value 1 [
:getvalue1
]Replace the current value with the Value 1 value (for instance, set the velocity to the note#)
no parameters
-
Mirror [
:mirror
]Mirror/invert the current value around a reference value.
Parameter 1: mirror reference value
-
Ramp in Selection Range [:
line
]Given the time domain of the selected events, generate a line between the minimum and maximum values and distribute it across all selected events. Or, if you prefer, the first event is set to the minimum, the last event is set to the maximum, and the events in-between are interpolated between those extremes based on their position.
Parameter 1: lower bound of value range Parameter 2: upper bound of value range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
Relative Ramp in Selection Range [
:relline
]Give the time domain of the selected events, generate a line between the minimum and maximum values and apply it as an offset to the value of all selected events.
Parameter 1: lower bound of relative value range Parameter 2: upper bound of relative value range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
Scale + Offset [
:scaleoffset
]Scale (multiply) and offset (add) to the current value. Convenience method combining the two operations.
Parameter 1: scale factor Parameter 2: offset value
-
-
Velocity [
$velocity
] N.B.: NOTES ONLYVelocity is synonymous with Value 2 for note events only. The only real difference vis a vis Value 2 is that Velocity actions offer a range from 1-127 (rather than 0-127).
-
Add [
+
]Parameter 1: velocity to add
-
Subtract [
-
]Parameter 1: velocity to subtract
-
Multiply [
*
]Parameter 1: value by which to multiply the current velocity
-
Divide By [
/
]Parameter 1: value by which to divide the current velocity
-
Round By [
:round
]Parameter 1: value to which to quantize the current velocity. For instance, a value of 5 would round the current velocity to a multiple of 5.
-
Set to Fixed Value [
=
]Parameter 1: velocity
-
Clamp Between [
:clamp
]Parameter 1: lower range of clamp Parameter 2: upper range of clamp
-
Random Values Between [
:random
]Generate random values within a range of two values.
Parameter 1: minimum value Parameter 2: maximum value
-
Relative Random Values Between [
:relrandom
]Generate a random offset to apply to the current value of selected events.
Parameter 1: minimum offset velocity distance Parameter 2: maximum offset velocity distance
-
Use Value 1 [
:getvalue1
]Replace the current value with the Value 1 value (for instance, set the velocity to the note#)
no parameters
-
Mirror [
:mirror
]Mirror/invert the current value around a reference value.
Parameter 1: mirror reference velocity
-
Ramp in Selection Range [:
line
]Given the time domain of the selected events, generate a line between the minimum and maximum values and distribute it across all selected events. Or, if you prefer, the first event is set to the minimum, the last event is set to the maximum, and the events in-between are interpolated between those extremes based on their position.
Parameter 1: lower bound of value range Parameter 2: upper bound of value range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
Relative Ramp in Selection Range [
:relline
]Give the time domain of the selected events, generate a line between the minimum and maximum values and apply it as an offset to the value of all selected events.
Parameter 1: lower bound of relative value range Parameter 2: upper bound of relative value range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
Scale + Offset [
:scaleoffset
]Scale (multiply) and offset (add) to the current value. Convenience method combining the two operations.
Parameter 1: scale factor Parameter 2: offset velocity
-
-
Release Velocity [
$relvel
] N.B.: NOTES ONLYRelease velocity (note-off velocity) is unimplemented in many, if not most MIDI instruments. But for those times where it is implemented, it's nice to have.
-
Add [
+
]Parameter 1: release velocity to add
-
Subtract [
-
]Parameter 1: release velocity to subtract
-
Multiply [
*
]Parameter 1: value by which to multiply the current release velocity
-
Divide By [
/
]Parameter 1: value by which to divide the current release velocity
-
Round By [
:round
]Parameter 1: value to which to quantize the current release velocity. For instance, a value of 5 would round the current release velocity to a multiple of 5.
-
Set to Fixed Value [
=
]Parameter 1: release velocity
-
Clamp Between [
:clamp
]Parameter 1: lower range of clamp Parameter 2: upper range of clamp
-
Random Values Between [
:random
]Generate random release velocities within a range of two release velocities.
Parameter 1: minimum release velocity Parameter 2: maximum release velocity
-
Relative Random Values Between [
:relrandom
]Generate a random offset to apply to the current release velocity of selected events.
Parameter 1: minimum offset release velocity distance Parameter 2: maximum offset release velocity distance
-
Use Value 1 [
:getvalue1
]Replace the current release velocity with the Value 1 value (for instance, set the velocity to the note#)
no parameters
-
Mirror [
:mirror
]Mirror/invert the current release velocity around a reference value.
Parameter 1: mirror reference value
-
Ramp in Selection Range [:
line
]Given the time domain of the selected events, generate a line between the minimum and maximum values and distribute it across all selected events. Or, if you prefer, the first event is set to the minimum, the last event is set to the maximum, and the events in-between are interpolated between those extremes based on their position.
Parameter 1: lower bound of value range Parameter 2: upper bound of value range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
Relative Ramp in Selection Range [
:relline
]Give the time domain of the selected events, generate a line between the minimum and maximum values and apply it as an offset to the value of all selected events.
Parameter 1: lower bound of relative value range Parameter 2: upper bound of relative value range Parameter 3: curve (menu enum), one of:
- Linear [
$lin
] - Exponential [
$exp
] - Logarithmic [
$log
] - S-Curve [
$scurve
]
Parameter 4: curve modifier: floating-point value
Non-linear curves support an additional value which sets (for exponential and logarithmic curves) the exponent for the operation (for
$exp
, it's the direct exponent used to calculate the curve; for$log
, it's eexp used as the logarithm base) -- with a default of 2 and a minimum of 0. For the S-Curve, it adjusts the curvature -- with a default 0.5 and a range of -1 - 1. - Linear [
-
Scale + Offset [
:scaleoffset
]Scale (multiply) and offset (add) to the current release velocity. Convenience method combining the two operations.
Parameter 1: scale factor Parameter 2: offset release velocity
-
-
New Event [
$newevent
]-
Create New Event [
:newmidievent
]Generate a new MIDI event
Parameter 1: event properties (menu) Parameter 2: position for new event, one of
-
At Edit Cursor [
$atcursor
] -
Item Start [
$itemstart
] -
Item End [
$itemend
] -
At Position [
$atposition
]: an absolute time value in the projectWith the exception of At Position, all position modes offer a Relative option, allowing an event to be create at the desired position +- some relative time. So for instance, At Edit Cursor - 0.1.00 to place an event 1 beat before the edit cursor positon.
-
-