23 : JUCEAppBasics::AppConfigurationBase()
25 InitializeBase(file, JUCEAppBasics::AppConfigurationBase::Version::FromString(
Umsci_CONFIG_VERSION));
39 if (!JUCEAppBasics::AppConfigurationBase::isValid(xmlConfig))
43 if (connectionConfigSectionElement)
56 if (visuConfigSectionElement)
59 if (controlColourXmlElement)
67 if (lookAndFeelXmlElement)
78 if (controlConfigSectionElement)
89 if (upmixConfigSectionElement)
108 auto xmlConfig = juce::parseXML(juce::String(BinaryData::UmsciDefault_config, BinaryData::UmsciDefault_configSize));
115 SetFlushAndUpdateDisabled();
116 if (resetConfigState(std::move(xmlConfig)))
118 ResetFlushAndUpdateDisabled();
124 ResetFlushAndUpdateDisabled();
127 triggerConfigurationDump();
135 triggerConfigurationDump();
143 triggerConfigurationDump();
151 if (configVersionFound != JUCEAppBasics::AppConfigurationBase::Version::FromString(
Umsci_CONFIG_VERSION))
153 auto conflictTitle =
"Incompatible configuration version";
154 auto conflictInfo =
"The configuration file version detected\ncannot be handled by this version of " + juce::JUCEApplication::getInstance()->getApplicationName();
156 conflictInfo <<
"\n(Found " + configVersionFound.ToString() +
", expected " +
Umsci_CONFIG_VERSION +
")";
158 juce::AlertWindow::showOkCancelBox(juce::MessageBoxIconType::WarningIcon, conflictTitle, conflictInfo,
"Reset to default",
"Quit",
nullptr, juce::ModalCallbackFunction::create([
this](
int result) {
165 juce::JUCEApplication::getInstance()->quit();
#define Umsci_CONFIG_VERSION
~UmsciAppConfiguration() override
bool isValid() override
Returns true if the XML file exists and contains the expected root tags.
@ IP
String: target device IP address.
@ UPMIXLIVEMODE
Boolean: follow live DS100 source positions.
@ UPMIXSHAPE
String: "Circle" or "Rectangle".
@ IOSIZE
String: "inputs,outputs" channel count pair.
@ PORT
Integer: target OCP.1 port (default 50014).
@ UPMIXSOURCESTARTID
Integer: 1-based first DS100 channel for upmix inputs.
bool HandleConfigVersionConflict(const Version &configVersionFound) override
Called by the base class when the config file's version string does not match Umsci_CONFIG_VERSION....
bool ResetToDefault()
Overwrites all settings with built-in defaults and triggers a dump.
UmsciAppConfiguration(const File &file)
static juce::String getTagName(TagID ID)
static juce::String getAttributeName(AttributeID ID)
@ CONTROLCONFIG
Control-component settings.
@ CONNECTIONCONFIG
OCP.1 connection parameters.
@ CONTROLCOLOUR
Source/speaker icon colour.
@ LOOKANDFEEL
Look-and-feel variant.
@ UPMIXCONFIG
Upmix behaviour settings.
@ VISUCONFIG
Visual appearance settings.