Flesh out RDFF documentation.
[ardour.git] / gtk2_ardour / processor_box.cc
index c5454d59aab73626590b4057dc632477df05d75e..064e7358fdd25ee8ec38db750b6f660231f01aa8 100644 (file)
@@ -384,6 +384,12 @@ PluginInsertProcessorEntry::plugin_insert_splitting_changed ()
        }
 }
 
+void
+PluginInsertProcessorEntry::hide_things ()
+{
+       plugin_insert_splitting_changed ();
+}
+
 void
 PluginInsertProcessorEntry::setup_visuals ()
 {
@@ -632,13 +638,13 @@ ProcessorBox::show_processor_menu (gint arg)
                processor_menu = build_processor_menu ();
        }
 
-       Gtk::MenuItem* plugin_menu_item = dynamic_cast<Gtk::MenuItem*>(ActionManager::get_widget("/processormenu/newplugin"));
+       Gtk::MenuItem* plugin_menu_item = dynamic_cast<Gtk::MenuItem*>(ActionManager::get_widget("/ProcessorMenu/newplugin"));
 
        if (plugin_menu_item) {
                plugin_menu_item->set_submenu (*_get_plugin_selector()->plugin_menu());
        }
 
-       Gtk::MenuItem* aux_menu_item = dynamic_cast<Gtk::MenuItem*>(ActionManager::get_widget("/processormenu/newaux"));
+       Gtk::MenuItem* aux_menu_item = dynamic_cast<Gtk::MenuItem*>(ActionManager::get_widget("/ProcessorMenu/newaux"));
 
        if (aux_menu_item) {
                Menu* m = build_possible_aux_menu();
@@ -869,7 +875,7 @@ ProcessorBox::processor_button_release_event (GdkEventButton *ev, ProcessorEntry
 Menu *
 ProcessorBox::build_processor_menu ()
 {
-       processor_menu = dynamic_cast<Gtk::Menu*>(ActionManager::get_widget("/processormenu") );
+       processor_menu = dynamic_cast<Gtk::Menu*>(ActionManager::get_widget("/ProcessorMenu") );
        processor_menu->set_name ("ArdourContextMenu");
        return processor_menu;
 }
@@ -1630,6 +1636,14 @@ ProcessorBox::paste_processor_state (const XMLNodeList& nlist, boost::shared_ptr
 
                                p.reset (r);
 
+                       } else if (type->value() == "port") {
+
+                               XMLNode n (**niter);
+                               p.reset (new PortInsert (*_session, _route->pannable (), _route->mute_master ()));
+                               if (p->set_state (n, Stateful::loading_state_version)) {
+                                       return;
+                               }
+
                        } else {
                                /* XXX its a bit limiting to assume that everything else
                                   is a plugin.
@@ -1914,7 +1928,7 @@ ProcessorBox::toggle_edit_processor (boost::shared_ptr<Processor> processor)
 void
 ProcessorBox::register_actions ()
 {
-       Glib::RefPtr<Gtk::ActionGroup> popup_act_grp = Gtk::ActionGroup::create(X_("processormenu"));
+       Glib::RefPtr<Gtk::ActionGroup> popup_act_grp = Gtk::ActionGroup::create(X_("ProcessorMenu"));
        Glib::RefPtr<Action> act;
 
        /* new stuff */
@@ -2285,6 +2299,15 @@ ProcessorBox::mixer_strip_delivery_changed (boost::weak_ptr<Delivery> w)
        }
 }
 
+void
+ProcessorBox::hide_things ()
+{
+       list<ProcessorEntry*> c = processor_display.children ();
+       for (list<ProcessorEntry*>::iterator i = c.begin(); i != c.end(); ++i) {
+               (*i)->hide_things ();
+       }
+}
+
 ProcessorWindowProxy::ProcessorWindowProxy (
        string const & name,
        XMLNode const * node,