search fixes, preset fixes, ladspa icon logging, igor pref theme, drag btn rollover
[goodguy/history.git] / cinelerra-5.1 / cinelerra / edit.C
index 0792fa443c5a3c179b1306c6f696c2f7e736b9eb..d9f55ba74d546a89eaf3f756e595d82224237a78 100644 (file)
@@ -150,6 +150,9 @@ int Edit::copy(int64_t start,
                                file->tag.set_title("NESTED_EDL");
                                file->tag.set_property("SRC", nested_edl->path);
                                file->append_tag();
+                               file->tag.set_title("/NESTED_EDL");
+                               file->append_tag();
+                               file->append_newline();
                        }
 
                        if(asset)
@@ -279,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))
@@ -687,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)
@@ -710,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
@@ -795,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;