13
0

Mackie Control: Disable Selected group in User/Selected view mode to allow individual adjustment.

This commit is contained in:
Len Ovens 2015-11-26 06:55:25 -08:00
parent d138f8981d
commit 3893f62657
2 changed files with 50 additions and 12 deletions

View File

@ -51,6 +51,7 @@
#include "ardour/panner.h"
#include "ardour/panner_shell.h"
#include "ardour/route.h"
#include "ardour/route_group.h"
#include "ardour/session.h"
#include "ardour/tempo.h"
#include "ardour/track.h"
@ -290,38 +291,59 @@ MackieControlProtocol::get_sorted_routes()
switch (_view_mode) {
case Mixer:
sorted.push_back (*it);
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
sorted.push_back (route);
remote_ids.insert (route->remote_control_id());
break;
case AudioTracks:
if (is_audio_track(*it)) {
sorted.push_back (*it);
if (is_audio_track(route)) {
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
sorted.push_back (route);
remote_ids.insert (route->remote_control_id());
}
break;
case Busses:
if (!is_track(*it)) {
sorted.push_back (*it);
if (!is_track(route)) {
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
sorted.push_back (route);
remote_ids.insert (route->remote_control_id());
}
break;
case MidiTracks: // for now aux and buss are same
if (is_midi_track(*it)) {
sorted.push_back (*it);
case MidiTracks:
if (is_midi_track(route)) {
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
sorted.push_back (route);
remote_ids.insert (route->remote_control_id());
}
break;
case Plugins:
break;
case Auxes: // for now aux and buss are same
if (!is_track(*it)) {
sorted.push_back (*it);
if (!is_track(route)) {
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
sorted.push_back (route);
remote_ids.insert (route->remote_control_id());
}
break;
case Selected: // For example: a group
if (selected(*it)) {
sorted.push_back (*it);
if (selected(route)) {
/* Selected may be a group in which case we want to
* control each track separately.
*/
if (route->route_group()) {
route->route_group()->set_active (false, this);
}
sorted.push_back (route);
remote_ids.insert (route->remote_control_id());
}
break;

16
mcp/midikbd.device Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<MackieProtocolDevice>
<Name value="midikbd5"/>
<Strips value="5"/>
<MasterFader value="yes"/>
<TimecodeDisplay value="yes"/>
<TwoCharacterDisplay value="yes"/>
<Extenders value="0"/>
<MasterPosition value="0"/>
<GlobalControls value="yes"/>
<JogWheel value="yes"/>
<TouchSenseFaders value="no"/>
<HasSeparateMeters value="yes"/>
<NoHandShake value="yes"/>
<HasMeters value="yes"/>
</MackieProtocolDevice>