X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcwindow.C;h=3a65150df6c586664a0ce807ec5afd63c4edb3e0;hb=5c1aff2fd123b65be6e51ca7652185e14ddaf168;hp=f4c91c459f289bf7690c94913a87151a20337aae;hpb=21c2e6b36d6a96c2f662a89459d607b5a387f4eb;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/cwindow.C b/cinelerra-5.1/cinelerra/cwindow.C index f4c91c45..3a65150d 100644 --- a/cinelerra-5.1/cinelerra/cwindow.C +++ b/cinelerra-5.1/cinelerra/cwindow.C @@ -215,62 +215,42 @@ void CWindow::calculate_affected_autos(FloatAuto **x_auto, } } - - - +void CWindow::stop_playback(int wait) +{ + playback_engine->stop_playback(wait); +} void CWindow::run() { gui->run_window(); } -void CWindow::update(int position, - int overlays, - int tool_window, - int operation, - int timebar) +void CWindow::update(int dir, int overlays, int tool_window, int operation, int timebar) { - if(position) - { - playback_engine->que->send_command(CURRENT_FRAME, - CHANGE_NONE, - mwindow->edl, - 1); - } + if(dir) + refresh_frame(CHANGE_NONE, dir); gui->lock_window("CWindow::update 2"); - - // Create tool window if(operation) - { gui->set_operation(mwindow->edl->session->cwindow_operation); - } - // Updated by video device. - if(overlays && !position) - { + if(overlays && !dir) gui->canvas->draw_refresh(); - } // Update tool parameters // Never updated by someone else - if(tool_window || position) - { + if(tool_window || dir) gui->update_tool(); - } if(timebar) - { gui->timebar->update(1); - } - if(!mwindow->edl->session->cwindow_scrollbars) - gui->zoom_panel->update(_(AUTO_ZOOM)); - else - gui->zoom_panel->update(mwindow->edl->session->cwindow_zoom); + double zoom = !mwindow->edl->session->cwindow_scrollbars ? + 0 :mwindow->edl->session->cwindow_zoom; + gui->zoom_panel->update(zoom); gui->canvas->update_zoom(mwindow->edl->session->cwindow_xscroll, mwindow->edl->session->cwindow_yscroll, @@ -308,8 +288,16 @@ int CWindow::update_position(double position) return 1; } +void CWindow::refresh_frame(int change_type, EDL *edl, int dir) +{ + mwindow->refresh_mixers(dir); + playback_engine->refresh_frame(change_type, edl, dir); +} - +void CWindow::refresh_frame(int change_type, int dir) +{ + refresh_frame(change_type, mwindow->edl, dir); +} CWindowRemoteHandler:: CWindowRemoteHandler(RemoteControl *remote_control)