Add support for single-fader MCU devices: XTouch One and RuCo. (needs testing)

This commit is contained in:
Ben Loftis 2019-10-20 22:24:17 -05:00
parent 92173ca118
commit b96d8e7ffa
4 changed files with 31 additions and 0 deletions

View file

@ -62,6 +62,7 @@ DeviceInfo::DeviceInfo()
, _is_qcon(false)
, _has_meters (true)
, _has_separate_meters (false)
, _single_fader_follows_selection (false)
, _device_type (MCU)
, _name (X_("Mackie Control Universal Pro"))
{
@ -254,6 +255,8 @@ DeviceInfo::set_state (const XMLNode& node, int /* version */)
if (!child->get_property ("value", _strip_cnt)) {
_strip_cnt = 8;
}
if (_strip_cnt==1)
_single_fader_follows_selection = true;
} else {
return -1;
}
@ -424,6 +427,12 @@ DeviceInfo::has_meters() const
return _has_meters;
}
bool
DeviceInfo::single_fader_follows_selection() const
{
return _single_fader_follows_selection;
}
bool
DeviceInfo::has_separate_meters() const
{

View file

@ -83,6 +83,7 @@ class DeviceInfo
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;
@ -113,6 +114,7 @@ class DeviceInfo
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;

View file

@ -2437,6 +2437,11 @@ MackieControlProtocol::first_selected_stripable () const
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.

15
mcp/ruco.device Normal file
View file

@ -0,0 +1,15 @@
<?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>