summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-10-13 10:04:58 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-10-13 10:04:58 -0400
commit0043dc38a3d956b2280f66d9f5b1ff0a15532579 (patch)
treede7322bea146c67d21441a4fd1f09fbb23284040
parent3169ac0444563ff3ab8c549df0d798aad088e942 (diff)
introduce separate-meters concept for Mackie.
Devices like the SSL Nucleus have meters displayed separately from their 55x2 display
-rw-r--r--libs/surfaces/mackie/device_info.cc9
-rw-r--r--libs/surfaces/mackie/device_info.h2
-rw-r--r--mcp/nucleus.device1
3 files changed, 12 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/device_info.cc b/libs/surfaces/mackie/device_info.cc
index b0ce131e00..2fcd5abf06 100644
--- a/libs/surfaces/mackie/device_info.cc
+++ b/libs/surfaces/mackie/device_info.cc
@@ -57,6 +57,7 @@ DeviceInfo::DeviceInfo()
, _uses_ipmidi (false)
, _no_handshake (false)
, _has_meters (true)
+ , _has_separate_meters (false)
, _device_type (MCU)
, _name (X_("Mackie Control Universal Pro"))
{
@@ -343,6 +344,14 @@ DeviceInfo::set_state (const XMLNode& node, int /* version */)
_has_meters = true;
}
+ if ((child = node.child ("HasSeparateMeters")) != 0) {
+ if ((prop = child->property ("value")) != 0) {
+ _has_meters = _has_separate_meters = string_is_affirmative (prop->value());
+ }
+ } else {
+ _has_separate_meters = false;
+ }
+
if ((child = node.child ("LogicControlButtons")) != 0) {
if ((prop = child->property ("value")) != 0) {
_uses_logic_control_buttons = string_is_affirmative (prop->value());
diff --git a/libs/surfaces/mackie/device_info.h b/libs/surfaces/mackie/device_info.h
index 2f4f769127..2aaa710ec6 100644
--- a/libs/surfaces/mackie/device_info.h
+++ b/libs/surfaces/mackie/device_info.h
@@ -81,6 +81,7 @@ class DeviceInfo
bool uses_ipmidi() const;
bool no_handshake() const;
bool has_meters() const;
+ bool has_separate_meters() const;
const std::string& name() const;
static std::map<std::string,DeviceInfo> device_info;
@@ -109,6 +110,7 @@ class DeviceInfo
bool _uses_ipmidi;
bool _no_handshake;
bool _has_meters;
+ bool _has_separate_meters;
DeviceType _device_type;
std::string _name;
std::string _global_button_name;
diff --git a/mcp/nucleus.device b/mcp/nucleus.device
index 216af9e9b7..b4e1a763b3 100644
--- a/mcp/nucleus.device
+++ b/mcp/nucleus.device
@@ -8,6 +8,7 @@
<MasterFader value="no"/>
<TimecodeDisplay value="no"/>
<TwoCharacterDisplay value="yes"/>
+ <HasSeparateMeters value="yes"/>
<GlobalControls value="yes"/>
<JogWheel value="yes"/>
<TouchSenseFaders value="yes"/>