robbert-vdh / nih-plug

Rust VST3 and CLAP plugin framework and plugins - because everything is better when you do it yourself
ISC License
1.52k stars 136 forks source link

Audio Unit support in the future? #63

Open SomeoneCalledRob opened 1 year ago

SomeoneCalledRob commented 1 year ago

Just curious: Will this framework be expanded to support AU at some point?

robbert-vdh commented 1 year ago

At some point, probably. It's just very low priority right now. The only reason to support AU is for Logic Pro on macOS. And AUv2 is a significantly older and much less flexible API than CLAP, or VST3 for that matter. Supporting AU means that plugins that opt in to AU support will need to have their functionality restricted to match AU's limitations, and it will also put more responsibility on the user's side. The big one being that plugins would need to enumerate all of their parameters in a linear order, manually adding tombstones whenever a parameter gets removed. Then there's also the fact that Apple previously deprecated and then, after a bunch of backlash, undeprecated AUv2. So there's no way to know what the future will look like.

SomeoneCalledRob commented 1 year ago

Thanks for the reply.

Maybe AUv3 is an option, as that gives you both iOS and Logic?

robbert-vdh commented 1 year ago

It's not. And iOS is definitely way outside of NIH-plug's scope for the foreseeable future. AUv3 is a wrapper on top of AUv2 that doesn't have an easy to use C API (so interacting with it from Rust is even more difficult). And they're not even plugins in the traditional sense, they're always hosted in standalone processes. The only reason to use AUv3 to support iOS, outside of that there are only downsides. I have not yet spoken to a single audio developer who preferred supporting AUv3 over AUv2.

SomeoneCalledRob commented 1 year ago

OK. Thanks.

wolterkam commented 3 months ago

It would be amazing to have this plugin running in Logic Pro.