summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2015-10-20 19:31:04 -0700
committerLen Ovens <len@ovenwerks.net>2015-10-20 19:31:04 -0700
commit7a453d232923fc287f93bb0910e9c0bafc375a57 (patch)
tree29f5c76a97c67e7ca3959f925730bc627e45606e /libs
parent81f6ad0d0c1e0f5fd32d2b3ef7638b47a005f779 (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.h1
-rw-r--r--libs/surfaces/mackie/mcp_buttons.cc27
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