summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui.cc
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2018-12-03 18:55:52 -0600
committerBen Loftis <ben@harrisonconsoles.com>2018-12-07 12:57:26 -0600
commit65bda27d4218d9d4ebf809d91e716c892e1f1d8b (patch)
tree7254c9cb111d64912c78ce62023986d2fe9668a7 /gtk2_ardour/ardour_ui.cc
parent19cb8cf13803b52f2e6956ed24d4e328e61bb1b2 (diff)
Tweaks to Mixer and Monitor keybindings:
Add Mixer-specific view keybindings for list, vca, mon. (thanks to: the_CLA) Move monitor keybindings (mute, dim, mono) to be globally-accessible. Implement new mixer-specific actions to show/hide monitor,vcas,mixbuses (the_CLA) Move monitor funcs (mute,dim,mono) to globally-accessible actions. Make a new Monitor group insted of using Transport group. Allow use-monitor-section to be controlled by both menu and session-options dialog.
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r--gtk2_ardour/ardour_ui.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 6dd659420c..9321f13137 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -92,6 +92,7 @@
#include "ardour/filename_extensions.h"
#include "ardour/filesystem_paths.h"
#include "ardour/ltc_file_reader.h"
+#include "ardour/monitor_control.h"
#include "ardour/midi_track.h"
#include "ardour/port.h"
#include "ardour/plugin_manager.h"
@@ -5985,3 +5986,45 @@ ARDOUR_UI::reset_focus (Gtk::Widget* w)
gtk_window_set_focus (GTK_WINDOW(top->gobj()), 0);
}
+
+void
+ARDOUR_UI::monitor_dim_all ()
+{
+ boost::shared_ptr<Route> mon = _session->monitor_out ();
+ if (!mon) {
+ return;
+ }
+ boost::shared_ptr<ARDOUR::MonitorProcessor> _monitor = mon->monitor_control ();
+
+ Glib::RefPtr<Action> act = global_actions.find_action (X_("Monitor"), "monitor-dim-all");
+ assert (act); Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
+ assert (tact); _monitor->set_dim_all (tact->get_active());
+}
+
+void
+ARDOUR_UI::monitor_cut_all ()
+{
+ boost::shared_ptr<Route> mon = _session->monitor_out ();
+ if (!mon) {
+ return;
+ }
+ boost::shared_ptr<ARDOUR::MonitorProcessor> _monitor = mon->monitor_control ();
+
+ Glib::RefPtr<Action> act = global_actions.find_action (X_("Monitor"), "monitor-cut-all");
+ assert (act); Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
+ assert (tact); _monitor->set_cut_all (tact->get_active());
+}
+
+void
+ARDOUR_UI::monitor_mono ()
+{
+ boost::shared_ptr<Route> mon = _session->monitor_out ();
+ if (!mon) {
+ return;
+ }
+ boost::shared_ptr<ARDOUR::MonitorProcessor> _monitor = mon->monitor_control ();
+
+ Glib::RefPtr<Action> act = global_actions.find_action (X_("Monitor"), "monitor-mono");
+ assert (act); Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
+ assert (tact);_monitor->set_mono (tact->get_active());
+}