Use XMLNode::get/set_property API in ARDOUR::SoloControl class
authorTim Mayberry <mojofunk@gmail.com>
Sun, 28 Aug 2016 00:23:13 +0000 (10:23 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Tue, 18 Apr 2017 23:36:51 +0000 (09:36 +1000)
libs/ardour/solo_control.cc

index fae2ce26230bfd9d96c9d4df41ab8a51bb185537..0b07f88c6b3ada4cc26320ec61733b6a868d66fa 100644 (file)
@@ -227,20 +227,20 @@ SoloControl::set_state (XMLNode const & node, int version)
                return -1;
        }
 
-       XMLProperty const * prop;
-
-       if ((prop = node.property ("self-solo")) != 0) {
-               set_self_solo (string_is_affirmative (prop->value()));
+       bool yn;
+       if (node.get_property ("self-solo", yn)) {
+               set_self_solo (yn);
        }
 
-       if ((prop = node.property ("soloed-by-upstream")) != 0) {
+       uint32_t val;
+       if (node.get_property ("soloed-by-upstream", val)) {
                _soloed_by_others_upstream = 0; // needed for mod_.... () to work
-               mod_solo_by_others_upstream (atoi (prop->value()));
+               mod_solo_by_others_upstream (val);
        }
 
-       if ((prop = node.property ("soloed-by-downstream")) != 0) {
+       if (node.get_property ("soloed-by-downstream", val)) {
                _soloed_by_others_downstream = 0; // needed for mod_.... () to work
-               mod_solo_by_others_downstream (atoi (prop->value()));
+               mod_solo_by_others_downstream (val);
        }
 
        return 0;
@@ -251,12 +251,9 @@ SoloControl::get_state ()
 {
        XMLNode& node (SlavableAutomationControl::get_state());
 
-       node.add_property (X_("self-solo"), _self_solo ? X_("yes") : X_("no"));
-       char buf[32];
-       snprintf (buf, sizeof(buf), "%d",  _soloed_by_others_upstream);
-       node.add_property (X_("soloed-by-upstream"), buf);
-       snprintf (buf, sizeof(buf), "%d",  _soloed_by_others_downstream);
-       node.add_property (X_("soloed-by-downstream"), buf);
+       node.set_property (X_("self-solo"), _self_solo);
+       node.set_property (X_("soloed-by-upstream"), _soloed_by_others_upstream);
+       node.set_property (X_("soloed-by-downstream"), _soloed_by_others_downstream);
 
        return node;
 }