13
0

Fix rotary control knob mapping

This fixes an issue with Foldback strips pan controls being inverted.
This commit is contained in:
Robin Gareus 2020-04-07 00:36:59 +02:00
parent 2991d74da5
commit f24cabe9e9
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -301,14 +301,14 @@ ArdourKnob::on_scroll_event (GdkEventScroll* ev)
boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable(); boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable();
if (c) { if (c) {
float val = c->get_interface(); float val = c->get_interface (true);
if ( ev->direction == GDK_SCROLL_UP ) if ( ev->direction == GDK_SCROLL_UP )
val += scale; val += scale;
else else
val -= scale; val -= scale;
c->set_interface(val); c->set_interface (val, true);
} }
return true; return true;
@ -347,7 +347,7 @@ ArdourKnob::on_motion_notify_event (GdkEventMotion *ev)
_grabbed_x = ev->x; _grabbed_x = ev->x;
_grabbed_y = ev->y; _grabbed_y = ev->y;
float val = c->get_interface(); float val = c->get_interface (true);
if (_flags & Detent) { if (_flags & Detent) {
const float px_deadzone = 42.f * ui_scale; const float px_deadzone = 42.f * ui_scale;
@ -378,7 +378,7 @@ ArdourKnob::on_motion_notify_event (GdkEventMotion *ev)
} }
val += delta * scale; val += delta * scale;
c->set_interface(val); c->set_interface (val, true);
return true; return true;
} }
@ -474,7 +474,7 @@ ArdourKnob::controllable_changed (bool force_update)
boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable(); boost::shared_ptr<PBD::Controllable> c = binding_proxy.get_controllable();
if (!c) return; if (!c) return;
float val = c->get_interface(); float val = c->get_interface (true);
val = min( max(0.0f, val), 1.0f); // clamp val = min( max(0.0f, val), 1.0f); // clamp
if (val == _val && !force_update) { if (val == _val && !force_update) {