summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/io.cc3
-rw-r--r--libs/ardour/io_processor.cc5
2 files changed, 5 insertions, 3 deletions
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc
index 8528a9cd37..66aaaee68e 100644
--- a/libs/ardour/io.cc
+++ b/libs/ardour/io.cc
@@ -631,7 +631,8 @@ IO::set_state (const XMLNode& node, int version)
return -1;
}
- if ((prop = node.property ("name")) != 0) {
+ bool ignore_name = node.property ("ignore-name");
+ if ((prop = node.property ("name")) != 0 && !ignore_name) {
set_name (prop->value());
}
diff --git a/libs/ardour/io_processor.cc b/libs/ardour/io_processor.cc
index 61bb97f0ad..6ae543ce6c 100644
--- a/libs/ardour/io_processor.cc
+++ b/libs/ardour/io_processor.cc
@@ -152,6 +152,7 @@ IOProcessor::set_state (const XMLNode& node, int version)
Processor::set_state(node, version);
+ bool ignore_name = node.property ("ignore-name");
if ((prop = node.property ("own-input")) != 0) {
_own_input = string_is_affirmative (prop->value());
@@ -172,7 +173,7 @@ IOProcessor::set_state (const XMLNode& node, int version)
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {
XMLProperty const * prop;
if ((prop = (*niter)->property ("name")) != 0) {
- if (_name == prop->value()) {
+ if (_name == prop->value() || ignore_name) {
if ((prop = (*niter)->property ("direction")) != 0) {
if (prop->value() == instr) {
io_node = (*niter);
@@ -202,7 +203,7 @@ IOProcessor::set_state (const XMLNode& node, int version)
if ((*niter)->name() == "IO") {
XMLProperty const * prop;
if ((prop = (*niter)->property ("name")) != 0) {
- if (_name == prop->value()) {
+ if (_name == prop->value() || ignore_name) {
if ((prop = (*niter)->property ("direction")) != 0) {
if (prop->value() == outstr) {
io_node = (*niter);