update shuttlerc, fix vwdw lock update_position
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / edl.C
index c7db139e642db5bc245721bd993313b54bea2960..ddda393dfdc00a43399e7e31bee2af253e3c53d7 100644 (file)
@@ -805,8 +805,6 @@ static int dead_edit_cmp(Edit**ap, Edit**bp)
 void EDL::delete_edits(ArrayList<Edit*> *edits, int collapse)
 {
        edits->sort(dead_edit_cmp);
-       if( session->labels_follow_edits )
-               delete_edit_labels(edits, collapse);
        for( int i=0; i<edits->size(); ++i ) {
                Edit *edit = edits->get(i);
                Track *track = edit->track;
@@ -821,7 +819,8 @@ void EDL::delete_edits(ArrayList<Edit*> *edits, int collapse)
                                PluginSet *plugin_set = track->plugin_set[k];
                                plugin_set->clear(start, end, 1);
                                if( !collapse )
-                                       plugin_set->paste_silence(start, end);
+                                       plugin_set->paste_silence(start, end, 1);
+                               plugin_set->optimize();
                        }
                }
                Edit *dead_edit = edit;
@@ -831,10 +830,7 @@ void EDL::delete_edits(ArrayList<Edit*> *edits, int collapse)
                }
                delete dead_edit;
        }
-// optimize edits only.
-//  full optimize deletes pluginsets, mistargeting drag and drop
-       for( Track *track=tracks->first; track; track=track->next )
-               track->edits->optimize();
+       optimize();
 }
 
 class Range {
@@ -913,7 +909,6 @@ void EDL::move_edit_labels(ArrayList<Edit*> *edits, double dist)
        }
 }
 
-
 void EDL::modify_edithandles(double oldposition, double newposition,
        int currentend, int handle_mode, int edit_labels,
        int edit_plugins, int edit_autos, int group_id)
@@ -921,8 +916,6 @@ void EDL::modify_edithandles(double oldposition, double newposition,
        tracks->modify_edithandles(oldposition, newposition,
                currentend, handle_mode, edit_labels,
                edit_plugins, edit_autos, group_id);
-       labels->modify_handles(oldposition, newposition,
-               currentend, handle_mode, edit_labels);
 }
 
 void EDL::modify_pluginhandles(double oldposition, double newposition,