Loopy Pro: Create music, your way.
What is Loopy Pro? — Loopy Pro is a powerful, flexible, and intuitive live looper, sampler, clip launcher and DAW for iPhone and iPad. At its core, it allows you to record and layer sounds in real-time to create complex musical arrangements. But it doesn’t stop there—Loopy Pro offers advanced tools to customize your workflow, build dynamic performance setups, and create a seamless connection between instruments, effects, and external gear.
Use it for live looping, sequencing, arranging, mixing, and much more. Whether you're a live performer, a producer, or just experimenting with sound, Loopy Pro helps you take control of your creative process.
Download on the App StoreLoopy Pro is your all-in-one musical toolkit. Try it for free today.
State feedback on buttons sending MIDI
I have six buttons in Loopy Pro that I’ve set up to bypass/enable MIDI nodes in AUM. Each node routes MIDI from one of two hardware keyboards to one of three synths hosted in AUM. (2x3 = 6 nodes.) They work. I can turn on/off any of the synths from LP. (This is a button group; not radio buttons.)
Question: How do I make it so the buttons light up to show the on/off state? Example: I press button #3 to enable Zeeon to receive from my QuNexus keyboard and the button glows; push to bypass and the button goes dark.
I’ve dug into all the info I can find on feedback state and can’t find the trick. I turned feedback on for AUM in the control settings.
My goal is to design an LP setup for live performance where I can do everything from one screen. I’m aware that I could host the synths in LP but I’ve been using AUM for six years and I have all my synths and effects working there and don’t want to start over now. I port the main output into LP for looping and output to speakers.
Comments
State feedback doesn't apply here--it only applies to things whose state Loopy knows. AUM doesn't communicate back to Loopy the state of the synths it is hosting. You can sort of fake it using the trick mentioned here:
https://wiki.loopypro.com/Tech_Note:_Persistent_Send_MIDI_Widgets
For more info about state feedback, see:
https://wiki.loopypro.com/State_Feedback
Short answer: you need to set up a workaround. Place a dummy widget of the same type on a page you won't normally view. Add an additional action on the original widget to adjust the dummy widget.
Explanation: Widget states only reflect the state of what they're controlling. If that's something Loopy can track such as a mixer position, AU parameter, clip state, etc, then they have something to key off of to show their state. A midi message that goes off who knows where has no way of knowing what state that midi message puts anything into, so there's nothing to key off of. The dummy control gives it something to key off of, and also gets stored with the project.
I think an option to have midi sending widgets reflect and remember the last sent value would be good, but it can also be misleading. There's a feature request about this on the roadmap site somewhere.
Keep in mind that midi send actions don't automatically dump themselves out to external destinations on session load. Now that I think of it, I've never tested if that's the case with this dummy setup. Be sure to test whether the dummy widget setting the real widget on project load results in midi out. I suspect it may not.
Thank you for this. I’m not surprised that what I want isn’t supported. I though maybe I was missing something.
I tried a workaround but can’t quite get it to work. I tried setting up a dummy dial with two steps, on and off, and then triggering that with a button. I can get the dial to switch, but the button doesn’t reflect the state. Persistence between projects or sessions isn’t critical. I just want buttons that reflect the last push—on or off.
Can you please suggest what actions and settings I use to achieve this? I’m familiar with the action programming, but this workaround is stumping me. Thanks in advance.
In the App Store version, there is a bug regarding button’s reflecting the states of stepped dials and radio groups. Why not use the dial itself to see the state? You can set it to advance on press (turn wraparound on) so that it will act like a button.
My suggestion is to always use the same type of widget for the dummy control as for the real one. I don't know understand the advantage of using different kinds of controls such as dials. That said, I haven't done any more than quick tests of this workaround. There could be advantages that I don't know of.
I think I got it. At least with a single dummy pair. I programmed a button to trigger a two-step dial. I didn’t use toggle, but a two-stage action, one that trigger Step 1 (off) and another that triggered Step 2 (on), and set the timing to “Next trigger.” That toggles the state on the button. Now I have to see if I can combine that with the sending of the MIDI signal out to AUM. Then I do it six times.
I'm curious why you chose a dial rather than a button. That just seems like a needless abstraction and more trouble to set up, test, and debug. I assume you have a reason, so I'm interested to hear.
No reason. I’m just flailing here. I took Ed’s suggestion above: "Why not use the dial itself to see the state?”
But I can’t get it to work when combined with the MIDI out. I’m going to start over with a button. I’ll post my next effort, whether successful or not.
Feature request: An action for triggering colors. If I could set up a very small button that is triggered to toggle red/green, for example, I wouldn’t be attempting workarounds. If you could trigger a text widget to change color, imagine all the ways you could signal what’s happening in a complicated setup.
Upvote here. https://roadmap.loopypro.com/feature-requests/p/as-action-make-widget-change-color-code-example-from-color-green-to-color-purple
Can you post screenshots of the setup of the dial that isn’t working? they have the advantage of being persistent and being able to see their state. If you are sending midi as the only action, you probably should turn state feedback off.
I got the buttons to work. By accident. I’ll post my solution when I get it cleaned up.
I deleted the dial but I’ll see if I can resurrect it from a saved point.