X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fctimebar.C;h=6929cc12104de8f652c1711c2b4969f7cd1277a3;hp=b22b4db7ffcf06bfeac8f0cba4eb319c4119e0c5;hb=a19a685a46ddc630010788707d9e5b9d2342af46;hpb=60f8df69db9ddd8148bfc41a17bb0955b52a45e6 diff --git a/cinelerra-5.1/cinelerra/ctimebar.C b/cinelerra-5.1/cinelerra/ctimebar.C index b22b4db7..6929cc12 100644 --- a/cinelerra-5.1/cinelerra/ctimebar.C +++ b/cinelerra-5.1/cinelerra/ctimebar.C @@ -64,16 +64,18 @@ void CTimeBar::draw_time() double CTimeBar::pixel_to_position(int pixel) { - double start = 0, length = 0; + double start = 0, end = get_edl_length(); EDL *edl = get_edl(); if( edl ) { - start = edl->local_session->preview_start; - if( start >= 0 ) - length = edl->local_session->preview_end - start; + double preview_start = edl->local_session->preview_start; + double preview_end = edl->local_session->preview_end; + if( preview_end >= 0 || preview_start > 0 ) + start = preview_start; + if( preview_end >= 0 && preview_end < end ) + end = preview_end; } - if( length <= 0 ) - length = get_edl_length(); - return start + (double)pixel * length / get_w(); + if( start > end ) start = end; + return start + (double)pixel * (end - start) / get_w(); }