Mackie Control: Added hidden tracks view mode.

This commit is contained in:
Len Ovens 2016-01-16 07:32:30 -08:00
parent 3f76b4ec17
commit 92dba5bfa3
4 changed files with 31 additions and 13 deletions

View file

@ -304,15 +304,18 @@ MackieControlProtocol::get_sorted_routes()
} }
break; break;
case AudioTracks: case AudioTracks:
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
if (is_audio_track(route) && !is_hidden(route)) { if (is_audio_track(route) && !is_hidden(route)) {
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
sorted.push_back (route); sorted.push_back (route);
remote_ids.insert (route->remote_control_id()); remote_ids.insert (route->remote_control_id());
} }
break; break;
case Busses: case Busses:
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
if (Profile->get_mixbus()) { if (Profile->get_mixbus()) {
#ifdef MIXBUS #ifdef MIXBUS
if (route->mixbus()) { if (route->mixbus()) {
@ -322,19 +325,16 @@ MackieControlProtocol::get_sorted_routes()
#endif #endif
} else { } else {
if (!is_track(route) && !is_hidden(route)) { if (!is_track(route) && !is_hidden(route)) {
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
sorted.push_back (route); sorted.push_back (route);
remote_ids.insert (route->remote_control_id()); remote_ids.insert (route->remote_control_id());
} }
} }
break; break;
case MidiTracks: case MidiTracks:
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
if (is_midi_track(route) && !is_hidden(route)) { if (is_midi_track(route) && !is_hidden(route)) {
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
sorted.push_back (route); sorted.push_back (route);
remote_ids.insert (route->remote_control_id()); remote_ids.insert (route->remote_control_id());
} }
@ -342,10 +342,20 @@ MackieControlProtocol::get_sorted_routes()
case Plugins: case Plugins:
break; break;
case Auxes: // in ardour, for now aux and buss are same. for mixbus, see "Busses" case above case Auxes: // in ardour, for now aux and buss are same. for mixbus, see "Busses" case above
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
if (!is_track(route) && !is_hidden(route)) { if (!is_track(route) && !is_hidden(route)) {
if (route->route_group()) { sorted.push_back (route);
route->route_group()->set_active (true, this); remote_ids.insert (route->remote_control_id());
} }
break;
case Hidden: // Show all the tracks we have hidden
if (route->route_group()) {
route->route_group()->set_active (true, this);
}
if (is_hidden(route)) {
// maybe separate groups
sorted.push_back (route); sorted.push_back (route);
remote_ids.insert (route->remote_control_id()); remote_ids.insert (route->remote_control_id());
} }

View file

@ -109,6 +109,7 @@ class MackieControlProtocol
Busses, Busses,
Auxes, Auxes,
Selected, Selected,
Hidden,
Plugins, Plugins,
}; };

View file

@ -960,6 +960,7 @@ MackieControlProtocol::outputs_press (Mackie::Button&)
Mackie::LedState Mackie::LedState
MackieControlProtocol::outputs_release (Mackie::Button&) MackieControlProtocol::outputs_release (Mackie::Button&)
{ {
set_view_mode (Hidden);
return none; return none;
} }
Mackie::LedState Mackie::LedState

View file

@ -1094,10 +1094,15 @@ Surface::update_view_mode_display ()
id = Button::Aux; id = Button::Aux;
text = _("Auxes"); text = _("Auxes");
break; break;
case MackieControlProtocol::Hidden:
show_two_char_display ("HI");
id = Button::Outputs;
text = _("Hidden Tracks");
break;
case MackieControlProtocol::Selected: case MackieControlProtocol::Selected:
show_two_char_display ("SE"); show_two_char_display ("SE");
id = Button::User; id = Button::User;
text = _("Selected Routes"); text = _("Selected Tracks");
break; break;
default: default:
break; break;
@ -1110,6 +1115,7 @@ Surface::update_view_mode_display ()
view_mode_buttons.push_back (Button::AudioTracks); view_mode_buttons.push_back (Button::AudioTracks);
view_mode_buttons.push_back (Button::MidiTracks); view_mode_buttons.push_back (Button::MidiTracks);
view_mode_buttons.push_back (Button::Aux); view_mode_buttons.push_back (Button::Aux);
view_mode_buttons.push_back (Button::Outputs);
view_mode_buttons.push_back (Button::User); view_mode_buttons.push_back (Button::User);
if (id >= 0) { if (id >= 0) {