summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-08-08 22:42:12 +0200
committerRobin Gareus <robin@gareus.org>2018-08-08 22:42:12 +0200
commitbf694199ab9412508892608ba80da16d30f8a9ca (patch)
tree8a39bea5b583b5a56a71163ab40736dd9a07ba78 /gtk2_ardour
parent3064c5a6753bdccb86d446d2cba15f95d372f002 (diff)
Add method to show/hide VCA (and Mixbus) Mixer pane
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour.menus.in4
-rw-r--r--gtk2_ardour/ardour_ui.h5
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc24
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc10
-rw-r--r--gtk2_ardour/mixer_ui.h9
5 files changed, 52 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in
index 14d0de4e1c..f952a410a7 100644
--- a/gtk2_ardour/ardour.menus.in
+++ b/gtk2_ardour/ardour.menus.in
@@ -515,6 +515,10 @@
<menuitem action='show-editor-list'/>
<menuitem action='ToggleMixerList'/>
<menuitem action='ToggleMonitorSection'/>
+#ifdef MIXBUS
+ <menuitem action='ToggleMixbusPane'/>
+#endif
+ <menuitem action='ToggleVCAPane'/>
<menuitem action='ToggleSummary'/>
<menuitem action='ToggleGroupTabs'/>
<menuitem action='show-marker-lines'/>
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 3962dc2945..0cf7c58815 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -230,6 +230,11 @@ public:
void toggle_monitor_section_visibility ();
void toggle_keep_tearoffs();
+ void toggle_vca_pane();
+#ifdef MIXBUS
+ void toggle_mixbus_pane();
+#endif
+
void reset_focus (Gtk::Widget*);
static PublicEditor* _instance;
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc
index aabfbfd0be..931e7a5a50 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -977,3 +977,27 @@ ARDOUR_UI::toggle_monitor_section_visibility ()
mixer->show_monitor_section (tact->get_active());
}
}
+
+void
+ARDOUR_UI::toggle_vca_pane ()
+{
+ Glib::RefPtr<Action> act = ActionManager::get_action ("Common", "ToggleVCAPane");
+
+ if (act) {
+ Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
+ mixer->showhide_vcas (tact->get_active());
+ }
+}
+
+#ifdef MIXBUS
+void
+ARDOUR_UI::toggle_mixbus_pane ()
+{
+ Glib::RefPtr<Action> act = ActionManager::get_action ("Common", "ToggleMixbusPane");
+
+ if (act) {
+ Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
+ mixer->showhide_mixbusses (tact->get_active());
+ }
+}
+#endif
diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc
index 4ee384f467..b5c0a9d563 100644
--- a/gtk2_ardour/ardour_ui_ed.cc
+++ b/gtk2_ardour/ardour_ui_ed.cc
@@ -372,6 +372,16 @@ ARDOUR_UI::install_actions ()
act = global_actions.register_toggle_action (common_actions, X_("ToggleMixerList"), _("Toggle Mixer List"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_mixer_list));
ActionManager::session_sensitive_actions.push_back (act);
+ act = global_actions.register_toggle_action (common_actions, X_("ToggleVCAPane"), _("Toggle VCA Pane"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_vca_pane));
+ ActionManager::session_sensitive_actions.push_back (act);
+ Glib::RefPtr<ToggleAction>::cast_dynamic(act)->set_active (true);
+
+#ifdef MIXBUS
+ act = global_actions.register_toggle_action (common_actions, X_("ToggleMixbusPane"), _("Toggle Mixbus Pane"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_mixbus_pane));
+ ActionManager::session_sensitive_actions.push_back (act);
+ Glib::RefPtr<ToggleAction>::cast_dynamic(act)->set_active (true);
+#endif
+
act = global_actions.register_toggle_action (common_actions, X_("ToggleMonitorSection"), _("Toggle Monitor Section Visibility"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_monitor_section_visibility));
act->set_sensitive (false);
diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h
index cfe1f1b294..0ef17eee38 100644
--- a/gtk2_ardour/mixer_ui.h
+++ b/gtk2_ardour/mixer_ui.h
@@ -133,6 +133,15 @@ public:
void load_bindings ();
Gtkmm2ext::Bindings* bindings;
+ void showhide_vcas (bool on) {
+ if (on) { vca_vpacker.show(); } else { vca_vpacker.hide(); }
+ }
+#ifdef MIXBUS
+ void showhide_mixbusses (bool on) {
+ if (on) { mb_vpacker.show(); } else { mb_vpacker.hide(); }
+ }
+#endif
+
protected:
void set_axis_targets_for_operation ();
ARDOUR::AutomationControlSet selected_gaincontrols ();