save and restore Generic MIDI threshold/smoothing value
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 10 Jun 2013 16:37:09 +0000 (12:37 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 10 Jun 2013 16:37:09 +0000 (12:37 -0400)
libs/surfaces/generic_midi/generic_midi_control_protocol.cc
libs/surfaces/generic_midi/gmcp_gui.cc

index b524e2f2a01199b8065804a19fb919d7631951f6..6da0192a8f89b7e7dbc95ea83941e32b73f0368f 100644 (file)
@@ -472,6 +472,8 @@ GenericMidiControlProtocol::get_state ()
        node->add_property (X_("feedback"), do_feedback ? "1" : "0");
        snprintf (buf, sizeof (buf), "%" PRIu64, _feedback_interval);
        node->add_property (X_("feedback_interval"), buf);
+       snprintf (buf, sizeof (buf), "%d", _threshold);
+       node->add_property (X_("threshold"), buf);
 
        if (!_current_binding.empty()) {
                node->add_property ("binding", _current_binding);
@@ -518,6 +520,14 @@ GenericMidiControlProtocol::set_state (const XMLNode& node, int version)
                _feedback_interval = 10000;
        }
 
+       if ((prop = node.property ("threshold")) != 0) {
+               if (sscanf (prop->value().c_str(), "%d", &_threshold) != 1) {
+                       _threshold = 10;
+               }
+       } else {
+               _threshold = 10;
+       }
+
        boost::shared_ptr<Controllable> c;
        
        {
index e56ea624246a898c37ed5dc1038d9ead9b27b6f8..6c1ee1ba3d3e340c281fd42c857ee659ccc111c4 100644 (file)
@@ -90,7 +90,7 @@ GMCPGUI::GMCPGUI (GenericMidiControlProtocol& p)
        , bank_adjustment (1, 1, 100, 1, 10)
        , bank_spinner (bank_adjustment)
        , motorised_button ("Motorised")
-       , threshold_adjustment (1, 1, 127, 1, 10)
+       , threshold_adjustment (p.threshold(), 1, 127, 1, 10)
        , threshold_spinner (threshold_adjustment)
 {
        vector<string> popdowns;