summaryrefslogtreecommitdiff
path: root/libs/ardour/io_processor.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-03-15 02:31:09 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-03-15 02:31:09 +0000
commit730937dc37237c580238171f30e1c02243b8f758 (patch)
tree37b8e129b12bcc81c4613c885bd1b6cb614003ba /libs/ardour/io_processor.cc
parent86a0fe1b43432bc56f24644ec06d8e2d214cc8d5 (diff)
better, cleaner fix for copying sends/returns/port inserts via XML state
git-svn-id: svn://localhost/ardour2/branches/3.0@11691 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/io_processor.cc')
-rw-r--r--libs/ardour/io_processor.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/libs/ardour/io_processor.cc b/libs/ardour/io_processor.cc
index 12ab63483c..e1d1461bcd 100644
--- a/libs/ardour/io_processor.cc
+++ b/libs/ardour/io_processor.cc
@@ -155,6 +155,7 @@ IOProcessor::set_state (const XMLNode& node, int version)
Processor::set_state(node, version);
+
if ((prop = node.property ("own-input")) != 0) {
_own_input = string_is_affirmative (prop->value());
}
@@ -302,3 +303,21 @@ IOProcessor::disconnect ()
_output->disconnect (this);
}
}
+
+/** Set up the XML description of a send so that we will not
+ * reset its name or bitslot during ::set_state()
+ * @param state XML send state.
+ * @param session Session.
+ */
+void
+IOProcessor::prepare_for_reset (XMLNode &state, const std::string& name)
+{
+ state.add_property ("ignore-bitslot", "1");
+ state.add_property ("ignore-name", "1");
+
+ XMLNode* io_node = state.child (IO::state_node_name.c_str());
+
+ if (io_node) {
+ io_node->add_property ("name", name);
+ }
+}