mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-30 08:53:08 +01:00
Add support for single-fader MCU devices: XTouch One and RuCo. (needs testing)
This commit is contained in:
parent
92173ca118
commit
b96d8e7ffa
4 changed files with 31 additions and 0 deletions
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
15
mcp/ruco.device
Normal 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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue