21#include <JuceHeader.h>
23#include <AppConfigurationBase.h>
25#define Mema_CONFIG_VERSION "1.0.0"
60 return "CONNECTIONCONFIG";
62 return "SERVICEDESCRIPTION";
66 return "OUTPUTVISUTYPE";
68 return "METERINGCOLOUR";
103 static bool isValid(
const std::unique_ptr<juce::XmlElement>& xmlConfig);
XML-backed configuration manager for the Mema.Mo monitor application.
TagID
XML element tag identifiers used when serialising/deserialising the configuration.
@ METERINGCOLOUR
User-selected metering bar colour.
@ OUTPUTVISUTYPE
Active output visualisation mode (meterbridge, 2-D field, waveform, …).
@ VISUCONFIG
Root element for visualisation settings.
@ LOOKANDFEEL
Active look-and-feel (follow host / dark / light).
@ SERVICEDESCRIPTION
Stores the multicast service descriptor of the last connected Mema instance.
@ CONNECTIONCONFIG
Root element for connection settings (host, port).
static juce::String getAttributeName(AttributeID ID)
~MemaMoAppConfiguration() override
bool ResetToDefault()
Resets every configuration value to its factory default and triggers a dump.
bool HandleConfigVersionConflict(const Version &configVersionFound) override
Called when the persisted config version differs from the current app version.
AttributeID
XML attribute identifiers used alongside TagID elements.
@ COUNT
Integer storing a channel or item count.
@ ENABLED
Boolean flag indicating whether a feature or connection is active.
bool isValid() override
Returns true when the loaded XML contains all required Mema.Mo configuration nodes.
static juce::String getTagName(TagID ID)