13
0

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.
This commit is contained in:
Robin Gareus 2019-05-04 23:33:27 +02:00
parent 7e7ca24f8f
commit 5bde8f4456
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -136,7 +136,7 @@ MIDIControllable::set_controllable (boost::shared_ptr<PBD::Controllable> c)
if (c) { if (c) {
_controllable = c; _controllable = c;
last_controllable_value = c->get_value(); last_controllable_value = control_to_midi (c->get_value());
} else { } else {
_controllable.reset(); _controllable.reset();
last_controllable_value = 0.0f; // is there a better value? last_controllable_value = 0.0f; // is there a better value?