"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.
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?