diff options
Diffstat (limited to 'libs/surfaces')
-rw-r--r-- | libs/surfaces/generic_midi/generic_midi_control_protocol.cc | 10 | ||||
-rw-r--r-- | libs/surfaces/generic_midi/gmcp_gui.cc | 1 |
2 files changed, 10 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; diff --git a/libs/surfaces/generic_midi/gmcp_gui.cc b/libs/surfaces/generic_midi/gmcp_gui.cc index 379f7c822c..3ed37a9eac 100644 --- a/libs/surfaces/generic_midi/gmcp_gui.cc +++ b/libs/surfaces/generic_midi/gmcp_gui.cc @@ -154,6 +154,7 @@ GMCPGUI::GMCPGUI (GenericMidiControlProtocol& p) ++n; motorised_button.show (); + motorised_button.set_active (p.motorised ()); threshold_adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &GMCPGUI::threshold_changed)); |