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.
This commit is contained in:
@@ -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<Gtk::CheckMenuItem*> (&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 ()
|
||||
{
|
||||
|
||||
@@ -135,9 +135,11 @@ private:
|
||||
|
||||
Gtk::Menu* pan_menu;
|
||||
Gtk::CheckMenuItem* bypass_menu_item;
|
||||
Gtk::CheckMenuItem* send_link_menu_item;
|
||||
void build_pan_menu ();
|
||||
void pan_reset ();
|
||||
void pan_bypass_toggle ();
|
||||
void pan_link_toggle ();
|
||||
void pan_edit ();
|
||||
void pan_set_custom_type (std::string type);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user