+ cleanup_view();
+ send->DropReferences.connect (_processor_going_away_connection, invalidator (*this), boost::bind (&RouteParams_UI::processor_going_away, this, boost::weak_ptr<Processor>(proc)), gui_context());
+ _active_view = send_ui;
+
+ redir_hpane.add2 (*_active_view);
+ redir_hpane.show_all();
+
+ } else if ((retrn = boost::dynamic_pointer_cast<Return> (proc)) != 0) {
+
+ ReturnUI *return_ui = new ReturnUI (this, retrn, _session);
+
+ cleanup_view();
+ retrn->DropReferences.connect (_processor_going_away_connection, invalidator (*this), boost::bind (&RouteParams_UI::processor_going_away, this, boost::weak_ptr<Processor>(proc)), gui_context());
+ _active_view = return_ui;
+
+ redir_hpane.add2 (*_active_view);
+ redir_hpane.show_all();
+
+ } else if ((plugin_insert = boost::dynamic_pointer_cast<PluginInsert> (proc)) != 0) {
+
+ GenericPluginUI *plugin_ui = new GenericPluginUI (plugin_insert, true);
+
+ cleanup_view();
+ plugin_insert->plugin()->DropReferences.connect (_processor_going_away_connection, invalidator (*this), boost::bind (&RouteParams_UI::plugin_going_away, this, PreFader), gui_context());
+ plugin_ui->start_updating (0);
+ _active_view = plugin_ui;
+
+ redir_hpane.pack2 (*_active_view);
+ redir_hpane.show_all();
+
+ } else if ((port_insert = boost::dynamic_pointer_cast<PortInsert> (proc)) != 0) {
+
+ PortInsertUI *portinsert_ui = new PortInsertUI (this, _session, port_insert);
+
+ cleanup_view();
+ port_insert->DropReferences.connect (_processor_going_away_connection, invalidator (*this), boost::bind (&RouteParams_UI::processor_going_away, this, boost::weak_ptr<Processor> (proc)), gui_context());
+ _active_view = portinsert_ui;
+
+ redir_hpane.pack2 (*_active_view);
+ portinsert_ui->redisplay();
+ redir_hpane.show_all();