summaryrefslogtreecommitdiff
path: root/libs/ardour/user_bundle.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/user_bundle.cc')
-rw-r--r--libs/ardour/user_bundle.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/ardour/user_bundle.cc b/libs/ardour/user_bundle.cc
index 4c39c5f5ff..b6c38e0eed 100644
--- a/libs/ardour/user_bundle.cc
+++ b/libs/ardour/user_bundle.cc
@@ -50,7 +50,13 @@ ARDOUR::UserBundle::set_state (XMLNode const & node, int /*version*/)
return -1;
}
- add_channel (name->value ());
+ XMLProperty const * type;
+ if ((type = (*i)->property ("type")) == 0) {
+ PBD::error << _("Node for Channel has no \"type\" property") << endmsg;
+ return -1;
+ }
+
+ add_channel (name->value (), DataType (type->value()));
XMLNodeList const ports = (*i)->children ();
@@ -93,6 +99,7 @@ ARDOUR::UserBundle::get_state ()
for (std::vector<Channel>::iterator i = _channel.begin(); i != _channel.end(); ++i) {
XMLNode* c = new XMLNode ("Channel");
c->add_property ("name", i->name);
+ c->add_property ("type", i->type.to_string());
for (PortList::iterator j = i->ports.begin(); j != i->ports.end(); ++j) {
XMLNode* p = new XMLNode ("Port");