21#include <JuceHeader.h>
23#include <AppConfigurationBase.h>
25#define Mema_CONFIG_VERSION "1.0.0"
54 return "PROCESSORCONFIG";
56 return "DEVICECONFIG";
60 return "PLUGINCONFIG";
66 return "CROSSPOINTGAINS";
93 return "PALETTESTYLE";
95 return "METERINGCOLOR";
99 return "CONTROLLABLE";
113 static bool isValid(
const std::unique_ptr<juce::XmlElement>& xmlConfig);
XML-backed application configuration manager for the Mema audio matrix tool.
static juce::String getTagName(TagID ID)
TagID
XML element tag identifiers used when serialising/deserialising the configuration.
@ PLUGINCONFIG
Plugin host settings.
@ PROCESSORCONFIG
Audio processor settings.
@ CROSSPOINTGAINS
Crosspoint matrix gain values.
@ DEVCONFIG
Audio device configuration.
@ OUTPUTMUTES
Per-channel output mute states.
@ PLUGINPARAM
Individual plugin parameter entry.
@ UICONFIG
UI layout and appearance.
@ INPUTMUTES
Per-channel input mute states.
bool ResetToDefault()
Resets every value to factory defaults and triggers a dump.
static juce::String getAttributeName(AttributeID ID)
AttributeID
XML attribute identifiers used alongside TagID elements.
@ ENABLED
Boolean enabled flag.
@ METERINGCOLOR
Metering bar colour.
@ POST
Post-matrix plugin insertion flag.
@ CONTROLLABLE
Whether a plugin parameter is remotely controllable.
@ IDX
Channel or parameter index.
@ PALETTESTYLE
Look-and-feel palette style index.
bool isValid() override
Returns true when the loaded XML contains all required configuration nodes.
~MemaAppConfiguration() override
bool HandleConfigVersionConflict(const Version &configVersionFound) override
Called when the persisted config version differs from the current app version.