Stop saving of garbage values to LADSPA preset files when an output parameter is...
[ardour.git] / libs / ardour / io_processor.cc
index 91247d5082dd62c6c993f524e4b2945817075813..8cad0ba6cb8c467410d9ba0387552152b0e465f8 100644 (file)
@@ -146,6 +146,10 @@ IOProcessor::state (bool full_state)
 int
 IOProcessor::set_state (const XMLNode& node, int version)
 {
+       if (version < 3000) {
+               return set_state_2X (node, version);
+       }
+
        const XMLProperty *prop;
        const XMLNode *io_node = 0;
 
@@ -170,7 +174,7 @@ IOProcessor::set_state (const XMLNode& node, int version)
                for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
                        const XMLProperty* prop;
                        if ((prop = (*niter)->property ("name")) != 0) {
-                               if (prop->value() == _name) {
+                               if (_name == prop->value()) {
                                        if ((prop = (*niter)->property ("direction")) != 0) {
                                                if (prop->value() == instr) {
                                                        io_node = (*niter);
@@ -200,7 +204,7 @@ IOProcessor::set_state (const XMLNode& node, int version)
                        if ((*niter)->name() == "IO") {
                                const XMLProperty* prop;
                                if ((prop = (*niter)->property ("name")) != 0) {
-                                       if (prop->value() == _name) {
+                                       if (_name == prop->value()) {
                                                if ((prop = (*niter)->property ("direction")) != 0) {
                                                        if (prop->value() == outstr) {
                                                                io_node = (*niter);
@@ -227,8 +231,18 @@ IOProcessor::set_state (const XMLNode& node, int version)
        return 0;
 }
 
+int
+IOProcessor::set_state_2X (const XMLNode& node, int version)
+{
+       _own_input = _own_output = true;
+
+       Processor::set_state_2X (node, version);
+
+       return 0;
+}
+
 void
-IOProcessor::silence (nframes_t nframes)
+IOProcessor::silence (framecnt_t nframes)
 {
        if (_own_output && _output) {
                _output->silence (nframes);