Standalone plugin, move the "settings" button inside the UI (with CMake)


I’m trying to move the “settings” button of the standalone version of my plugin inside the UI, where I have my custom button, since I would like to use the native title bar. In the past, with Projucer and Xcode, I used to simply add this include in the PluginProcessor.h:

#include "juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h"

And then in the callback of my settings button call:


This has always worked for me, but now I am using Cmake and the same approach simply doesn’t work. When I try to compile with that include I get several errors, because it seems that the compiler doesn’t find several classes, like the AudioDeviceManager. For example this is one the errors:

/Applications/JUCE/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h:94:32: error: use of undeclared identifier 'AudioDeviceManager'; did you mean 'AudioFormatManager'?

The same happens for AudioDeviceSetup, AudioIODevice, AudioDeviceSelectorComponent etc…

This seems strange to me, since with the JUCE title bar the settings button works as expected, so why when I include that file it cannot find the dependencies?

I’ve tried moving that include to the editor.h, but it is the same obviously, I’ve tried adding in the cmakelist the module juce_audio_devices, but nothing changed.

Unfortunately the StandaloneFilterWindow header isn’t standalone - it must be included after some other headers in order to work properly:

#include "juce_audio_devices/juce_audio_devices.h"
#include "juce_audio_plugin_client/juce_audio_plugin_client.h"
#include "juce_audio_utils/juce_audio_utils.h"

#include "juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h"
1 Like

Thank you! This is exactly what I was looking for, now it works!