X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fedit.C;h=47ca63c3ffe915a28469da28700988e616b28186;hb=ab958f323d68316c450ef81ba296536580620163;hp=5321209acd68b7233a3b23d2ac1bb4da9edcadfe;hpb=b4184445f396e16260ed90e645a280149aeda8c0;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/edit.C b/cinelerra-5.1/cinelerra/edit.C index 5321209a..47ca63c3 100644 --- a/cinelerra-5.1/cinelerra/edit.C +++ b/cinelerra-5.1/cinelerra/edit.C @@ -452,9 +452,10 @@ int Edit::shift_start(int edit_mode, int64_t newposition, int64_t oldposition, case MOVE_RIPPLE: edits_moved = rest_moved = 1; startsource += cut_length; - length -= cut_length; + cut_length = -cut_length; + length += cut_length; for( Edit *edit=next; edit; edit=edit->next ) - edit->startproject -= cut_length; + edit->startproject += cut_length; break; case MOVE_ROLL: if( prev ) prev->trim(cut_length); @@ -579,11 +580,11 @@ int Edit::follow_edits(int64_t start, int64_t end, int64_t cut_length, } if( edit_plugins ) { if( cut_length > 0 ) { - track->clear(end, end+cut_length, 0, 0, 1, 0, 0); + track->clear(end, end+cut_length, 0, 0, -1, 0, 0); track->shift_effects(start, cut_length, 1, 0); } else if( cut_length < 0 ) { - track->clear(start+cut_length, start, 0, 0, 1, 0, 0); + track->clear(start+cut_length, start, 0, 0, -1, 0, 0); track->shift_effects(end+cut_length, -cut_length, 1, 0); } }