knob: use double precision normal on dent.
Fixes -0dB vs +0dB rounding issue.
This commit is contained in:
parent
2702dd9dc0
commit
9a4f205b6e
|
@ -361,7 +361,7 @@ ArdourKnob::on_motion_notify_event (GdkEventMotion *ev)
|
||||||
delta = tozero + remain;
|
delta = tozero + remain;
|
||||||
_dead_zone_delta = 0;
|
_dead_zone_delta = 0;
|
||||||
} else {
|
} else {
|
||||||
c->set_interface(_normal);
|
c->set_value (c->normal());
|
||||||
val = _normal;
|
val = _normal;
|
||||||
_dead_zone_delta = remain / px_deadzone;
|
_dead_zone_delta = remain / px_deadzone;
|
||||||
return true;
|
return true;
|
||||||
|
@ -369,7 +369,7 @@ ArdourKnob::on_motion_notify_event (GdkEventMotion *ev)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fabsf (rintf((val - _normal) / scale) + _dead_zone_delta) < 1) {
|
if (fabsf (rintf((val - _normal) / scale) + _dead_zone_delta) < 1) {
|
||||||
c->set_interface(_normal);
|
c->set_value (c->normal());
|
||||||
_dead_zone_delta += delta / px_deadzone;
|
_dead_zone_delta += delta / px_deadzone;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user