From 7751841b784856e66c7bf0d61d134cdf69cf3855 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 25 Apr 2020 16:23:11 +0200 Subject: Allow to un/link panner directly from the panner #8024 When editing a sends, this allows to unlink send panner via the panner's context menu. NB. After 6.0-rc string freeze the context menu needs an update. So far the text from the Processor Box context menu is reused. --- gtk2_ardour/panner_ui.cc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gtk2_ardour/panner_ui.cc') diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index 2a6daa1701..7837008f71 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -414,6 +414,17 @@ PannerUI::build_pan_menu () items.push_back (MenuElem (_("Edit..."), sigc::mem_fun (*this, &PannerUI::pan_edit))); } + if (_send_mode) { + items.push_back (SeparatorElem()); + // XXX change string after string-freeze XXX -> "Link to route panner" + items.push_back (CheckMenuElem (_("Link panner controls"), sigc::mem_fun(*this, &PannerUI::pan_bypass_toggle))); + send_link_menu_item = static_cast (&items.back()); + send_link_menu_item->set_active (_panshell->is_linked_to_route ()); + send_link_menu_item->signal_toggled().connect (sigc::mem_fun(*this, &PannerUI::pan_link_toggle)); + } else { + send_link_menu_item = NULL; + } + if (_panner_list.size() > 1 && !_panshell->bypassed()) { RadioMenuItem::Group group; items.push_back (SeparatorElem()); @@ -437,6 +448,14 @@ PannerUI::pan_bypass_toggle () } } +void +PannerUI::pan_link_toggle () +{ + if (send_link_menu_item && (_panshell->is_linked_to_route() != send_link_menu_item->get_active())) { + _panshell->set_linked_to_route (!_panshell->is_linked_to_route()); + } +} + void PannerUI::pan_edit () { -- cgit v1.2.3