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.
Comments
Never thought of that! Is it possible to send note data into SB and have that toggle a button state?
Yes - This is covered in 4Pockets YouTube video MasterClass 1. The link to the section that talks about it is below:
Remote control a button in Surface Builder:
https://youtu.be/L3OWefMxypc?list=PLOeCdKkkVd-7Qf6kewU2CXJTZ9lRUqQo0&t=214
It might be covered again in the other videos - it's been a while since I watched them, but I highly recommend all of them - they are jam packed with details, so you have to watch closely.
Also, if you look in the built-in help in the section "Internal Object Functions" it mentions that if MIDI out is enabled on the object, it can be recorded and played back to trigger the same action. You can record and review the MIDI output in many ways using an app that records MIDI and lets you review the activity, but there's a way to do it right inside of Surface Builder (see link to video below). The case of playing back a clip using the internal function "Play Audio" is given as an example.
I've tested it in AUM and it works. I've configured a Surface Builder button to MIDI Ch 1, Port 1, Msg: Note On/off, Note Value 36 (C2) and function Play Chord, and I can trigger the button by pressing note C2 in the KB-1 keyboard app inside of AUM and (after configuring the routing and MIDI setup of KB-1 course). I'm sure with some experimentation you can go much further.
Recording MIDI inside of Surface Builder to an object:
https://youtu.be/HLQabPkIx5E?list=PLOeCdKkkVd-7Qf6kewU2CXJTZ9lRUqQo0&t=52
Cool, it works in single state button mode. I have buttons in a surface I made that (manually) trigger notes on a hardware drum machine. If I route the sequencer into Surface Builder’s MIDI input the note ons cause the pads to blink as they’re triggered by MIDI.
.
I love Surface Builder, but for this type of setup, I've used MidiPad, and it does support toggle on each pad. It gives you note, CC, and PC, and you can trigger multiple actions per pad and specify the MIDI CH and values. You can create a grid of whatever dimensions you like with size from 1x1 to 12x12 or more. One limitation - it's standalone - no AUv3, but so is Xequence, so it sounds like it might work for you.
Cheers.
Dont need a controller app now.
Drambo screen is ok.
Remotely controlled knobs don’t send midi data.
There is a learn function for knobs, but if I turn my Hardware knob (or fader), the surface builder’s knob moves, but does not send midi data. If I turn the same knob on the touchscreen it does.
So Surface Builder is useless, if you want to control it with MIDI hardware knobs or fader boxes?
Interesting find. It appears so.
You could try emailing support @ 4pockets .com
@4pockets_paul r u out there?
Is this broken in iOS 17.1.1? Soon as I add anything to a new surface it crashes. Reboot makes no difference.
Sam here - just upgraded to 17.1.1 and it will open a surface, but adding any object will immediate crash. I'll send an email to the address that last worked for Paul and see what he says.
I'm looking into this, maybe 17.1.1 broke something. Apple seem to be breaking every damn thing these days! Make sure you are running the latest version as I fixed an issue like this in the last release.
Looks like this is fixed with version 1.08. Just updated it from the App Store. Paul pushed the fix out and I've tested it both in standalone mode and in AUM. Adding objects works without an issue. I tested a few other things - loaded it up as both an audio module and a MIDI module in AUM, loaded some surfaces with different objects, added different types of objects. So far so good! Please try it out.
Yes all appears fine, thank you! Incidentally is there a way to rotate elements? I did look but couldn’t see anything.
You can't rotate elements. However sliders have a few rotated variants.
Ah OK, thank you.
@4pockets_paul Hi Paul, would this ever support Sysex or is that too much of a headache. I’m looking to use it to program an Emax.
Hey folks. Can AUv3 instances of Surface Builder be dynamically resized? How does resizing work? Curious if I can build something that takes up the whole screen for both an iPad Mini 6 and also an iPad Pro M1 12.9 just by resizing the AUv3 window.
You can zoom in surfaces in and out to get them to fit what you need, but you have to go to edit mode to do it.
Thanks for the response. Is the zoom level preserved when you go back to presentation mode?
Yes. And if you save the surface the zoom level will be preserved on next load.
Fantastic, good to know.
Please expand the LFO function. It would be great if it were possible to control the LFO values using knobs, as is done for CC messages. Also, there is a huge lack of random LFO waveforms, swing and an oscilloscope to see the movement of the wave.
Same. Wondering how it compares to MIDI Designer Pro X, TouchOSC, and similar apps. Seems that Surface Builder is AUv3, unlike the others. And it has the distinct advantage over Lemur and TB MIDI Stuff of being available on the app store, not removed.
I'm using Loopy Pro as a midi control surface most of the time now. SB is 2nd choice. MDP is deleted. TouchOSC is something I only play with out of curiosity from time to time.
Since I don’t do a lot of audio looping, and Loopy doesn’t do midi recording yet, I only use it for building controls, and it’s actually pretty good compared to the other options, which is bonkers.
Surface Builder is also very good, and like Loopy is AU so I can use it on top of AUM, which I really like. And both can snapshot, which is vital for being able to repeat mix setups.
TouchOsc has so much promise, but keeps getting in its own way. It’s terribly frustrating.
My main need now is to control one iPad’s app from a control set running on another, so I have access to more interface space. I’m going to be exploring how well Loopy and Surface Builder handle that.
They both handle it quite well, but feedback to update controls on the sending device if controls are updated on the receiving device directly isn't there (with Loopy Pro at least - I haven't checked SB yet). If you're only ever updating from the sending device that's fine, but otherwise controls get out of sync. Pickup Mode can help with this but isn't a full solution.
Midi feedback does work for attached hardware devices. Unfortunately it doesn't work for Bluetooth and Network Session connected instances of Loopy Pro.
Fortunately, I’m less concerned about control feedback from AU synths. If I’m manipulating params with a control app, I won’t also be doing it on the app UIs themselves.
The only place feedback has become a concern for me is when I use a Midifighter Twister as a control surface, and as you say, that path works fine. And there, I manage snapshots with a Mozaic script that captures and saves current state… well, last values, really.
I really like using the Midifighter and would like to use it more. My main problem is that I can’t keep track of the mappings. I really do wish that there were more implementations of LCD labels for this kind of thing. In any case, I’m thinking of setting up a companion surface in AUM just to reflect and label the Midifighter. For this, network session won’t be an issue, because I’d be on a single pad.
If you change sessions, the control surface will also be out of whack. I'm not trying to discourage trying, just pointing out some of the shortcomings I found over time that I didn't think of before starting out.
Oh yeah. Certainly. The best I can do, I think, is make a base setup that’s general enough, that I can tweak a few things and save it as a distinct instance.
Leveraging Loopy Pro's encoder widget type is also helpful. You don't get that type of control type in Surface Builder.
You can also probably fake some initial project load feedback to a remote instance using project on-load follow actions and "hidden" widgets on a non-displayed page. I may explore that avenue out of curiosity at some point.