Tech Note:MIDI Bindings

From Loopy Pro Wiki

This page covers helpful details of Loopy Pro's MIDI bindings.

Binding Tap/Hold/Double-Tap to the same message

Loopy Pro allows tap, hold and double-tap of the same MIDI message (such as a MIDI CC or MIDI note) sent from a controller.

Normally, if you map tap and hold and/or double-tap to the same controller, the tap binding will be triggered immediately when the "on" message is received. This means that on a double-tap or hold, the tap binding will be triggered in addition to the double-tap or hold. This is unavoidable if you need immediate response to a single tap with no latency.

Avoiding False Triggers - Defer Other Actions

There is an option that avoids triggering the tap action when double-taps or holds happen. In order to do this, Loopy Pro needs to wait a short while to be sure that a hold or double-tap isn't in process. Double-tap and hold bindings have an option Defer Other Actions that ensures that the tap will not be triggered if the interaction is a hold or double-tap. This can be turned on in the binding's trigger settings. When actions are deferred, Loopy Pro will try to compensate for the delay. For example when tap is set to record and hold is set to something else, the recording will end up being the same as if there was no delay when deferred action is on even though the on-screen animation is delayed. While the recording will be the same as if the action had not been deferred, playback of the first loop will start from a point that is slightly delayed (the point where Loopy recognized no hold was going to happen).

Hold delay time, If there is only a tap and a hold binding, the tap is deferred until the off message is received or until 500 milliseconds have passed. By making short taps, the delay is minimal. The 'on' is processed as soon as you release the trigger (such as footswitch or MIDI pad).

Double-tap delay time. If tap and double-tap are mapped to the same MIDI message, Loopy Pro waits 250 ms after the on message for a double-tap's second on message.

Strategies When Not Deferring Actions

You may sometimes need immediate response to the on action but want to avoid the consequences of the false trigger when a double-tap or hold occurs. To do this, you add an action as the start of your double-tap and hold bindings to undo the falsely started action.

Let's say you want tap to toggle record, double-tap to peel (undo) the last overdub and hold to stop. Your bindings would look something like this:

  • Tap: record/stop selected clip
  • Double-tap: stop record (selected clip), peel (selected clip)
  • Hold: stop record (selected clip), Stop (Play) (selected clip)