diff options
-rw-r--r-- | libs/surfaces/mackie/device_info.cc | 22 | ||||
-rw-r--r-- | mcp/mcpro.device | 1 | ||||
-rw-r--r-- | mcp/nucleus.device | 1 |
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"/> |