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.
Question to any dev [SOLVED]
I have question to any dev who will be able to figure what fuckery is going on..
My problem: AVAudioUnitManager.getComponents() returns on my iPhone just 2 apple default instruments even through i have installed LOT of AUv3 instruments (which are normally visible in all hosts)
I am like WTF. End with ideas what's going on. Here screenhost, made very simple test showcase to avoid all possible bugs .. it's run on my device (not in simulator). Definitely 100% lot of other plugins there. But not listed, just apple stuff.
Comments
Just a guess, but in
description
you've gotcomponentSubType: 0
, andcomponentManufacturer: 0
. Then you're matching against that inAVAudioUnitComponentManager.shared().(matching: description)
You won't get any matches against that as those are both four character codes, will you? Or is
0
a wildcard of some sort?I think the gotcha is kAudioUnitType_MusicDevice, which I think specifies the built-in music devices (iOS MIDI synth and the sampler).
Try using kAudioUnitType_RemoteInstrument, kAudioUnitType_RemoteGenerator, kAudioUnitType_RemoteEffect, and you're likely to find more things showing up.
The "remote" seems to be the way they're specifying audio units coming from somewhere other than iOS itself. (Wireless Audio receive is a RemoteGenerator, which not every Audio Unit host supports -- so it doesn't show up in some apps... But it has to be a generator for it to work as required... So if you're hosting an AUv3, please make sure to support RemoteGenerators!)
0 is wildcard, means all
nope, they return nothing, not even apple 2 default instruments .. based on all documentation MusicDevice is the right one..
edit: tried most of kAudioUnitType_* - they all return either nothing OR apple default plugins ...
Yeah, I already had a look at Dendy's code, and I'm not seeing anything strange here.
kAudioUnitType_MusicDevice
is certainly the right type to look for when you want a list of instruments, and0
should work perfectly as a wildcard.I'm using virtually the same bit of code in my hosting apps, although I use Objective-C and I'm not 100% sure whether that can make a difference or not.
I had the same issue, but weirdly only on my devices and not the simulator. Adding the Inter-App Audio capability to my host app fixed it.
Jeeez APPLE (huge facepalm)
Adding "Inter-App Audio capability" solved the problem ..
How obvious.. to be able to see installed AUv3 plugins, you need to enable IAA support .. it's so obvious that Apple even didn't mentioned it in docu lol
THANKS !
yeah, seems more like a bug on Apple's side than intended (yet undocumented) behaviour. I might file a radar.
plot twist - Apple is using IAA for communication between plugin and host :-D :-D :-D
Lol that would be absolutely epic :-D :-D :-D
I was also bitten by this a few weeks ago. Took me three hours of back and forth, scratching my head, and finally found something on the Apple developer forums (IIRC).
It kind of makes sense after you learn that on iOS the Audio Units run in a separate process and talk to the host with IPC, but it would spoil the fun if Apple mentioned in the hosting tutorial that you need to add the IAA entitlement…
Apple API documentation .. one simply must love it![:trollface: :trollface:](https://forum.loopypro.com/resources/emoji/trollface.png)
There's documentation? Where?
Most of it is like this:
which is the smug way of saying "you figure it out yourself Sherlock"
It’s quite obtuse. I was specifically referring to this: https://developer.apple.com/documentation/audiotoolbox/audio_unit_v3_plug-ins/incorporating_audio_effects_and_instruments
I’ve been waiting and hoping (but not praying) that they make something like that for AUv3 instruments (there is one for effects).
Thanks for confirming it's not just me unable to read (find) docs properly, was really doubting myself, after 25 years of coding experience with implementing all kinds of APIs i again feel like i just ended school and i'm completely dumb 😂 At least i feel like young again , with empty head ready to discover new knowledge again 😂
But the documentation used to be really good. Wind the clock back to 2008 when I started developing on the mac (didn't touch iOS until around 2010) and the documentation looked like this:
https://developer.apple.com/library/archive/documentation/MusicAudio/Conceptual/AudioUnitProgrammingGuide/AudioUnitDevelopmentFundamentals/AudioUnitDevelopmentFundamentals.html
The old documentation predates AUv3 but is still reasonably relevant for lower level audio stuff; unfortunately most, if not all, of the sample code is gone.
If you ask me it all started going to shit as "self documenting" code concepts took hold - the idea that you place a comment block at the start of a method or object and that gets turned into "documentation".
Good idea, but who wants to scroll through in-code comments verbose enough to do more than summarize the purpose and parameters, let alone fully develop them when you're writing code. Then, the bean counters decide technical writers are redundant when it's all embedded in the code.
It's not just Apple guilty of this, though they have taken it to extremes at least with the AUv3 related libraries.