diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-01-31 11:36:46 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-01-31 11:36:46 -0500 |
commit | d3dfd744979fb6fea89fdd66e3fa24d764f2e292 (patch) | |
tree | 26492a1a9a8b6dabdc734a3a457f4f986afbc17e | |
parent | 2491549923062e6f9a45d1d051d4ce0976f7b4bc (diff) |
mackie: strengthen behaviour of clear solo button
-rw-r--r-- | libs/surfaces/mackie/mcp_buttons.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libs/surfaces/mackie/mcp_buttons.cc b/libs/surfaces/mackie/mcp_buttons.cc index 004fe18859..83dae4c0dd 100644 --- a/libs/surfaces/mackie/mcp_buttons.cc +++ b/libs/surfaces/mackie/mcp_buttons.cc @@ -863,8 +863,16 @@ Mackie::LedState MackieControlProtocol::clearsolo_press (Mackie::Button&) { // clears all solos and listens (pfl/afl) - session->set_solo (session->get_routes(), false); - session->set_listen (session->get_routes(), false); + + if (session) { + if (session->soloing()) { + session->set_solo (session->get_routes(), false); + } else if (session->listening()) { + session->set_listen (session->get_routes(), false); + } + + session->clear_all_solo_state (session->get_routes()); // safeguard, ideally this won't do anything, check the log-window + } return none; } |