add fileppm, fix renderfarm/brender deadlock, fix audio meters, add gbrp + cin_pix_fm...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / cwindow.C
index f4c91c459f289bf7690c94913a87151a20337aae..7152f5a671206b40820044c6afe77d521063ca59 100644 (file)
@@ -215,9 +215,10 @@ void CWindow::calculate_affected_autos(FloatAuto **x_auto,
        }
 }
 
-
-
-
+void CWindow::stop_playback(int wait)
+{
+       playback_engine->stop_playback(wait);
+}
 
 void CWindow::run()
 {
@@ -233,10 +234,7 @@ void CWindow::update(int position,
 
        if(position)
        {
-               playback_engine->que->send_command(CURRENT_FRAME,
-                       CHANGE_NONE,
-                       mwindow->edl,
-                       1);
+               refresh_frame(CHANGE_NONE);
        }
 
        gui->lock_window("CWindow::update 2");
@@ -267,10 +265,9 @@ void CWindow::update(int position,
                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 +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)