+ if (_current_uri.empty()) {
+ node->add_property ("id", controllable->id().to_s());
+ } else {
+ node->add_property ("uri", _current_uri);
+ }
+
+ if (controllable) {
+ snprintf (buf, sizeof(buf), "0x%x", (int) control_type);
+ node->add_property ("event", buf);
+ snprintf (buf, sizeof(buf), "%d", (int) control_channel);
+ node->add_property ("channel", buf);
+ snprintf (buf, sizeof(buf), "0x%x", (int) control_additional);
+ node->add_property ("additional", buf);
+ node->add_property ("feedback", (feedback ? "yes" : "no"));
+ }
+
+ return *node;