X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmtimebar.C;h=94e7f2d1c2bac9f4aee689ce49234c9e9c81b4b8;hp=5ab4eb124ce65eec09778abe5dca3bc2b8c41d04;hb=HEAD;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd diff --git a/cinelerra-5.1/cinelerra/mtimebar.C b/cinelerra-5.1/cinelerra/mtimebar.C index 5ab4eb12..94e7f2d1 100644 --- a/cinelerra-5.1/cinelerra/mtimebar.C +++ b/cinelerra-5.1/cinelerra/mtimebar.C @@ -96,11 +96,9 @@ int64_t MTimeBar::position_to_pixel(double position) } -void MTimeBar::stop_playback() +void MTimeBar::stop_transport() { - gui->unlock_window(); - gui->mbuttons->transport->handle_transport(STOP, 1, 0, 0); - gui->lock_window(); + gui->stop_transport("MTimeBar::stop_transport"); } #define TEXT_MARGIN 4 @@ -426,9 +424,8 @@ void MTimeBar::draw_time() void MTimeBar::draw_range() { int x1 = 0, x2 = 0; - if(mwindow->edl->tracks->total_playable_vtracks() && - mwindow->preferences->use_brender) - { + if( mwindow->brender_active && mwindow->preferences->use_brender && + mwindow->edl->tracks->total_playable_vtracks() ) { double time_per_pixel = (double)mwindow->edl->local_session->zoom_sample / mwindow->edl->session->sample_rate; x1 = (int)(mwindow->edl->session->brender_start / time_per_pixel) - @@ -437,22 +434,15 @@ void MTimeBar::draw_range() mwindow->edl->local_session->view_start[pane->number]; } - if(x2 > x1 && - x1 < get_w() && - x2 > 0) - { + if(x2 > x1 && x1 < get_w() && x2 > 0) { draw_top_background(get_parent(), 0, 0, x1, get_h()); - draw_3segmenth(x1, 0, x2 - x1, mwindow->theme->get_image("timebar_brender")); - draw_top_background(get_parent(), x2, 0, get_w() - x2, get_h()); } - else - { + else { draw_top_background(get_parent(), 0, 0, get_w(), get_h()); } - // int64_t pixel = position_to_pixel( // mwindow->edl->local_session->get_selectionstart(1)); // @@ -463,13 +453,10 @@ void MTimeBar::draw_range() void MTimeBar::select_label(double position) { - EDL *edl = mwindow->edl; + stop_transport(); - gui->unlock_window(); - gui->mbuttons->transport->handle_transport(STOP, 1, 0, 0); - gui->lock_window(); - - position = mwindow->edl->align_to_frame(position, 1); + EDL *edl = mwindow->edl; + position = edl->align_to_frame(position, 1); if(shift_down()) {