21#include <JuceHeader.h>
23#include <AppConfigurationBase.h>
25#define Mema_CONFIG_VERSION "1.0.0"
65 return "CONNECTIONCONFIG";
67 return "SERVICEDESCRIPTION";
71 return "CONTROLFORMAT";
73 return "CONTROLCOLOUR";
77 return "CONTROLSSIZE";
79 return "EXTCTRLCONFIG";
83 return "ADMOSCCLIENT";
119 static bool isValid(
const std::unique_ptr<juce::XmlElement>& xmlConfig);
XML-backed configuration manager for the Mema.Re remote-control application.
static juce::String getAttributeName(AttributeID ID)
TagID
XML element tag identifiers used when serialising/deserialising the configuration.
@ CONTROLFORMAT
Active control mode (faderbank, 2-D panning layout, plugin parameters).
@ ADMOSCCLIENT
ADM-OSC client (remote IP and port for outgoing messages).
@ CONTROLSSIZE
Size category for control widgets (S / M / L).
@ VISUCONFIG
Root element for visualisation/control settings.
@ LOOKANDFEEL
Active look-and-feel (follow host / dark / light).
@ ADMOSCHOST
ADM-OSC host (local UDP listen port).
@ EXTCTRLCONFIG
Root element for external ADM-OSC controller settings.
@ CONNECTIONCONFIG
Root element for TCP connection settings.
@ SERVICEDESCRIPTION
Stored multicast service descriptor of the last connected Mema instance.
@ CONTROLCOLOUR
User-selected accent colour for control elements.
~MemaReAppConfiguration() override
bool ResetToDefault()
Resets every configuration value to its factory default and triggers a dump.
static juce::String getTagName(TagID ID)
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.
@ PORT
UDP/TCP port number.
@ IP
IP address string (used for ADM-OSC remote client address).
@ ENABLED
Boolean flag indicating whether a feature or connection is active.
bool isValid() override
Returns true when the loaded XML contains all required Mema.Re configuration nodes.