X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fprocessor_box.cc;h=495845d2d465da572b7226ca95141a3dbf1e9d58;hb=580520b12f90251e38d94a1a5d6a199b76142b0b;hp=265f94c53b0659c48c74a1b493b2bd5f5794335e;hpb=0d31fc76d52dd1c6bec65886bac0f9cd3b4a60cd;p=ardour.git diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 265f94c53b..495845d2d4 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -2031,7 +2031,7 @@ ProcessorBox::processor_can_be_edited (boost::shared_ptr processor) } if ( - (boost::dynamic_pointer_cast (processor) && !boost::dynamic_pointer_cast (processor))|| + boost::dynamic_pointer_cast (processor) || boost::dynamic_pointer_cast (processor) || boost::dynamic_pointer_cast (processor) || boost::dynamic_pointer_cast (processor) @@ -2086,17 +2086,6 @@ ProcessorBox::get_editor_window (boost::shared_ptr processor, bool us if (boost::dynamic_pointer_cast (processor) == 0) { gidget = new SendUIWindow (send, _session); - - } else { - /* assign internal send to main fader */ - - if (_parent_strip) { - if (_parent_strip->current_delivery() == send) { - _parent_strip->revert_to_default_display (); - } else { - _parent_strip->show_send(send); - } - } } } else if ((retrn = boost::dynamic_pointer_cast (processor)) != 0) { @@ -2444,13 +2433,34 @@ ProcessorBox::rb_edit () _current_processor_box->for_selected_processors (&ProcessorBox::edit_processor); } +bool +ProcessorBox::edit_aux_send (boost::shared_ptr processor) +{ + if (boost::dynamic_pointer_cast (processor) == 0) { + return false; + } + + if (_parent_strip) { + boost::shared_ptr send = boost::dynamic_pointer_cast (processor); + if (_parent_strip->current_delivery() == send) { + _parent_strip->revert_to_default_display (); + } else { + _parent_strip->show_send(send); + } + } + return true; +} + void ProcessorBox::edit_processor (boost::shared_ptr processor) { if (!processor) { return; } - + if (edit_aux_send (processor)) { + return; + } + ProcessorWindowProxy* proxy = find_window_proxy (processor); if (proxy) { @@ -2465,7 +2475,10 @@ ProcessorBox::generic_edit_processor (boost::shared_ptr processor) if (!processor) { return; } - + if (edit_aux_send (processor)) { + return; + } + ProcessorWindowProxy* proxy = find_window_proxy (processor); if (proxy) {