Actions Tips
Loopy Pro's actions can provide control over almost every aspect of Loopy Pro and can be used to create custom behavior. Actions are used by the MIDI Learn/MIDI Binding system, widgets (buttons, sliders, dials, etc), gestures and follow action system to control Loopy Pro.
MIDI Learn
When you MIDI Learn in Loopy Pro, you are creating a MIDI Binding to an action which you can also customize or add to. The bindings and their actions are accessed by the Control Settings panel.
Action Sequences
Anywhere in Loopy Pro where an action can be used, a series of actions can be used. There will be a "+" icon you can tap to add more actions. For example, if you MIDI Learn Play/Stop for a clip, you can go into Control Settings and find the MIDI binding you created and add more actions to the sequence so that your MIDI binding does more than just toggle play for that clip.
Action Timing
To the left of each action is a white circle. Tapping on the circle pops up a panel to set options for when the action is performed.
By default, the first action happens immediately, and each subsequent action happens one after the other without delay.
When the timing options panel pops up, it will initially be set to Immediate.
When move the timing slider, the choice of Quantization or Delay will appear.
If the timing is set to Quantization, the action is performed at the next time that the clocks aligns with that quantization setting. If the timing is set to Delay, the action happens after Delay of the specified time and is independent of the clock's position. If the clock is not moving, all quantizations fire immediately!
Timing Icons
The circle that appears next to actions indicates the timing/trigger settings.
- An empty circle indicates "With Last"
- A circle with a clock in it indicates "With Last" with delay or quantization
- A circle with a number indicates a "Next Trigger" sequence with the number indicating the trigger number.
- A circle with an arrow indicates "After Last"
Action Timing and Tempo
Timing in Loopy Pro 1.x is always related to musical time/tempo. When the tempo hasn't yet been defined, events with delays or quantization execute immediately. Starting with Loopy Pro 2.0, timing can be set in absolute time (seconds.milliseconds)
After Last/With Last/Next Trigger
The timing options for all but the first action are slightly different from the first action's.
In addition to the choice of Quantization and Delay, the following options appear: After Last, With Last, Next Trigger. The specified quantization or delay is applied. Most actions take next to no time to execute. Stop clip actions are somewhat different as discussed below.
After Last. The action is performed after the previous action is performed (with the specified quantization or delay). Many actions take next to no time to execute (fractions of a millisecond. Some actions, such as play, stop, solo or actions with a specified ramp time, are not considered to have executed until they are "done". What done is depends on the action. See When is After below.
With Last. The action is performed simultaneous with the previous action (with the specified quantization or delay). Use this when you need actions to fire truly simultaneously or for the timing to be precisely based on the previous actions execution time. In some contexts After Last and With Last will seem to be the same, but in some cases it can make a difference. Especially if any action changes something that a subsequent action relies on.
Next Trigger. This action is fired the next time that the action sequence is triggered. For example, you might have a button that the first time it is pressed mutes the bass instrument and records clip 1 and on the second press unmutes the guitar, mutes the bass and records clip 2.
When is After?
Many actions take next to no time to execute (fractions of a millisecond. Some actions, such as play, stop, solo or actions with a specified ramp time, are not considered to have executed until they are "done". What done is depends on the action. Loopy Pro tries to be smart about what done is depending on the context. Here is a list of common actions that may not be done immediately:
- Stop - the action is done when the clip or clips have stopped.
- Play/Solo - the action is done when the targeted clip or clips starts playing. If there is a count-in before the clip starts playing, done is when the clip actually starts playing. If a clip is already clipping, play is done immediately UNLESS the play action has Retrigger turned on. If Retrigger is on, the play action is done when the retriggered count-in finishes.
- Adjust actions with a ramp - if you have an Adjust action, such as Adjust Parameter, with ramp time, the action is done when the ramp finishes.
Using Delays Between Actions
For actions such as play, stop, or solo actions that are quantized, it is sometimes necessary to use After Next with a delay.
For example, let's say your clips use Loop play quantization. If you set up an action sequence of Solo Clip 1 then (after last) Solo Clip 2, Loopy Pro would seem to go directly to soloing clip 2 without first playing clip 1. This is because as soon as clip 1 starts soloing, Loopy Pro queues clip 2 to solo. Clip 2's own quantization criterion is met, so clip 2 starts soloing. In order to prevent this behavior, the action sequence you want is Solo Clip 1 then (after last WITH DELAY) Solo Clip 2.
Delay length. Use a delay of 1/8th note or more. (Loopy has a little grace period when triggering loops so that if you are a little late triggering a loop it doesn't wait for another cycle to complete -- so the delay has to be long enough that Loopy doesn't think you meant to trigger now). When setting the action timing, make sure that it is set to a delay of 1/8th note and not quantized to 1/8th note.
Helpful Hints
Use quantization when timing needs to be precise and even a millisecond or two would make a difference.
Delay Plus Quantization. You will sometimes need to have a delay before a quantized event to make sure that it fires on the NEXT quantization interval rather than right now as in the Stop Clip Timing example elsewhere on this page. If the clock is at 0, every quantization amount would trigger. For example, if there is a record or play clip action quantized to the master clock (or 1 bar) and it is immediately followed by a stop clip or stop recording action with the same quantization, the stop will happen immediately because the clock will still be at the specified boundary. Using a small delay for the stop action (say an eighth note) ensures that the clock is no longer at the specified boundary and will execute the event at the next appropriate interval..
Dummy Actions. If you need to quantize an action after a delay, you may need to create a dummy action that does nothing but delay. If the action itself is a play or stop or record action which has its own quantization settings, set the quantization within that action. If you need to use a "dummy" action to delay, you can add a the Adjust Parameter Clip Action without specifying a target clip or Trigger Widget action without specifying a widget or any action that would do nothing.
Example Library
- Repeating Actions with a Button and Dial - this project demonstrates one way to set up repeating sequences of actions using a button and a stepped dial.