Plugin preset/program with file-based storage and parameter management.
More...
#include <gin_program.h>
Plugin preset/program with file-based storage and parameter management.
Program represents a single preset that stores all parameter values and optionally custom plugin state. Programs can be saved to/loaded from XML files and include metadata like name, author, and tags.
Key Features:
- Parameter state storage and recall
- Custom plugin state via ValueTree
- File-based preset management
- Metadata: name, author, tags
- Lazy loading (load metadata first, full state on demand)
- XML-based storage format
Programs are typically managed by the Processor class, which handles automatic loading from preset directories and file watching for changes.
Usage:
program.
name =
"My Preset";
program.
tags.add(
"Bass");
program.
tags.add(
"Dark");
virtual void loadFromFile(juce::File f, bool loadFully)
virtual void saveProcessor(Processor &p)
virtual void loadProcessor(Processor &p)
juce::String author
Definition gin_program.h:65
juce::String name
Definition gin_program.h:64
virtual void saveToDir(juce::File programDir)
juce::StringArray tags
Definition gin_program.h:66
- See also
- Processor, Parameter
◆ Program()
◆ ~Program()
| virtual Program::~Program |
( |
| ) |
|
|
virtualdefault |
◆ loadProcessor()
| virtual void Program::loadProcessor |
( |
Processor & | p | ) |
|
|
virtual |
◆ saveProcessor()
| virtual void Program::saveProcessor |
( |
Processor & | p | ) |
|
|
virtual |
◆ getPresetFile()
| virtual juce::File Program::getPresetFile |
( |
juce::File | programDir | ) |
|
|
virtual |
◆ loadFromFile()
| virtual void Program::loadFromFile |
( |
juce::File | f, |
|
|
bool | loadFully ) |
|
virtual |
◆ saveToDir()
| virtual void Program::saveToDir |
( |
juce::File | programDir | ) |
|
|
virtual |
◆ deleteFromDir()
| virtual void Program::deleteFromDir |
( |
juce::File | programDir | ) |
|
|
virtual |
◆ file
◆ name
| juce::String Program::name |
◆ author
| juce::String Program::author |
◆ tags
| juce::StringArray Program::tags |
◆ isReadOnly
| bool Program::isReadOnly = false |
When true, this program was loaded from a factory directory and the Processor will refuse to overwrite, rename, or delete its file.
The in-memory entry can still be removed (e.g. when saving over it with a user copy); the next directory scan will simply reload it. Defaults to false to preserve legacy behaviour.
◆ fullyLoaded
| bool Program::fullyLoaded = false |
◆ state
| juce::ValueTree Program::state |
◆ parameters
The documentation for this class was generated from the following file: