Save solo isolate / solo safe states. Fixes #3551.
authorCarl Hetherington <carl@carlh.net>
Tue, 23 Nov 2010 22:10:49 +0000 (22:10 +0000)
committerCarl Hetherington <carl@carlh.net>
Tue, 23 Nov 2010 22:10:49 +0000 (22:10 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@8078 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/route.cc

index dd328cd301572fbe0783a2517297e2b8c979f4b4..ed36a1a3b1f03dcd74574617d2b1bf4c1ee537b2 100644 (file)
@@ -1763,6 +1763,8 @@ Route::state(bool full_state)
        node->add_property ("soloed-by-upstream", buf);
        snprintf (buf, sizeof (buf), "%d", _soloed_by_others_downstream);
        node->add_property ("soloed-by-downstream", buf);
+       node->add_property ("solo-isolated", solo_isolated() ? "yes" : "no");
+       node->add_property ("solo-safe", _solo_safe ? "yes" : "no");
 
        node->add_child_nocopy (_input->state (full_state));
        node->add_child_nocopy (_output->state (full_state));
@@ -1877,6 +1879,10 @@ Route::_set_state (const XMLNode& node, int version, bool /*call_base*/)
                set_solo_isolated (string_is_affirmative (prop->value()), this);
        }
 
+       if ((prop = node.property ("solo-safe")) != 0) {
+               set_solo_safe (string_is_affirmative (prop->value()), this);
+       }
+
        if ((prop = node.property (X_("phase-invert"))) != 0) {
                set_phase_invert (boost::dynamic_bitset<> (prop->value ()));
        }