Gin
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Program Class Reference

Plugin preset/program with file-based storage and parameter management. More...

#include <gin_program.h>

Public Member Functions

 Program ()=default
 
virtual ~Program ()=default
 
virtual void loadProcessor (Processor &p)
 
virtual void saveProcessor (Processor &p)
 
virtual juce::File getPresetFile (juce::File programDir)
 
virtual void loadFromFile (juce::File f, bool loadFully)
 
virtual void saveToDir (juce::File programDir)
 
virtual void deleteFromDir (juce::File programDir)
 

Public Attributes

juce::File file
 
juce::String name
 
juce::String author
 
juce::StringArray tags
 
bool fullyLoaded = false
 
juce::ValueTree state
 
juce::Array< Parameter::ParamStateparameters
 

Detailed Description

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:

Programs are typically managed by the Processor class, which handles automatic loading from preset directories and file watching for changes.

Usage:

// Creating and saving a program
program.name = "My Preset";
program.author = "Username";
program.tags.add("Bass");
program.tags.add("Dark");
program.saveProcessor(myProcessor);
// Loading a program
loadedProgram.loadFromFile(presetFile, true); // true = load fully
loadedProgram.loadProcessor(myProcessor);
A lightweight 2D point class for projects that don't use juce_graphics.
Definition gin_point.h:25
Plugin preset/program with file-based storage and parameter management.
Definition gin_program.h:50
See also
Processor, Parameter

Constructor & Destructor Documentation

◆ Program()

Program::Program ( )
default

◆ ~Program()

virtual Program::~Program ( )
virtualdefault

Member Function Documentation

◆ 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

Member Data Documentation

◆ file

juce::File Program::file

◆ name

juce::String Program::name

◆ author

juce::String Program::author

◆ tags

juce::StringArray Program::tags

◆ fullyLoaded

bool Program::fullyLoaded = false

◆ state

juce::ValueTree Program::state

◆ parameters

juce::Array<Parameter::ParamState> Program::parameters

The documentation for this class was generated from the following file: