, _is_qcon(false)
, _has_meters (true)
, _has_separate_meters (false)
+ , _single_fader_follows_selection (false)
, _device_type (MCU)
, _name (X_("Mackie Control Universal Pro"))
{
if (!child->get_property ("value", _strip_cnt)) {
_strip_cnt = 8;
}
+ if (_strip_cnt==1)
+ _single_fader_follows_selection = true;
} else {
return -1;
}
return _has_meters;
}
+bool
+DeviceInfo::single_fader_follows_selection() const
+{
+ return _single_fader_follows_selection;
+}
+
bool
DeviceInfo::has_separate_meters() const
{
bool is_qcon() const;
bool has_meters() const;
bool has_separate_meters() const;
+ bool single_fader_follows_selection() const;
const std::string& name() const;
static std::map<std::string,DeviceInfo> device_info;
bool _is_qcon;
bool _has_meters;
bool _has_separate_meters;
+ bool _single_fader_follows_selection;
DeviceType _device_type;
std::string _name;
std::string _global_button_name;
return s;
}
+ /* if it's a single-fader surface, it should follow the selection */
+ if (_device_info.single_fader_follows_selection()) {
+ return s;
+ }
+
/* stripable is not mapped. thus, the currently selected stripable is
* not on the surfaces, and so from our perspective, there is
* no currently selected stripable.
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<MackieProtocolDevice>
+ <Name value="RuCo"/>
+ <DeviceType value="MCU"/>
+ <Strips value="1"/>
+ <MasterFader value="no"/>
+ <TimecodeDisplay value="yes"/>
+ <TwoCharacterDisplay value="yes"/>
+ <Extenders value="0"/>
+ <MasterPosition value="0"/>
+ <GlobalControls value="yes"/>
+ <JogWheel value="yes"/>
+ <TouchSenseFaders value="yes"/>
+ <HasSeparateMeters value="yes"/>
+</MackieProtocolDevice>