From b1cccf0d7dfb5352646bbac864d6b166da9400b2 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Thu, 25 Aug 2016 16:28:52 +1000 Subject: [PATCH] Use XMLNode::get/set_property API in ARDOUR::Processor where possible --- libs/ardour/processor.cc | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/libs/ardour/processor.cc b/libs/ardour/processor.cc index 8a66df0ec9..215e71dc90 100644 --- a/libs/ardour/processor.cc +++ b/libs/ardour/processor.cc @@ -24,6 +24,7 @@ #include #include "pbd/xml++.h" +#include "pbd/types_convert.h" #include "ardour/automatable.h" #include "ardour/chan_count.h" @@ -111,11 +112,10 @@ XMLNode& Processor::state (bool full_state) { XMLNode* node = new XMLNode (state_node_name); - char buf[64]; - node->add_property("id", id().to_s ()); - node->add_property("name", _name); - node->add_property("active", active() ? "yes" : "no"); + node->set_property("id", id()); + node->set_property("name", name()); + node->set_property("active", active()); if (_extra_xml){ node->add_child_copy (*_extra_xml); @@ -130,8 +130,7 @@ Processor::state (bool full_state) } } - snprintf (buf, sizeof (buf), "%" PRId64, _user_latency); - node->add_property("user-latency", buf); + node->set_property("user-latency", _user_latency); return *node; } @@ -179,17 +178,16 @@ Processor::set_state (const XMLNode& node, int version) return set_state_2X (node, version); } - XMLProperty const * prop; - XMLProperty const * legacy_active = 0; - bool leave_name_alone = (node.property ("ignore-name") != 0); - - if (!leave_name_alone) { + bool ignore_name; + // Only testing for the presence of the property not value + if (!node.get_property("ignore-name", ignore_name)) { + string name; // may not exist for legacy 3.0 sessions - if ((prop = node.property ("name")) != 0) { + if (node.get_property ("name", name)) { /* don't let derived classes have a crack at set_name, as some (like Send) will screw with the one we suggest. */ - Processor::set_name (prop->value()); + Processor::set_name (name); } set_id (node); @@ -200,12 +198,13 @@ Processor::set_state (const XMLNode& node, int version) Stateful::save_extra_xml (node); + XMLProperty const * prop = 0; + XMLProperty const * legacy_active = 0; + for (niter = nlist.begin(); niter != nlist.end(); ++niter) { if ((*niter)->name() == X_("Automation")) { - XMLProperty const * prop; - if ((prop = (*niter)->property ("path")) != 0) { old_set_automation_state (*(*niter)); } else { @@ -237,9 +236,7 @@ Processor::set_state (const XMLNode& node, int version) } } - if ((prop = node.property ("user-latency")) != 0) { - _user_latency = atoi (prop->value ()); - } + node.get_property ("user-latency", _user_latency); return 0; }