+ XMLNodeList const &children (node.children());
+ for (XMLNodeList::const_iterator i = children.begin(); i != children.end(); ++i) {
+ if ((*i)->name() == Controllable::xml_node_name) {
+
+ XMLProperty* prop = (*i)->property ("name");
+
+ if (!prop) {
+ continue;
+ }
+
+ if (prop->value() == _gain_control->name()) {
+ _gain_control->set_state (**i, version);
+ }
+ if (prop->value() == _solo_control->name()) {
+ _solo_control->set_state (**i, version);
+ }
+ if (prop->value() == _mute_control->name()) {
+ _mute_control->set_state (**i, version);
+ }
+ } else if ((*i)->name() == Slavable::xml_node_name) {
+ Slavable::set_state (**i, version);
+ }
+ }
+