JUCE Plugin entry point

I’m in the process of converting an audio app to a plugin. The app contains a number of self-contained audio processor subclasses, for different purpose, including their editors. As I’m wrapping this into a master plugin I’m wondering how JUCE/Xcode determine the plugin entry point, e.g. the linkage to the main processor. Can’t see anything obvious, say in a header file. Any directional help is appreciated. The package compiles fine but neither AU nor VST3 are being picked up by the DAW.


You need to implement AudioProcessor* JUCE_CALLTYPE createPluginFilter() which returns a new pointer to the processor of your master plugin.

You also need JucePlugin_Build_AU and JucePlugin_Build_VST defined to 1 and juce_audio_plugin_client added to your project.

1 Like

Great, thanks so much. Turns out all I was missing was the JUCE_CALLTYPE macro. Now, the VST3 is being picked up fine by the host but the AU still not, while other AUs are (synth for example). AU flag is set in AppConfig.h and the component file is copied to the right spot. I have a hunch that it might have something to do with the plugin type, for AUs are they effects by default? Thanks again.

Did you reboot after building? Newer versions of macOS won’t see a newly built AU until after a reboot :confused: After that though any new build changes are picked up immediately.

1 Like

OMG, I usually never reboot my Mac, it just works ;-). Reboot fixed it but something else is still wrong though, window comes up white and debugging shows it’s not running paint(). I had this once before and ended up re-creating the project, not even a clean rebuild helps.

… fyi, centreWithSize() in the plugin editor constructor seems to white out AUs but not VSTs …