summaryrefslogtreecommitdiff
path: root/libs/surfaces/control_protocol
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2017-03-18 14:14:02 -0700
committerLen Ovens <len@ovenwerks.net>2017-03-18 14:14:02 -0700
commitcaae0546a76eb8c41701b92ba52ac0c6f199d79e (patch)
treef448e9979547863b36bd6e5f54050d26b2349bba /libs/surfaces/control_protocol
parenta9ca7f649a1ff84409ef7e86166b1161e8848efb (diff)
OSC fix toggle_monitor_mute/dim/mono in basic_ui
Diffstat (limited to 'libs/surfaces/control_protocol')
-rw-r--r--libs/surfaces/control_protocol/basic_ui.cc43
1 files changed, 39 insertions, 4 deletions
diff --git a/libs/surfaces/control_protocol/basic_ui.cc b/libs/surfaces/control_protocol/basic_ui.cc
index c9acb73c69..640dba2e6b 100644
--- a/libs/surfaces/control_protocol/basic_ui.cc
+++ b/libs/surfaces/control_protocol/basic_ui.cc
@@ -416,6 +416,45 @@ BasicUI::jump_by_bars (double bars)
session->request_locate ( session->convert_to_frames (any) );
}
+void
+BasicUI::toggle_monitor_mute ()
+{
+ if (session->monitor_out()) {
+ boost::shared_ptr<MonitorProcessor> mon = session->monitor_out()->monitor_control();
+ if (mon->cut_all ()) {
+ mon->set_cut_all (false);
+ } else {
+ mon->set_cut_all (true);
+ }
+ }
+}
+
+void
+BasicUI::toggle_monitor_dim ()
+{
+ if (session->monitor_out()) {
+ boost::shared_ptr<MonitorProcessor> mon = session->monitor_out()->monitor_control();
+ if (mon->dim_all ()) {
+ mon->set_dim_all (false);
+ } else {
+ mon->set_dim_all (true);
+ }
+ }
+}
+
+void
+BasicUI::toggle_monitor_mono ()
+{
+ if (session->monitor_out()) {
+ boost::shared_ptr<MonitorProcessor> mon = session->monitor_out()->monitor_control();
+ if (mon->mono()) {
+ mon->set_mono (false);
+ } else {
+ mon->set_mono (true);
+ }
+ }
+}
+
void BasicUI::mark_in () { access_action("Common/start-range-from-playhead"); }
void BasicUI::mark_out () { access_action("Common/finish-range-from-playhead"); }
@@ -428,10 +467,6 @@ void BasicUI::set_punch_range () { access_action("Common/set-punch-from-edit-ran
void BasicUI::set_loop_range () { access_action("Common/set-loop-from-edit-range"); }
void BasicUI::set_session_range () { access_action("Common/set-session-from-edit-range"); }
-void BasicUI::toggle_monitor_mute () { /*access_action("Editor/toggle_monitor_mute"); */ }
-void BasicUI::toggle_monitor_dim () { /*access_action("Editor/toggle_monitor_dim"); */ }
-void BasicUI::toggle_monitor_mono () { /*access_action("Editor/toggle_monitor_mono"); */ }
-
void BasicUI::quick_snapshot_stay () { access_action("Main/QuickSnapshotStay"); }
void BasicUI::quick_snapshot_switch () { access_action("Main/QuickSnapshotSwitch"); }