33 lines
876 B
C++
33 lines
876 B
C++
#pragma once
|
|
|
|
#include <JuceHeader.h>
|
|
#include "../Params.h"
|
|
#include "../ModulationMatrix.h"
|
|
|
|
namespace serum
|
|
{
|
|
|
|
// ===========================================================================
|
|
// A factory preset: a name plus a sparse map of parameter values, modulation
|
|
// connections and macro assignments. Unset parameters keep their defaults.
|
|
// ===========================================================================
|
|
struct FactoryPreset
|
|
{
|
|
juce::String name;
|
|
std::vector<std::pair<const char*, float>> params;
|
|
std::vector<ModConnection> mods;
|
|
|
|
struct MacroAssign
|
|
{
|
|
int macro = 0;
|
|
ModTarget target = ModTarget::None;
|
|
float depth = 0.0f;
|
|
};
|
|
std::vector<MacroAssign> macroAssigns;
|
|
};
|
|
|
|
// All 16 factory presets, in program order.
|
|
const std::vector<FactoryPreset>& getFactoryPresets();
|
|
|
|
} // namespace serum
|