From db4edbf3b592ebac4cd0df9f5f9caa33a45c54dd Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 27 Sep 2016 14:30:43 -0500 Subject: [PATCH] push2: tweak logic of master button --- libs/surfaces/push2/buttons.cc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libs/surfaces/push2/buttons.cc b/libs/surfaces/push2/buttons.cc index 572bb875ad..43e4255f01 100644 --- a/libs/surfaces/push2/buttons.cc +++ b/libs/surfaces/push2/buttons.cc @@ -727,18 +727,23 @@ Push2::button_mix_press () void Push2::button_master () { - boost::shared_ptr master = session->master_out(); + boost::shared_ptr main_out = session->master_out (); - if (!master) { + if (!main_out) { return; } - ControlProtocol::SetStripableSelection (master); - if (_current_layout != track_mix_layout) { + ControlProtocol::SetStripableSelection (main_out); set_current_layout (track_mix_layout); } else { - set_current_layout (_previous_layout); + TrackMixLayout* tml = dynamic_cast (_current_layout); + if (tml->current_stripable() == main_out) { + /* back to previous layout */ + set_current_layout (_previous_layout); + } else { + ControlProtocol::SetStripableSelection (main_out); + } } } -- 2.30.2