X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftracksedit.C;h=5bda1f02f146ee862290a2c397ab59dcace39ec1;hp=35da7092bf149246b81bc68c838c301afc91549a;hb=6050493632cb3681227b7ec8c12decd449dcf66f;hpb=834732af87bfd7f1d4035109f31e48db12b415fa diff --git a/cinelerra-5.1/cinelerra/tracksedit.C b/cinelerra-5.1/cinelerra/tracksedit.C index 35da7092..5bda1f02 100644 --- a/cinelerra-5.1/cinelerra/tracksedit.C +++ b/cinelerra-5.1/cinelerra/tracksedit.C @@ -214,12 +214,12 @@ void Tracks::set_edit_length(double start, double end, double length) // Go in using the edit handle interface int64_t starting_length = current_edit->length; - current_edit->shift_end(MOVE_EDGE, + current_edit->shift_end(MOVE_RIPPLE, current_edit->startproject + length_units, current_edit->startproject + current_edit->length, - 1, 0, - edl->session->plugins_follow_edits, + 0, edl->session->autos_follow_edits, + edl->session->plugins_follow_edits, 0); int64_t ending_length = current_edit->length; @@ -233,7 +233,7 @@ void Tracks::set_edit_length(double start, double end, double length) edl->labels->modify_handles( current_track->from_units(current_edit->startproject + starting_length), current_track->from_units(current_edit->startproject + ending_length), - 1, MOVE_EDGE, 1); + 1); } @@ -281,12 +281,12 @@ void Tracks::set_edit_length(double start, double end, double length) // Go in using the edit handle interface int64_t starting_length = current_edit->length; - current_edit->shift_end(MOVE_EDGE, + current_edit->shift_end(MOVE_RIPPLE, current_edit->startproject + length_units, current_edit->startproject + current_edit->length, - 1, 0, - edl->session->plugins_follow_edits, + 0, edl->session->autos_follow_edits, + edl->session->plugins_follow_edits, 0); int64_t ending_length = current_edit->length; @@ -298,7 +298,7 @@ void Tracks::set_edit_length(double start, double end, double length) edl->labels->modify_handles( current_track->from_units(current_edit->startproject + starting_length), current_track->from_units(current_edit->startproject + ending_length), - 1, MOVE_EDGE, 1); + 1); } @@ -612,7 +612,7 @@ void Tracks::move_edits(ArrayList *in_edits, Track *track, double positio } FileXML track_xml; - source_track->copy(source_start, source_end, &track_xml, ""); + source_track->copy(COPY_TRACKS, source_start, source_end, &track_xml, ""); if( !track_xml.read_tag() ) clip_track->load(&track_xml, 0, LOAD_ALL); @@ -800,27 +800,16 @@ void Tracks::change_plugins(SharedLocation &old_location, SharedLocation &new_lo // =========================================== EDL editing -int Tracks::copy(double start, - double end, - int all, - FileXML *file, - const char *output_path) +int Tracks::copy(int copy_flags, double start, double end, + FileXML *file, const char *output_path) { -// nothing selected - if(start == end && !all) return 1; - - Track* current; - - for(current = first; - current; - current = NEXT) - { - if(current->record || all) - { - current->copy(start, end, file,output_path); - } + int all = (copy_flags & COPY_ALL) ? 1 : 0; +// if nothing selected + if( start == end && !all ) return 1; + for( Track *track=first; track; track=track->next ) { + if( track->record || all ) + track->copy(copy_flags, start, end, file, output_path); } - return 0; } @@ -1146,6 +1135,8 @@ int Tracks::modify_edithandles(double &oldposition, double &newposition, track->modify_edithandles(oldposition, newposition, currentend, handle_mode, edit_labels, edit_plugins, edit_autos, group_id); +// labels follow first armed track + edit_labels = 0; } return 0; }