X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fedl.C;h=591db25212f9aa2af56243b61849580e7f71891d;hb=2ba7e9962ea989863e152373e96a09b00a0b4eb8;hp=d32d38b566892062a9e932b51e885eda66f3b235;hpb=6e4729390426bfd1359b3a8761ea5f4018ad627a;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/edl.C b/cinelerra-5.1/cinelerra/edl.C index d32d38b5..591db252 100644 --- a/cinelerra-5.1/cinelerra/edl.C +++ b/cinelerra-5.1/cinelerra/edl.C @@ -75,9 +75,9 @@ EDL::EDL(EDL *parent_edl) folders.set_array_delete(); - new_folder(CLIP_FOLDER); - - new_folder(MEDIA_FOLDER); +// persistent for now +// new_folder(CLIP_FOLDER); +// new_folder(MEDIA_FOLDER); id = next_id(); path[0] = 0; @@ -1286,48 +1286,12 @@ void EDL::get_shared_tracks(Track *track, // Convert position to frames if cursor alignment is enabled double EDL::align_to_frame(double position, int round) { -//printf("EDL::align_to_frame 1 %f\n", position); - if(session->cursor_on_frames) - { -// Seconds -> Frames - double temp = (double)position * session->frame_rate; -//printf("EDL::align_to_frame 2 %f\n", temp); - -// Assert some things - if(session->sample_rate == 0) - printf("EDL::align_to_frame: sample_rate == 0\n"); - - if(session->frame_rate == 0) - printf("EDL::align_to_frame: frame_rate == 0\n"); - -// Round frames -// Always round down negative numbers -// but round up only if requested - if(round) - { - temp = Units::round(temp); - } - else - { -// if(temp < 0) -// { -// temp -= 0.5; -// } -// else - temp = Units::to_int64(temp); - } -//printf("EDL::align_to_frame 3 %f\n", temp); - -// Frames -> Seconds - temp /= session->frame_rate; - -//printf("EDL::align_to_frame 5 %f\n", temp); - - return temp; + if( session->cursor_on_frames && session->frame_rate > 0 ) { + double frame_no = position * session->frame_rate; + int64_t frame_pos = frame_no + (round ? 0.5 : 1e-6); + double pos = frame_pos / session->frame_rate; + if( !EQUIV(pos, position) ) position = pos; } -//printf("EDL::align_to_frame 3 %d\n", position); - - return position; }