diff options
Diffstat (limited to 'gtk2_ardour/stereo_panner.cc')
-rw-r--r-- | gtk2_ardour/stereo_panner.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gtk2_ardour/stereo_panner.cc b/gtk2_ardour/stereo_panner.cc index 43fae05e7b..83e51a5540 100644 --- a/gtk2_ardour/stereo_panner.cc +++ b/gtk2_ardour/stereo_panner.cc @@ -469,8 +469,8 @@ StereoPanner::on_motion_notify_event (GdkEventMotion* ev) return false; } - int w = get_width(); - double delta = (ev->x - last_drag_x) / (double) w; + int usable_width = get_width() - lr_box_size; + double delta = (ev->x - last_drag_x) / (double) usable_width; double current_width = width_control->get_value (); if (dragging_left) { @@ -503,7 +503,8 @@ StereoPanner::on_motion_notify_event (GdkEventMotion* ev) } } else { - width_control->set_value (current_width + delta); + /* width needs to change by 2 * delta because both L & R move */ + width_control->set_value (current_width + delta * 2); } } else if (dragging_position) { |