Headless plugin clients


#1

Hi all,
I’m working on an embedded Linux project where a headless system can host VsT plugins.

The host doesn’t use JUCE, but we had to support a plugin written with it. At the moment, it’s possible to build headless standalone Linux apps in JUCE, but X11 & friends are still a dependency for audio plugin clients.

I experimented a little and it turned out that hacking the codebase to remove that dependency was much easier than I thought. Disclaimer: I’m not a JUCE expert at all, so any feedback is welcome!

You can try it out here:
https://github.com/stez-mind/JUCE/tree/mind/headless_plugin_client

This is still WIP, tested with few plugins and, especially, not integrated with the Projucer. You need to define JUCE_HEADLESS_PLUGIN_CLIENT=1 to activate the option.

Basically, I just mocked up the relevant methods in juce_gui_basics/native/, so this is similar to having a separate architecture target. From the plugin POV, it should be equivalent to the situation where the host never shows your UI, so you can instantiate graphic components etc.

Cheers,
Stefano


Removing X dependency and just use OpenGLES/framebuffer graphics on linux
NAMM 2018 Elk - Game Changer? 🤔
Building with Travis CL