diff options
-rw-r--r-- | x1k2-midi-osc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/x1k2-midi-osc.c b/x1k2-midi-osc.c index 535654b..e82185a 100644 --- a/x1k2-midi-osc.c +++ b/x1k2-midi-osc.c @@ -181,9 +181,11 @@ static void faderpot_cc(struct faderpot *fad, int val, lo_address osc_send_addr) { if ( !fad->congruent ) { int inr = in_range(fad->pickup_value, fad->physical_value, val); - if ( fad->physical_value_known && inr ) { - fad->congruent = 1; - } + if ( fad->physical_value_known && inr ) fad->congruent = 1; + + /* Special case for fader coming from zero, where we didn't + * know its previous position. */ + if ( (fad->pickup_value == 0) && (val <= 2) ) fad->congruent = 1; } if ( fad->enabled ) { |