Ripple mode: ripple when deleting ranges.

Make delete, cut and clear of a range ripple the appropriate playlists.
This commit is contained in:
Colin Fletcher 2014-05-16 00:51:54 +01:00
parent 933da08c72
commit 99c0ef21d7

View File

@ -1363,6 +1363,10 @@ RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
switch (op) {
case Delete:
if (playlist->cut (time) != 0) {
if (Config->get_edit_mode() == Ripple)
playlist->ripple(time.start() + time.length(), -time.length(), NULL);
// no need to exclude any regions from rippling here
vector<Command*> cmds;
playlist->rdiff (cmds);
_session->add_commands (cmds);
@ -1374,6 +1378,10 @@ RouteTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
case Cut:
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);
// no need to exclude any regions from rippling here
vector<Command*> cmds;
playlist->rdiff (cmds);
_session->add_commands (cmds);
@ -1389,6 +1397,9 @@ 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);
// no need to exclude any regions from rippling here
vector<Command*> cmds;
playlist->rdiff (cmds);