summaryrefslogtreecommitdiff
path: root/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-08-20 00:19:06 +0200
committerRobin Gareus <robin@gareus.org>2015-08-20 00:19:32 +0200
commitb8b6f61d6ca947b8da1c1e416a0f126cddf3c591 (patch)
tree8bf26a9969889cc349af8563200f72517c6e7899 /libs/surfaces/generic_midi/generic_midi_control_protocol.cc
parent84845833c1aea62bfad042580a5bbb3f18b9ad11 (diff)
save/load generic-midi motorized setting - fixes #5296
Diffstat (limited to 'libs/surfaces/generic_midi/generic_midi_control_protocol.cc')
-rw-r--r--libs/surfaces/generic_midi/generic_midi_control_protocol.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
index 0ed6a90942..8c47f73688 100644
--- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
+++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc
@@ -533,6 +533,8 @@ GenericMidiControlProtocol::get_state ()
snprintf (buf, sizeof (buf), "%d", _threshold);
node.add_property (X_("threshold"), buf);
+ node.add_property (X_("motorized"), _motorised ? "yes" : "no");
+
if (!_current_binding.empty()) {
node.add_property ("binding", _current_binding);
}
@@ -584,6 +586,12 @@ GenericMidiControlProtocol::set_state (const XMLNode& node, int version)
_threshold = 10;
}
+ if ((prop = node.property ("motorized")) != 0) {
+ _motorised = string_is_affirmative (prop->value ());
+ } else {
+ _motorised = false;
+ }
+
boost::shared_ptr<Controllable> c;
{
@@ -709,7 +717,7 @@ GenericMidiControlProtocol::load_bindings (const string& xmlpath)
_current_bank = 0;
}
- if ((prop = (*citer)->property ("motorised")) != 0 || ((prop = (*citer)->property ("motorized")) != 0)) {
+ if ((prop = (*citer)->property ("motorized")) != 0) {
_motorised = string_is_affirmative (prop->value ());
} else {
_motorised = false;