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.
How MIDI out should behave
Hi all,
A lot of MIDI experts here, I guess, so I throw out a couple of questions since I'm almost done implementing some user requests
Sender app -> MIDI out -> Destination, what is the preferred way to configure?
- The "sender" app send MIDI to all available destinations (Network/virtual+) and let the destinations choose which available source to process?
- The "sender" app sends default to none, but have a configuration screen/list of available destinations to choose from in addition to choosing this in the destination/receiver?
And, sustain. Preffered default on or like SoundPrism default off with a "hold" button in additon to the real deal when a hardware controller is connected?
Happy to hear the debate, bet it has been up before
Internals:
Yeah, @boone51- Strum up/down and speed adjust: Check
@kobamoto, nearly there
Cheers!
Comments
#2 for sure, never ever do #1! And you can send from your own virtual midi source, which is how other apps can see/connect to you from their UIs. Bonus points for making your virtual midi port optionally enabled.
Ideally transmitted midi channel selector for those with hardware?
Edit: more useful on midi in i guess.
Take a look at LittleMidiMachine and midiSequencer, and how they show up in MidiBridge. Note especially that both Send and Receive MIDI Channels as well as Ports are offered for optional use at the Users' determination. Also look at Cubasis, which goes that one step further and allows In and Out source and destination Ports on a per track basis, where pretty much all others oly allow port specification at the App level.
First, never, ever, automatically connect to anything. Imagine if your Audio Apps were to do that. Instant cacophony! MIDI is no different - it too is ultimately audio. I understand there is a "it just works" attempt in doing that with MIDI, since MIDI has such a bad rap at being understandable, but in all honesty doing that contributes to the bad rap, once more than one synth an one MIDI source are brought into action. And on todays devices, such as the Air, many Apps are likely to be in concurrent action. The key is to have the MIDI configuration clearly accessible from all views in your App, and clearly laid out option panels. Use the MIDI Icon, like VirSyn does (although VirSyn breaks other rules:(.
Second, provide both the options to select your source(s) from those that offer Virtual MIDI Out ports, and conversely to send to those destination(s) that offer Virtual MIDI In ports, and also offer your own Virtual IDI In and Put ports, both optionally On or Off. This last is to allow one to handle, mostly, those Apps that do connect automatically.
There are many ways to manage MIDI connectivity, from the Users' POV. Some specific App-centric view, scattered around between the Apps, or centrally managed graphically with Apps such as MidiBridge or MidiFlow. If you follow this advice you will be able to be useful in all of them.
One last note: I strongly suggest you use the Midibus Library from Audeonics. A large part of why MIDI is used so inconsistently is the rather scattered way Apple chose to implement the iOS version of CoreMIDI. Then pgmidi was put out as a simple minded demo of how to code to CoreMIDI, note as a demo only, and does not handle all the cases - and many devs just used it with all those flaws. Midibus SDK normalizes all that for you.
+1 on what david said
What they said.
Thank you @dwarman for a detailed answer. Really useful to get your perspective!