X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fedit.C;h=d9f55ba74d546a89eaf3f756e595d82224237a78;hb=fea29181a5e69959e00d520173d66577c2056989;hp=2575cfa359facc94c5b96a01544b57a30c7ccc93;hpb=0983c78067d86d25426fd34655ad9a9992ef04c7;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/edit.C b/cinelerra-5.1/cinelerra/edit.C index 2575cfa3..d9f55ba7 100644 --- a/cinelerra-5.1/cinelerra/edit.C +++ b/cinelerra-5.1/cinelerra/edit.C @@ -282,7 +282,7 @@ void Edit::equivalent_output(Edit *edit, int64_t *result) !transition->identical(edit->transition)) || // Asset changed (asset && edit->asset && - !asset->equivalent(*edit->asset, 1, 1)) || + !asset->equivalent(*edit->asset, 1, 1, edl)) || // Nested EDL changed (nested_edl && edit->nested_edl && strcmp(nested_edl->path, edit->nested_edl->path)) @@ -690,11 +690,11 @@ int Edit::shift_end_out(int edit_mode, // Effects are shifted in length extension if(edit_plugins) - edits->shift_effects_recursive(oldposition /* startproject */, + edits->shift_effects_recursive(oldposition /* startproject */, cut_length, edit_autos); if(edit_autos) - edits->shift_keyframes_recursive(oldposition /* startproject */, + edits->shift_keyframes_recursive(oldposition /* startproject */, cut_length); for(Edit* current_edit = next; current_edit; current_edit = current_edit->next) @@ -713,13 +713,17 @@ int Edit::shift_end_out(int edit_mode, next->startproject += cut_length; next->startsource += cut_length; next->length -= cut_length; -//printf("Edit::shift_end_out 2 %d\n", cut_length); +//printf("Edit::shift_end_out %d cut_length=%d\n", __LINE__, cut_length); } else { +//printf("Edit::shift_end_out %d cut_length=%d next->length=%d\n", __LINE__, cut_length, next->length); cut_length = next->length; + next->startproject += next->length; + next->startsource += next->length; next->length = 0; length += cut_length; +//track->dump(); } } else @@ -798,7 +802,7 @@ int Edit::select_handle(float view_start, float zoom_units, int cursor_x, int cu pixel2 = right; pixel1 = pixel2 - 10; -// test right edit +// test right edit if(cursor_x >= pixel1 && cursor_x <= pixel2) { selection = right_unit;