dimanche 12 juin 2016

How to register multiple Audio Units at runtime (similar to VST plugin shell)?


I just started coding VST plugins. But since I'm on a mac I would also like to build Audio Units. I managed to compile some sample code and these components showed up inside my Logic DAW.

In VST there's the possibility to create a plugin shell. This describes a single 'dll'/'vst' file which has multiple effects in it. During startup the host calls a function called getNextShellPlugin and the plugin dynamically registers its content at runtime. The effects then perfectly show up in a plugin list.

Is there a similar way I can achieve this with Audio Units?

I managed to get a plugin shell by adding another component description to the 'info.plist'. But I have to hardcode every effect in there and that's not what I want.

I also tried to use AudioComponentRegister but this didn't work properly for me. Since therefore the component has to be instanciated so I can call this function inside the constructor. But to list the components inside Logic they need to be found during the scan where the component will not get instanciated by default.

So the goal is to register multiple effects inside 1 component at runtime.

Does someone maybe have a tip or a solution? Thanks a lot!


Aucun commentaire:

Enregistrer un commentaire