From bf694199ab9412508892608ba80da16d30f8a9ca Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 8 Aug 2018 22:42:12 +0200 Subject: Add method to show/hide VCA (and Mixbus) Mixer pane --- gtk2_ardour/ardour.menus.in | 4 ++++ gtk2_ardour/ardour_ui.h | 5 +++++ gtk2_ardour/ardour_ui_dialogs.cc | 24 ++++++++++++++++++++++++ gtk2_ardour/ardour_ui_ed.cc | 10 ++++++++++ gtk2_ardour/mixer_ui.h | 9 +++++++++ 5 files changed, 52 insertions(+) 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 @@ +#ifdef MIXBUS + +#endif + 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 act = ActionManager::get_action ("Common", "ToggleVCAPane"); + + if (act) { + Glib::RefPtr tact = Glib::RefPtr::cast_dynamic(act); + mixer->showhide_vcas (tact->get_active()); + } +} + +#ifdef MIXBUS +void +ARDOUR_UI::toggle_mixbus_pane () +{ + Glib::RefPtr act = ActionManager::get_action ("Common", "ToggleMixbusPane"); + + if (act) { + Glib::RefPtr tact = Glib::RefPtr::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::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::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 (); -- cgit v1.2.3