}
int
-RouteGroup::set_state (const XMLNode& node)
+RouteGroup::set_state (const XMLNode& node, int version)
{
+ if (version < 3000) {
+ return set_state_2X (node, version);
+ }
+
const XMLProperty *prop;
if ((prop = node.property ("name")) != 0) {
return 0;
}
+int
+RouteGroup::set_state_2X (const XMLNode& node, int /*version*/)
+{
+ XMLProperty const * prop;
+
+ if ((prop = node.property ("name")) != 0) {
+ _name = prop->value();
+ }
+
+ if ((prop = node.property ("flags")) != 0) {
+ _flags = Flag (string_2_enum (prop->value(), _flags));
+ }
+
+ if (node.name() == "MixGroup") {
+ _properties = Property (Gain | Mute | Solo | RecEnable);
+ } else if (node.name() == "EditGroup") {
+ _properties = Property (Select | Edit);
+ }
+
+ return 0;
+}
+
void
RouteGroup::set_active (bool yn, void *src)
{
try {
/* use master bus etc. to determine default nouts */
- rl = _session.new_audio_route (nin, 2, 0, 1);
+ rl = _session.new_audio_route (false, nin, 2, 0, 1);
} catch (...) {
return;
}