X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fcwindow.C;h=7152f5a671206b40820044c6afe77d521063ca59;hb=a6369311556cc1e1877142181d8606e4f68aa803;hp=176bf3c425b5cfc6e9de8ac1019fc6b6973185a0;hpb=3f6a262cfe390b3f8b275297d64565a5b6272969;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/cwindow.C b/cinelerra-5.1/cinelerra/cwindow.C index 176bf3c4..7152f5a6 100644 --- a/cinelerra-5.1/cinelerra/cwindow.C +++ b/cinelerra-5.1/cinelerra/cwindow.C @@ -215,12 +215,9 @@ void CWindow::calculate_affected_autos(FloatAuto **x_auto, } } -void CWindow::stop_playback() +void CWindow::stop_playback(int wait) { - int locked = gui->get_window_lock(); - if( locked ) gui->unlock_window(); - playback_engine->interrupt_playback(1); - if( locked ) gui->lock_window("CWindow::stop_playback"); + playback_engine->stop_playback(wait); } void CWindow::run() @@ -237,11 +234,7 @@ void CWindow::update(int position, if(position) { - mwindow->queue_mixers(mwindow->edl, CURRENT_FRAME,1,0,1,0); - playback_engine->que->send_command(CURRENT_FRAME, - CHANGE_NONE, - mwindow->edl, - 1); + refresh_frame(CHANGE_NONE); } gui->lock_window("CWindow::update 2"); @@ -312,8 +305,16 @@ int CWindow::update_position(double position) return 1; } +void CWindow::refresh_frame(int change_type, EDL *edl) +{ + mwindow->refresh_mixers(); + playback_engine->refresh_frame(change_type, edl); +} - +void CWindow::refresh_frame(int change_type) +{ + refresh_frame(change_type, mwindow->edl); +} CWindowRemoteHandler:: CWindowRemoteHandler(RemoteControl *remote_control)