Files

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