From 5bde8f44560e0dc2ceca8e70f5e76ddfdd41b5bc Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 4 May 2019 23:33:27 +0200 Subject: [PATCH] Tweak initial generic-midi sync/smoothing "last_controllable_value" is using midi value range (0..127). It is used to compare received midi-value with the actual controllable for non-motorized surfaces, and this change allows the first event to already be in_sync. Previously the first MIDI-event was usually ignored (because last_controllable_value was out of bounds or didn't match the 0..127 range. --- libs/surfaces/generic_midi/midicontrollable.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/surfaces/generic_midi/midicontrollable.cc b/libs/surfaces/generic_midi/midicontrollable.cc index ee08bd70a9..b06a39d7a2 100644 --- a/libs/surfaces/generic_midi/midicontrollable.cc +++ b/libs/surfaces/generic_midi/midicontrollable.cc @@ -136,7 +136,7 @@ MIDIControllable::set_controllable (boost::shared_ptr c) if (c) { _controllable = c; - last_controllable_value = c->get_value(); + last_controllable_value = control_to_midi (c->get_value()); } else { _controllable.reset(); last_controllable_value = 0.0f; // is there a better value?