From b35f9ca1a0cbb9a0ca26c5730877885cee2727f6 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 15 Jun 2021 19:59:22 -0400 Subject: [PATCH] Add BasicUI::cancel_all_mute() Towards removing the direct use of Session by surfaces. --- libs/surfaces/control_protocol/basic_ui.cc | 10 ++++++++++ .../control_protocol/control_protocol/basic_ui.h | 5 +++++ libs/surfaces/faderport8/actions.cc | 4 ++-- libs/surfaces/launch_control_xl/controllers.cc | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/libs/surfaces/control_protocol/basic_ui.cc b/libs/surfaces/control_protocol/basic_ui.cc index dcddbc39ea..a5317ff603 100644 --- a/libs/surfaces/control_protocol/basic_ui.cc +++ b/libs/surfaces/control_protocol/basic_ui.cc @@ -762,6 +762,16 @@ BasicUI::sample_to_timecode (samplepos_t sample, Timecode::Time& timecode, bool _session->sample_to_timecode (sample, *((Timecode::Time*)&timecode), use_offset, use_subframes); } +std::vector> +BasicUI::cancel_all_mute () +{ + if (_session) { + return _session->cancel_all_mute (); + } + + return std::vector>{}; +} + void BasicUI::cancel_all_solo () { diff --git a/libs/surfaces/control_protocol/control_protocol/basic_ui.h b/libs/surfaces/control_protocol/control_protocol/basic_ui.h index e6f6a471b5..d60a43118b 100644 --- a/libs/surfaces/control_protocol/control_protocol/basic_ui.h +++ b/libs/surfaces/control_protocol/control_protocol/basic_ui.h @@ -30,8 +30,11 @@ #include "pbd/signals.h" #include "temporal/time.h" +#include + #include #include +#include namespace ARDOUR { @@ -97,6 +100,8 @@ class LIBCONTROLCP_API BasicUI { void toggle_monitor_dim(); void toggle_monitor_mono(); + std::vector> cancel_all_mute (); + void cancel_all_solo (); void quick_snapshot_stay (); diff --git a/libs/surfaces/faderport8/actions.cc b/libs/surfaces/faderport8/actions.cc index f77e148c34..258db5b1b2 100644 --- a/libs/surfaces/faderport8/actions.cc +++ b/libs/surfaces/faderport8/actions.cc @@ -360,7 +360,7 @@ FaderPort8::button_mute_clear () { #ifdef FP8_MUTESOLO_UNDO if (_session->muted ()) { - _mute_state = _session->cancel_all_mute (); + _mute_state = cancel_all_mute (); } else { /* restore mute */ boost::shared_ptr cl (new ControlList); @@ -377,7 +377,7 @@ FaderPort8::button_mute_clear () } } #else - _session->cancel_all_mute (); + cancel_all_mute (); #endif } diff --git a/libs/surfaces/launch_control_xl/controllers.cc b/libs/surfaces/launch_control_xl/controllers.cc index 7e595156e4..38a9f9be99 100644 --- a/libs/surfaces/launch_control_xl/controllers.cc +++ b/libs/surfaces/launch_control_xl/controllers.cc @@ -1012,7 +1012,7 @@ LaunchControlXL::button_mute() void LaunchControlXL::button_mute_long_press() { - _session->cancel_all_mute(); + cancel_all_mute(); } void