+ _current_processor_box->for_selected_processors (&ProcessorBox::edit_processor);
+}
+
+bool
+ProcessorBox::edit_aux_send (boost::shared_ptr<Processor> processor)
+{
+ if (boost::dynamic_pointer_cast<InternalSend> (processor) == 0) {
+ return false;
+ }
+
+ if (_parent_strip) {
+ boost::shared_ptr<Send> send = boost::dynamic_pointer_cast<Send> (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> processor)
+{
+ if (!processor) {
+ return;
+ }
+ if (edit_aux_send (processor)) {
+ return;
+ }
+
+ ProcessorWindowProxy* proxy = find_window_proxy (processor);
+
+ if (proxy) {
+ proxy->set_custom_ui_mode (true);
+ proxy->toggle ();
+ }
+}
+
+void
+ProcessorBox::generic_edit_processor (boost::shared_ptr<Processor> processor)
+{
+ if (!processor) {
+ return;
+ }
+ if (edit_aux_send (processor)) {
+ return;
+ }
+
+ ProcessorWindowProxy* proxy = find_window_proxy (processor);
+
+ if (proxy) {
+ proxy->set_custom_ui_mode (false);
+ proxy->toggle ();
+ }