diff options
Diffstat (limited to 'libs/ardour/user_bundle.cc')
-rw-r--r-- | libs/ardour/user_bundle.cc | 9 |
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"); |