save [actual] plugin i/o-configuration
authorRobin Gareus <robin@gareus.org>
Sat, 15 Aug 2015 17:58:04 +0000 (19:58 +0200)
committerRobin Gareus <robin@gareus.org>
Sat, 15 Aug 2015 17:58:04 +0000 (19:58 +0200)
for use with placeholder stub in case the plugin becomes n/a.

libs/ardour/plugin_insert.cc

index 910b2cd6dceacc45aeeb51a0396b11862746b50a..e23980547cd67c0b684188e41780751fc4286dd0 100644 (file)
@@ -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()));
        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) {
        node.add_child_nocopy (_plugins[0]->get_state());
 
        for (Controls::iterator c = controls().begin(); c != controls().end(); ++c) {