Tech Note: Persistent Send MIDI Widgets

From Loopy Pro Wiki

Tech Note: Persistent Send MIDI Widgets

(Current Loopy Pro version when this note was written: 1.1.24)

Loopy Pro's slider and non-stepped dial widgets generally get their state from the parameter that they are tied to. They don't have values independent of what they are adjusting. If a slider's action is to adjust clip volume or some AUv3 parameter, any changes to those parameter become reflected by the widget. If the widget only sends MIDI, there is no state for the widget to get its value from. Loopy doesn't keep track of the MIDI it sends out. As a result, if you use a slider to send MIDI and reopen the project, the slider will be back at 0.

Basic Setup

The solution is to use a stepped dial with its State Feedback disabled. When State Feedback is disabled, the dial retains its setting rather than reflecting the setting of what it controls. The State Feedback setting is accessed by tapping on the gear wheel icon in the dial's edit panel.

If you prefer the look of a slider or non-stepped dial, you can use the stepped dial to send the actual MIDI and a slider or dial whose action is Trigger Widget. You can hide the dial on another page if you would like.

Setup For Two Way Communication

The setup discussed in the Basic Setup above is for one-way communication where you are sending MIDI from Loopy Pro and don't need the widget to be updated from the external device. If the widget is going to receive MIDI from an external device as well as send MIDI back to the device, the setup needs to be a little different.

Let's say that you have a fader on your MIDI hardware that sends CC09 to Loopy Pro when you move it. Sometimes you want to use that hardware knob, and sometimes want to use an on-screen slider or dial in Loopy Pro. In this case, we will MIDI Learn the MIDI CC sent from the external device without setting up any Send MIDI action in Loopy Pro. Loopy Pro's automatic MIDI Feedback to the controller will take care of sending MIDI back to the device when we adjust the onscreen control.

  1. Enable Feedback. Make sure that Feedback Enabled is turned on for the external device in Loopy Pro's Control Settings.
  2. Create a 128 step dial. Create a Stepped Dial that has 128 steps (the number of MIDI values that can be sent). A quick way to create such a stepped dial is to create a new dial. Tap Select Item +. Choose Send MIDI as the action. Tap on PC. You don't have to select a target. Tap Back. You know have a 128 step dial. Delete the Send MIDI action by swiping left. You will now have a 128 step dial that does nothing.
  3. Disable State Feedback for the dial. Tap on the dial's gear wheel and set State Feedback to Disabled.
  4. MIDI Learn. Turn on MIDI Learn and tap on the stepped dial. Send MIDI from your external device to Loopy and turn off MIDI Learn.

If you prefer to interact with a slider or non-stepped dial, the steps are ever so slightly different. Perform steps 1-3. Then create the slider or non-stepped dial. Set the slider or non-stepped dial's Value Change action to be Trigger Widget and select the stepped dial you created in step 2. Now, MIDI Learn the slider/non-stepped dial instead of the stepped dial.

That may all sound complicated, but you will find that it is very quick to set up. Once you have set up one control, you can copy/paste to create additional controls.

A Note About Send CC Messages in Stepped Dials

When you create a Send MIDI Message action in a stepped dial, the panel sometimes does not display the minimum and maximum value fields. If that is the case, tap on the PC tab and back on the CC tab and the fields will appear.