diff options
Diffstat (limited to 'libs/ardour/route_group.cc')
-rw-r--r-- | libs/ardour/route_group.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/libs/ardour/route_group.cc b/libs/ardour/route_group.cc index 7352112217..ef7e218d67 100644 --- a/libs/ardour/route_group.cc +++ b/libs/ardour/route_group.cc @@ -213,10 +213,14 @@ RouteGroup::get_max_factor(gain_t factor) } XMLNode& -RouteGroup::get_state (void) +RouteGroup::get_state () { XMLNode *node = new XMLNode ("RouteGroup"); + char buf[64]; + id().print (buf, sizeof (buf)); + node->add_property ("id", buf); + add_properties (*node); if (!routes->empty()) { @@ -239,10 +243,14 @@ RouteGroup::set_state (const XMLNode& node, int version) return set_state_2X (node, version); } - set_values (node); - const XMLProperty *prop; + if ((prop = node.property ("id")) != 0) { + _id = prop->value(); + } + + set_values (node); + if ((prop = node.property ("routes")) != 0) { stringstream str (prop->value()); vector<string> ids; |