upgrade libvpx+lv2, fix dbl tap play bug, add multi nest/unnest clips, add del top...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / edits.C
index 26f49890d70cb22fbc1ea7351ab80f7a15edbba1..ae7ab0c7d3ef8edf15119a71aeaa3728dc8a3e76 100644 (file)
@@ -326,6 +326,14 @@ int Edits::optimize()
                }
        }
 
+// trim edits before position 0
+       while( first && first->startproject+first->length < 0 )
+               delete first;
+       if( first && first->startproject < 0 ) {
+               first->length += first->startproject;
+               first->startproject = 0;
+       }
+
 // Insert silence between edits which aren't consecutive
        for(current = last; current; current = current->previous)
        {
@@ -730,17 +738,10 @@ int Edits::modify_handles(double oldposition, double newposition, int currentend
                                double delta = newposition - oldposition;
                                oldposition = track->from_units(current_edit->startproject);
                                if( group_id > 0 ) newposition = oldposition + delta;
-                               result = 1;
-// dont move stuff if media playback does not shift in time
-                               if( edit_mode != MOVE_MEDIA && edit_mode != MOVE_EDGE_MEDIA ) {
-                                       edit_labels = 0;
-                                       edit_plugins = 0;
-                                       edit_autos = 0;
-                               }
                                current_edit->shift_start(edit_mode,
                                        track->to_units(newposition, 0), track->to_units(oldposition, 0),
-                                       0, edit_labels, edit_plugins, edit_autos,
-                                       trim_edits);
+                                       edit_labels, edit_autos, edit_plugins, trim_edits);
+                               result = 1;
                        }
 
                        if(!result) current_edit = current_edit->next;
@@ -760,7 +761,7 @@ int Edits::modify_handles(double oldposition, double newposition, int currentend
 
                                current_edit->shift_end(edit_mode,
                                        track->to_units(newposition, 0), track->to_units(oldposition, 0),
-                                       edit_edits, edit_labels, edit_plugins, edit_autos, trim_edits);
+                                       edit_labels, edit_autos, edit_plugins, trim_edits);
                        }
 
                        if(!result) current_edit = current_edit->next;