diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-10-13 10:04:58 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-10-13 10:04:58 -0400 |
commit | 0043dc38a3d956b2280f66d9f5b1ff0a15532579 (patch) | |
tree | de7322bea146c67d21441a4fd1f09fbb23284040 | |
parent | 3169ac0444563ff3ab8c549df0d798aad088e942 (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.cc | 9 | ||||
-rw-r--r-- | libs/surfaces/mackie/device_info.h | 2 | ||||
-rw-r--r-- | mcp/nucleus.device | 1 |
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"/> |