X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvwindow.C;h=451c71320e3be4f4794fb9483b9c89f1abbed6a4;hp=2574499bd160fa3f9e98bd2f66357f0f067c8153;hb=7ead44762b23da404eee89b63e0474153fdf58a1;hpb=8de624882f93013542044d4ad39c3f6e2f77d752 diff --git a/cinelerra-5.1/cinelerra/vwindow.C b/cinelerra-5.1/cinelerra/vwindow.C index 2574499b..451c7132 100644 --- a/cinelerra-5.1/cinelerra/vwindow.C +++ b/cinelerra-5.1/cinelerra/vwindow.C @@ -414,15 +414,21 @@ void VWindow::unset_inoutpoint() } } -void VWindow::copy() +void VWindow::copy(int all) { EDL *edl = get_edl(); if(edl) { - double start = edl->local_session->get_selectionstart(); - double end = edl->local_session->get_selectionend(); + double start = all ? 0 : + edl->local_session->get_selectionstart(); + double end = all ? edl->tracks->total_length() : + edl->local_session->get_selectionend(); + EDL *copy_edl = new EDL; // no parent or assets wont be copied + copy_edl->create_objects(); + copy_edl->copy_all(edl); FileXML file; - edl->copy(start, end, 0, &file, "", 1); + copy_edl->copy(start, end, 0, &file, "", 1); + copy_edl->remove_user(); const char *file_string = file.string(); long file_length = strlen(file_string); mwindow->gui->lock_window();