21#include <JuceHeader.h>
23#include <AppConfigurationBase.h>
26#define Umsci_CONFIG_VERSION "1.0.0"
91 return "CONNECTIONCONFIG";
95 return "CONTROLCOLOUR";
99 return "CONTROLCONFIG";
101 return "CONTROLFORMAT";
103 return "UPMIXCONFIG";
105 return "CONTROLSIZE";
107 return "EXTERNALCONTROLCONFIG";
109 return "MIDIINPUTDEVICE";
111 return "MIDI_UPMIXROT";
113 return "MIDI_UPMIXSCALE";
115 return "MIDI_UPMIXHEIGHTSCALE";
117 return "MIDI_UPMIXANGLESTRETCH";
119 return "MIDI_UPMIXOFFSETX";
121 return "MIDI_UPMIXOFFSETY";
123 return "UPMIXSNAPSHOTCONFIG";
125 return "OSCINPUTPORT";
127 return "OSC_UPMIXROT";
129 return "OSC_UPMIXSCALE";
131 return "OSC_UPMIXHEIGHTSCALE";
133 return "OSC_UPMIXANGLESTRETCH";
135 return "OSC_UPMIXOFFSETX";
137 return "OSC_UPMIXOFFSETY";
168 return "UPMIXSOURCESTARTID";
170 return "UPMIXLIVEMODE";
174 return "UPMIXSHOWALLSOURCES";
187 static bool isValid(
const std::unique_ptr<juce::XmlElement>& xmlConfig);
Persists all Umsci user settings to an XML file via the JUCEAppBasics::AppConfigurationBase framework...
~UmsciAppConfiguration() override
bool isValid() override
Returns true if the XML file exists and contains the expected root tags.
AttributeID
Enumerates every XML attribute name used within config elements.
@ IP
String: target device IP address.
@ UPMIXLIVEMODE
Boolean: follow live DS100 source positions.
@ ENABLED
Boolean: whether the connection is active.
@ UPMIXSHOWALLSOURCES
Boolean: render all sources or only upmix group.
@ 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.
static juce::String getTagName(TagID ID)
static juce::String getAttributeName(AttributeID ID)
TagID
Enumerates every XML element tag used in the config file.
@ MIDI_UPMIXOFFSETX
MIDI assignment for upmix X offset.
@ MIDI_UPMIXHEIGHTSCALE
MIDI assignment for upmix height translation.
@ CONTROLCONFIG
Control-component settings.
@ OSC_UPMIXHEIGHTSCALE
OSC address for upmix height translation.
@ CONNECTIONCONFIG
OCP.1 connection parameters.
@ OSC_UPMIXANGLESTRETCH
OSC address for upmix angle stretch.
@ MIDIINPUTDEVICE
Selected MIDI input device identifier.
@ UPMIXSNAPSHOTCONFIG
Upmix snapshot container (optional; absent = no snapshot stored).
@ CONTROLCOLOUR
Source/speaker icon colour.
@ OSC_UPMIXOFFSETX
OSC address for upmix X offset.
@ OSC_UPMIXROT
OSC address for upmix rotation.
@ MIDI_UPMIXSCALE
MIDI assignment for upmix translation (radial scale).
@ EXTERNALCONTROLCONFIG
External (MIDI) control assignments container.
@ CONTROLSIZE
Icon size (S/M/L).
@ MIDI_UPMIXOFFSETY
MIDI assignment for upmix Y offset.
@ CONTROLFORMAT
Upmix channel format.
@ MIDI_UPMIXANGLESTRETCH
MIDI assignment for upmix angle stretch.
@ OSC_UPMIXOFFSETY
OSC address for upmix Y offset.
@ OSCINPUTPORT
OSC UDP listen port.
@ MIDI_UPMIXROT
MIDI assignment for upmix rotation.
@ OSC_UPMIXSCALE
OSC address for upmix translation (radial scale).
@ LOOKANDFEEL
Look-and-feel variant.
@ UPMIXCONFIG
Upmix behaviour settings.
@ VISUCONFIG
Visual appearance settings.