diff options
author | Len Ovens <len@ovenwerks.net> | 2015-10-20 19:31:04 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2015-10-20 19:31:04 -0700 |
commit | 7a453d232923fc287f93bb0910e9c0bafc375a57 (patch) | |
tree | 29f5c76a97c67e7ca3959f925730bc627e45606e /libs | |
parent | 81f6ad0d0c1e0f5fd32d2b3ef7638b47a005f779 (diff) |
Make sure Mackie Control view modes start with route 1 except Mixer mode goes to last position.
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.h | 1 | ||||
-rw-r--r-- | libs/surfaces/mackie/mcp_buttons.cc | 27 |
2 files changed, 22 insertions, 6 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h index 05dada3d6c..0976da5197 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.h +++ b/libs/surfaces/mackie/mackie_control_protocol.h @@ -328,6 +328,7 @@ class MackieControlProtocol ARDOUR::RouteNotificationList _last_selected_routes; XMLNode* configuration_state; int state_version; + int _last_mix_bank; boost::shared_ptr<ArdourSurface::Mackie::Surface> _master_surface; diff --git a/libs/surfaces/mackie/mcp_buttons.cc b/libs/surfaces/mackie/mcp_buttons.cc index 4f8306d717..49550d2caf 100644 --- a/libs/surfaces/mackie/mcp_buttons.cc +++ b/libs/surfaces/mackie/mcp_buttons.cc @@ -857,8 +857,11 @@ MackieControlProtocol::miditracks_press (Mackie::Button&) Mackie::LedState MackieControlProtocol::miditracks_release (Mackie::Button&) { + if (_view_mode == Mixer) { + _last_mix_bank = _current_initial_bank; + } set_view_mode (MidiTracks); - refresh_current_bank(); + switch_banks(0, true); return none; } Mackie::LedState @@ -879,8 +882,11 @@ MackieControlProtocol::audiotracks_press (Mackie::Button&) Mackie::LedState MackieControlProtocol::audiotracks_release (Mackie::Button&) { + if (_view_mode == Mixer) { + _last_mix_bank = _current_initial_bank; + } set_view_mode (AudioTracks); - refresh_current_bank(); + switch_banks(0, true); return none; } Mackie::LedState @@ -901,8 +907,11 @@ MackieControlProtocol::aux_press (Mackie::Button&) Mackie::LedState MackieControlProtocol::aux_release (Mackie::Button&) { + if (_view_mode == Mixer) { + _last_mix_bank = _current_initial_bank; + } set_view_mode (Auxes); - refresh_current_bank(); + switch_banks(0, true); return none; } Mackie::LedState @@ -913,8 +922,11 @@ MackieControlProtocol::busses_press (Mackie::Button&) Mackie::LedState MackieControlProtocol::busses_release (Mackie::Button&) { + if (_view_mode == Mixer) { + _last_mix_bank = _current_initial_bank; + } set_view_mode (Busses); - refresh_current_bank(); + switch_banks(0, true); return none; } Mackie::LedState @@ -935,8 +947,11 @@ MackieControlProtocol::user_press (Mackie::Button&) Mackie::LedState MackieControlProtocol::user_release (Mackie::Button&) { + if (_view_mode == Mixer) { + _last_mix_bank = _current_initial_bank; + } set_view_mode (Selected); - refresh_current_bank(); + switch_banks(0, true); return none; } Mackie::LedState @@ -1003,7 +1018,7 @@ Mackie::LedState MackieControlProtocol::view_press (Mackie::Button&) { set_view_mode (Mixer); - refresh_current_bank(); + switch_banks (_last_mix_bank, true); return none; } Mackie::LedState |