Shared GUI components and theme for Cave Acoustics plugins.
CaveGUI is a JUCE module that provides a consistent dark-themed look and feel across all Cave Acoustics plugins. It includes custom controls, a preset selector, and icon support.
- CaveTheme - Dark monochrome color palette and spacing constants
- CaveLookAndFeel - Custom JUCE LookAndFeel for all controls
- CaveKnob - Rotary slider with arc display and value label
- CaveButton - Toggle and momentary button styles
- CaveDialog - Modal dialog for text input and confirmations
- CavePresetSelector - Preset browser with navigation, save, and delete
- CavePresetTypes - PresetManagerBase interface and PresetCategory enum
- CaveLucideIcons - Embedded SVG icons from the Lucide icon set
Add the module to your CMakeLists.txt:
juce_add_module(path/to/CaveGUI)
target_link_libraries(YourPlugin PRIVATE CaveGUI)Include in your code:
#include <CaveGUI/CaveGUI.h>
// Use the look and feel
cave::CaveLookAndFeel lookAndFeel;
setLookAndFeel(&lookAndFeel);
// Create controls
cave::CaveKnob knob;
knob.setLabel("Gain");
addAndMakeVisible(knob);
// Use theme colors
g.setColour(cave::Theme::background);Your plugin's PresetManager should inherit from PresetManagerBase:
class MyPresetManager : public cave::PresetManagerBase
{
// Implement required methods...
};Then connect it to the PresetSelector:
cave::PresetSelector presetSelector;
presetSelector.setPresetManager(&myPresetManager);- juce_gui_basics
Copyright Cave Acoustics. All rights reserved.