Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CaveGUI

Shared GUI components and theme for Cave Acoustics plugins.

Overview

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.

Components

Theme & Styling

  • CaveTheme - Dark monochrome color palette and spacing constants
  • CaveLookAndFeel - Custom JUCE LookAndFeel for all controls

Controls

  • CaveKnob - Rotary slider with arc display and value label
  • CaveButton - Toggle and momentary button styles
  • CaveDialog - Modal dialog for text input and confirmations

Preset System

  • CavePresetSelector - Preset browser with navigation, save, and delete
  • CavePresetTypes - PresetManagerBase interface and PresetCategory enum

Icons

  • CaveLucideIcons - Embedded SVG icons from the Lucide icon set

Usage

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);

PresetManager Integration

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);

Dependencies

  • juce_gui_basics

License

Copyright Cave Acoustics. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages