bsd lang segv fix, enable bsd lv2, lv2 gui enable fix, proxy/ffmpeg toggle resize...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / cwindow.C
index 29d545045e9a96ccfaf2cc6c6710c65c4e9cb2c9..3a65150df6c586664a0ce807ec5afd63c4edb3e0 100644 (file)
@@ -215,58 +215,38 @@ 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)
-       {
-               mwindow->queue_mixers(mwindow->edl, CURRENT_FRAME,1,0,1,0);
-               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);
-       }
 
        double zoom = !mwindow->edl->session->cwindow_scrollbars ?
                0 :mwindow->edl->session->cwindow_zoom;
@@ -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)