first part of MIDI cut/copy/paste ; fix for input/output_streams of an IOProcessor...
[ardour.git] / libs / ardour / processor.cc
index 2e39c52d674e668ed8dd90e9bc86f98450146d12..101bc29ab44b887b1348625c30311c445801514a 100644 (file)
 
 */
 
+#ifdef WAF_BUILD
+#include "libardour-config.h"
+#endif
+
 #include <string>
 
 #include <sigc++/bind.h>
@@ -61,6 +65,7 @@ const string Processor::state_node_name = "Processor";
 Processor::Processor(Session& session, const string& name)
        : SessionObject(session, name)
        , AutomatableControls(session)
+       , _pending_active(false)
        , _active(false)
        , _next_ab_is_active(false)
        , _configured(false)
@@ -68,6 +73,19 @@ Processor::Processor(Session& session, const string& name)
 {
 }
 
+Processor::Processor (Session& session, const XMLNode& node)
+       : SessionObject(session, "renameMe")
+       , AutomatableControls(session)
+       , _pending_active(false)
+       , _active(false)
+       , _next_ab_is_active(false)
+       , _configured(false)
+       , _gui(0)
+{
+       set_state (node);
+       _pending_active = _active;
+}
+
 XMLNode&
 Processor::get_state (void)
 {
@@ -131,7 +149,6 @@ Processor::set_state (const XMLNode& node)
 {
        const XMLProperty *prop;
        const XMLProperty *legacy_active = 0;
-       const XMLProperty *legacy_placement = 0;
 
        // may not exist for legacy 3.0 sessions
        if ((prop = node.property ("name")) != 0) {
@@ -141,7 +158,7 @@ Processor::set_state (const XMLNode& node)
        // may not exist for legacy 3.0 sessions
        if ((prop = node.property ("id")) != 0) {
                _id = prop->value();
-       }
+       } 
 
        XMLNodeList nlist = node.children();
        XMLNodeIterator niter;
@@ -181,9 +198,6 @@ Processor::set_state (const XMLNode& node)
                        if ( !(legacy_active = (*niter)->property("active"))) {
                                error << string_compose(_("No %1 property flag in element %2"), "active", (*niter)->name()) << endl;
                        }
-                       if ( !(legacy_placement = (*niter)->property("placement"))) {
-                               error << string_compose(_("No %1 property flag in element %2"), "placement", (*niter)->name()) << endl;
-                       }
                }
        }
 
@@ -218,6 +232,8 @@ Processor::configure_io (ChanCount in, ChanCount out)
        _configured_output = out; 
        _configured = true;
 
+       std::cerr << "******* CONF IN for " << _name << " set to " << in << std::endl;
+
        ConfigurationChanged.emit (in, out);
 
        return true;