summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-05-10 02:50:59 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-05-10 02:50:59 +0000
commitbed955b40935cf7765829e260b70258b79803890 (patch)
tree6e988d7496d0b216aceb0f08a7b81be53c7850bc /gtk2_ardour/editor_drag.cc
parente3a9576aed924c40a1ac2c9b698433a84ced79aa (diff)
fix dragging of end xfades
git-svn-id: svn://localhost/ardour2/branches/3.0@12237 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r--gtk2_ardour/editor_drag.cc10
1 files changed, 6 insertions, 4 deletions
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<AudioRegion> 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<AudioRegion> 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;
}