X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvtimebar.C;h=2855f161437a55767a2db45bc6ef228f851db896;hb=568bf4145a8bc66472ea3625741dacbd3b56ccc0;hp=b61f25f63f1710fe226bdf5855161ba3b4aa7cec;hpb=60f8df69db9ddd8148bfc41a17bb0955b52a45e6;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/vtimebar.C b/cinelerra-5.1/cinelerra/vtimebar.C index b61f25f6..2855f161 100644 --- a/cinelerra-5.1/cinelerra/vtimebar.C +++ b/cinelerra-5.1/cinelerra/vtimebar.C @@ -103,19 +103,21 @@ void VTimeBar::select_label(double position) double VTimeBar::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; + if( edl ) { + 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(); } + void VTimeBar::update_cursor() { int rx = get_relative_cursor_x(); @@ -124,4 +126,8 @@ void VTimeBar::update_cursor() update(1); } +double VTimeBar::test_highlight() +{ + return gui->edit_panel->get_position(); +}