summaryrefslogtreecommitdiff
path: root/libs/surfaces/control_protocol
diff options
context:
space:
mode:
Diffstat (limited to 'libs/surfaces/control_protocol')
-rw-r--r--libs/surfaces/control_protocol/control_protocol.cc13
-rw-r--r--libs/surfaces/control_protocol/control_protocol/control_protocol.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/libs/surfaces/control_protocol/control_protocol.cc b/libs/surfaces/control_protocol/control_protocol.cc
index 71cae36086..6ac673925a 100644
--- a/libs/surfaces/control_protocol/control_protocol.cc
+++ b/libs/surfaces/control_protocol/control_protocol.cc
@@ -374,6 +374,19 @@ ControlProtocol::get_state ()
XMLNode* node = new XMLNode (state_node_name);
node->add_property ("name", _name);
+ node->add_property ("feedback", get_feedback() ? "yes" : "no");
return *node;
}
+
+int
+ControlProtocol::set_state (XMLNode const & node, int /* version */)
+{
+ const XMLProperty* prop;
+
+ if ((prop = node.property ("feedback")) != 0) {
+ set_feedback (string_is_affirmative (prop->value()));
+ }
+
+ return 0;
+}
diff --git a/libs/surfaces/control_protocol/control_protocol/control_protocol.h b/libs/surfaces/control_protocol/control_protocol/control_protocol.h
index f5af008e4a..13b8dcad7a 100644
--- a/libs/surfaces/control_protocol/control_protocol/control_protocol.h
+++ b/libs/surfaces/control_protocol/control_protocol/control_protocol.h
@@ -135,6 +135,8 @@ class LIBCONTROLCP_API ControlProtocol : public PBD::Stateful, public PBD::Scope
virtual void tear_down_gui() { }
XMLNode& get_state ();
+ int set_state (XMLNode const &, int version);
+
static const std::string state_node_name;
protected: