diff options
author | Robin Gareus <robin@gareus.org> | 2018-08-08 22:42:12 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-08-08 22:42:12 +0200 |
commit | bf694199ab9412508892608ba80da16d30f8a9ca (patch) | |
tree | 8a39bea5b583b5a56a71163ab40736dd9a07ba78 /gtk2_ardour | |
parent | 3064c5a6753bdccb86d446d2cba15f95d372f002 (diff) |
Add method to show/hide VCA (and Mixbus) Mixer pane
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour.menus.in | 4 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 5 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_dialogs.cc | 24 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_ed.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/mixer_ui.h | 9 |
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 (); |