summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-08-15 19:58:04 +0200
committerRobin Gareus <robin@gareus.org>2015-08-15 19:58:04 +0200
commit50f0e590873a69abc616babc63b363ae9ee8247a (patch)
tree04de6e96cd3fed0ae2487ec5c2284c806c9a99f5 /libs
parent344c435dae54433b5f8991a8e07a7256fb2987d1 (diff)
save [actual] plugin i/o-configuration
for use with placeholder stub in case the plugin becomes n/a.
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/plugin_insert.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index 910b2cd6dc..e23980547c 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -945,6 +945,12 @@ PluginInsert::state (bool full)
node.add_property("type", _plugins[0]->state_node_name());
node.add_property("unique-id", _plugins[0]->unique_id());
node.add_property("count", string_compose("%1", _plugins.size()));
+
+ /* remember actual i/o configuration (for later placeholder
+ * in case the plugin goes missing) */
+ node.add_child_nocopy (* _configured_in.state (X_("ConfiguredInput")));
+ node.add_child_nocopy (* _configured_out.state (X_("ConfiguredOutput")));
+
node.add_child_nocopy (_plugins[0]->get_state());
for (Controls::iterator c = controls().begin(); c != controls().end(); ++c) {