Use XMLNode::get/set_property API in ARDOUR::ControlProtocolManager
This commit is contained in:
parent
d53c66973c
commit
9f43d94d07
@ -239,7 +239,7 @@ ControlProtocolManager::teardown (ControlProtocolInfo& cpi, bool lock_required)
|
|||||||
|
|
||||||
delete cpi.state;
|
delete cpi.state;
|
||||||
cpi.state = new XMLNode (cpi.protocol->get_state());
|
cpi.state = new XMLNode (cpi.protocol->get_state());
|
||||||
cpi.state->add_property (X_("active"), "no");
|
cpi.state->set_property (X_("active"), "no");
|
||||||
|
|
||||||
cpi.descriptor->destroy (cpi.descriptor, cpi.protocol);
|
cpi.descriptor->destroy (cpi.descriptor, cpi.protocol);
|
||||||
|
|
||||||
@ -435,7 +435,6 @@ ControlProtocolManager::set_state (const XMLNode& node, int /*version*/)
|
|||||||
{
|
{
|
||||||
XMLNodeList clist;
|
XMLNodeList clist;
|
||||||
XMLNodeConstIterator citer;
|
XMLNodeConstIterator citer;
|
||||||
XMLProperty const * prop;
|
|
||||||
|
|
||||||
Glib::Threads::Mutex::Lock lm (protocols_lock);
|
Glib::Threads::Mutex::Lock lm (protocols_lock);
|
||||||
|
|
||||||
@ -446,23 +445,20 @@ ControlProtocolManager::set_state (const XMLNode& node, int /*version*/)
|
|||||||
|
|
||||||
if (child->name() == X_("Protocol")) {
|
if (child->name() == X_("Protocol")) {
|
||||||
|
|
||||||
if ((prop = child->property (X_("active"))) == 0) {
|
bool active;
|
||||||
|
std::string name;
|
||||||
|
if (!child->get_property (X_("active"), active) ||
|
||||||
|
!child->get_property (X_("name"), name)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool active = string_is_affirmative (prop->value());
|
ControlProtocolInfo* cpi = cpi_by_name (name);
|
||||||
|
|
||||||
if ((prop = child->property (X_("name"))) == 0) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
ControlProtocolInfo* cpi = cpi_by_name (prop->value());
|
|
||||||
|
|
||||||
if (cpi) {
|
if (cpi) {
|
||||||
delete cpi->state;
|
delete cpi->state;
|
||||||
cpi->state = new XMLNode (**citer);
|
cpi->state = new XMLNode (**citer);
|
||||||
|
|
||||||
std::cerr << "protocol " << prop->value() << " active ? " << active << std::endl;
|
std::cerr << "protocol " << name << " active ? " << active << std::endl;
|
||||||
|
|
||||||
if (active) {
|
if (active) {
|
||||||
if (_session) {
|
if (_session) {
|
||||||
@ -478,7 +474,7 @@ ControlProtocolManager::set_state (const XMLNode& node, int /*version*/)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
std::cerr << "protocol " << prop->value() << " not found\n";
|
std::cerr << "protocol " << name << " not found\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -496,16 +492,16 @@ ControlProtocolManager::get_state ()
|
|||||||
|
|
||||||
if ((*i)->protocol) {
|
if ((*i)->protocol) {
|
||||||
XMLNode& child_state ((*i)->protocol->get_state());
|
XMLNode& child_state ((*i)->protocol->get_state());
|
||||||
child_state.add_property (X_("active"), "yes");
|
child_state.set_property (X_("active"), "yes");
|
||||||
root->add_child_nocopy (child_state);
|
root->add_child_nocopy (child_state);
|
||||||
} else if ((*i)->state) {
|
} else if ((*i)->state) {
|
||||||
XMLNode* child_state = new XMLNode (*(*i)->state);
|
XMLNode* child_state = new XMLNode (*(*i)->state);
|
||||||
child_state->add_property (X_("active"), "no");
|
child_state->set_property (X_("active"), "no");
|
||||||
root->add_child_nocopy (*child_state);
|
root->add_child_nocopy (*child_state);
|
||||||
} else {
|
} else {
|
||||||
XMLNode* child_state = new XMLNode (X_("Protocol"));
|
XMLNode* child_state = new XMLNode (X_("Protocol"));
|
||||||
child_state->add_property (X_("name"), (*i)->name);
|
child_state->set_property (X_("name"), (*i)->name);
|
||||||
child_state->add_property (X_("active"), "no");
|
child_state->set_property (X_("active"), "no");
|
||||||
root->add_child_nocopy (*child_state);
|
root->add_child_nocopy (*child_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user