group edge handle drag, expanders.txt, delete spurious auto in copy edl
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / tracksedit.C
index 0aa3634c0bb336f8628ad83f7e9a5839c4f79b73..4b23eb1ed436552b575cfae39586f016b3f053fd 100644 (file)
@@ -72,7 +72,6 @@ int Tracks::clear(double start, double end, int clear_plugins, int edit_autos)
                                1, // labels
                                clear_plugins, // edit_plugins
                                edit_autos,
-                               1, // convert_units
                                0); // trim_edits
                }
        }
@@ -208,7 +207,8 @@ void Tracks::set_edit_length(double start, double end, double length)
                                        int64_t length_units = current_track->to_units(end_time, 0) -
                                                total_units;
                                        if(length_units < 1) length_units = 1;
-printf("Tracks::set_edit_length %d %f %f\n", __LINE__, end_time, current_track->from_units(total_units));
+//printf("Tracks::set_edit_length %d %f %f\n", __LINE__,
+// end_time, current_track->from_units(total_units));
                                        total_units += length_units;
 
 // Go in using the edit handle interface
@@ -740,38 +740,6 @@ void Tracks::move_edits(ArrayList<Edit*> *edits,
        }
 }
 
-void Tracks::move_group(EDL *group, Track *first_track, double position)
-{
-       for( Track *track=first; track; track=track->next ) {
-               if( !track->record ) continue;
-               for( Edit *edit=track->edits->first; edit; edit=edit->next ) {
-                       if( !edit->is_selected ) continue;
-                       edit->mute();
-                       edit->is_selected = 0;
-                       edit->group_id = 0;
-               }
-       }
-       Track *src = group->tracks->first;
-       for( Track *track=first_track; track && src; track=track->next ) {
-               if( !track->record ) continue;
-               int64_t pos = track->to_units(position, 0);
-               for( Edit *edit=src->edits->first; edit; edit=edit->next ) {
-                       if( edit->silence() ) continue;
-                       int64_t start = pos + edit->startproject;
-                       int64_t end = start + edit->length;
-                       track->edits->clear(start, end);
-                       Edit *dst = track->edits->insert_new_edit(start);
-                       dst->copy_from(edit);
-                       dst->startproject = start;
-                       dst->is_selected = 1;
-                       while( (dst=dst->next) != 0 )
-                               dst->startproject += edit->length;
-               }
-               track->optimize();
-               src = src->next;
-       }
-}
-
 void Tracks::move_effect(Plugin *plugin, Track *track, int64_t position)
 {
        Track *source_track = plugin->track;
@@ -1259,60 +1227,33 @@ int Tracks::move_auto(int cursor_x, int cursor_y, int shift_down)
        return 0;
 }
 
-int Tracks::modify_edithandles(double &oldposition,
-       double &newposition,
-       int currentend,
-       int handle_mode,
-       int edit_labels,
-       int edit_plugins,
-       int edit_autos)
+int Tracks::modify_edithandles(double &oldposition, double &newposition,
+       int currentend, int handle_mode, int edit_labels,
+       int edit_plugins, int edit_autos, int group_id)
 {
-       Track *current;
-
-       for(current = first; current; current = NEXT)
-       {
-               if(current->record)
-               {
-                       current->modify_edithandles(oldposition,
-                               newposition,
-                               currentend,
-                               handle_mode,
-                               edit_labels,
-                               edit_plugins,
-                               edit_autos);
-               }
+       for( Track *track=first; track; track=track->next ) {
+               if( !track->record ) continue;
+               track->modify_edithandles(oldposition, newposition,
+                       currentend, handle_mode, edit_labels,
+                       edit_plugins, edit_autos, group_id);
        }
        return 0;
 }
 
-int Tracks::modify_pluginhandles(double &oldposition,
-       double &newposition,
-       int currentend,
-       int handle_mode,
-       int edit_labels,
-       int edit_autos,
-       Edits *trim_edits)
+int Tracks::modify_pluginhandles(double &oldposition, double &newposition,
+       int currentend, int handle_mode, int edit_labels,
+       int edit_autos, Edits *trim_edits)
 {
-       Track *current;
-
-       for(current = first; current; current = NEXT)
-       {
-               if(current->record)
-               {
-                       current->modify_pluginhandles(oldposition,
-                               newposition,
-                               currentend,
-                               handle_mode,
-                               edit_labels,
-                               edit_autos,
-                               trim_edits);
-               }
+       for( Track *track=first; track; track=track->next ) {
+               if( !track->record ) continue;
+               track->modify_pluginhandles(oldposition, newposition,
+                       currentend, handle_mode, edit_labels,
+                       edit_autos, trim_edits);
        }
        return 0;
 }
 
 
-
 int Tracks::purge_asset(Asset *asset)
 {
        Track *current_track;