summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/surfaces/mackie/device_info.cc22
-rw-r--r--mcp/mcpro.device1
-rw-r--r--mcp/nucleus.device1
3 files changed, 24 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/device_info.cc b/libs/surfaces/mackie/device_info.cc
index ea488cd244..eef6d928c6 100644
--- a/libs/surfaces/mackie/device_info.cc
+++ b/libs/surfaces/mackie/device_info.cc
@@ -215,6 +215,28 @@ DeviceInfo::set_state (const XMLNode& node, int /* version */)
return -1;
}
+ /* Device type ought to be mandatory but early versions missed it */
+ if ((child = node.child ("DeviceType")) != 0) {
+ if ((prop = child->property ("value")) != 0) {
+ if (prop->value() == X_("MCU")) {
+ _device_type = MCU;
+ } else if (prop->value() == X_("MCXT")) {
+ _device_type = MCXT;
+ } else if (prop->value() == X_("LC")) {
+ _device_type = LC;
+ } else if (prop->value() == X_("LCXT")) {
+ _device_type = LCXT;
+ } else if (prop->value() == X_("HUI")) {
+ _device_type = HUI;
+ } else {
+ error << string_compose (_("Unknown Mackie device type \"%1\" used in device info file, using MCU instead"), prop->value()) << endmsg;
+ _device_type = MCU;
+ }
+ } else {
+ _device_type = MCU;
+ }
+ }
+
/* name is mandatory */
if ((child = node.child ("Name")) != 0) {
if ((prop = child->property ("value")) != 0) {
diff --git a/mcp/mcpro.device b/mcp/mcpro.device
index 0ace09abf8..10d5db30fa 100644
--- a/mcp/mcpro.device
+++ b/mcp/mcpro.device
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<MackieProtocolDevice>
<Name value="Mackie Control Universal Pro"/>
+ <DeviceType value="MCU"/>
<Strips value="8"/>
<MasterFader value="yes"/>
<TimecodeDisplay value="yes"/>
diff --git a/mcp/nucleus.device b/mcp/nucleus.device
index d9dbba4a97..216af9e9b7 100644
--- a/mcp/nucleus.device
+++ b/mcp/nucleus.device
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<MackieProtocolDevice>
<Name value="SSL Nucleus"/>
+ <DeviceType value="MCU"/>
<Strips value="8"/>
<Extenders value="1"/>
<MasterPosition value="0"/>