Ripple mode: ripple all after start of deleted range

When deleting a range in ripple mode, ripple everything after the start
point of that range backwards by the length of the range, so that
newly-created regions immediately at the range end move back to the range
start.
This commit is contained in:
Colin Fletcher 2014-05-16 20:04:57 +01:00
parent 46fa5c9397
commit 00af9a967b

View File

@ -1364,7 +1364,7 @@ RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
case Delete:
if (playlist->cut (time) != 0) {
if (Config->get_edit_mode() == Ripple)
playlist->ripple(time.start() + time.length(), -time.length(), NULL);
playlist->ripple(time.start(), -time.length(), NULL);
// no need to exclude any regions from rippling here
vector<Command*> cmds;
@ -1379,7 +1379,7 @@ RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
if ((what_we_got = playlist->cut (time)) != 0) {
_editor.get_cut_buffer().add (what_we_got);
if (Config->get_edit_mode() == Ripple)
playlist->ripple(time.start() + time.length(), -time.length(), NULL);
playlist->ripple(time.start(), -time.length(), NULL);
// no need to exclude any regions from rippling here
vector<Command*> cmds;
@ -1398,7 +1398,7 @@ RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
case Clear:
if ((what_we_got = playlist->cut (time)) != 0) {
if (Config->get_edit_mode() == Ripple)
playlist->ripple(time.start() + time.length(), -time.length(), NULL);
playlist->ripple(time.start(), -time.length(), NULL);
// no need to exclude any regions from rippling here
vector<Command*> cmds;