From bed955b40935cf7765829e260b70258b79803890 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 10 May 2012 02:50:59 +0000 Subject: fix dragging of end xfades git-svn-id: svn://localhost/ardour2/branches/3.0@12237 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/audio_region_view.cc | 1 - gtk2_ardour/editor_drag.cc | 10 ++++++---- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index a50d4752f9..a3b99de3f1 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -1702,7 +1702,6 @@ AudioRegionView::redraw_end_xfade_to (boost::shared_ptr ar, framecn } else { - rend = trackview.editor().frame_to_pixel (_region->length() - inverse->back()->when); inverse->curve().get_vector (inverse->front()->when, inverse->back()->when, vec.get(), npoints); for (int i = 0, pci = 0; i < npoints; ++i) { diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 697122b101..a075008d20 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -4576,15 +4576,17 @@ CrossfadeEdgeDrag::start_grab (GdkEvent* event, Gdk::Cursor *cursor) void CrossfadeEdgeDrag::motion (GdkEvent*, bool) { - double distance = _drags->current_pointer_x() - grab_x(); + double distance; double new_length; framecnt_t len; boost::shared_ptr ar (arv->audio_region()); if (start) { + distance = _drags->current_pointer_x() - grab_x(); len = ar->fade_in()->back()->when; } else { + distance = grab_x() - _drags->current_pointer_x(); len = ar->fade_out()->back()->when; } @@ -4595,22 +4597,22 @@ CrossfadeEdgeDrag::motion (GdkEvent*, bool) } else { arv->redraw_end_xfade_to (ar, new_length); } - - // _editor->update_canvas_now (); } void CrossfadeEdgeDrag::finished (GdkEvent*, bool) { - double distance = _drags->current_pointer_x() - grab_x(); + double distance; double new_length; framecnt_t len; boost::shared_ptr ar (arv->audio_region()); if (start) { + distance = _drags->current_pointer_x() - grab_x(); len = ar->fade_in()->back()->when; } else { + distance = grab_x() - _drags->current_pointer_x(); len = ar->fade_out()->back()->when; } -- cgit v1.2.3