summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x1k2-midi-osc.c8
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 ) {