add DeviceType specifier for mackie devices.
authorPaul Davis <paul@linuxaudiosystems.com>
Sat, 3 Oct 2015 15:39:36 +0000 (11:39 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Sat, 3 Oct 2015 17:13:58 +0000 (13:13 -0400)
Incomplete, because we need a way to handle multiple devices of different types

libs/surfaces/mackie/device_info.cc
mcp/mcpro.device
mcp/nucleus.device

index ea488cd24422ef8c3f3ca11b918b5f0db374897c..eef6d928c6a059d6928d0432924da227e819415e 100644 (file)
@@ -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) {
index 0ace09abf8d68e71f9351d35af5ab8e2076fa754..10d5db30fa3023750bbb1e2559af37e47b0de57b 100644 (file)
@@ -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"/>
index d9dbba4a972989f06fefdf0f96faacbb1cb65ada..216af9e9b75ee48e41fa29fead55eccedd45abd0 100644 (file)
@@ -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"/>