From 17711d829e9be98fe7426d35083e8a02bbce582c Mon Sep 17 00:00:00 2001 From: digital-garbage <133010426+digital-garbage@users.noreply.github.com> Date: Thu, 11 Jun 2026 19:16:30 +0300 Subject: [PATCH] Fix fast scrub preview and multi-select plain concat export. Coalesce playhead seeks during drag so rapid scrubbing stays stable, and route multi-select export through trim-only hard-cut concat instead of Render Final. --- movie_editor/frontend/api.js | 2 + movie_editor/frontend/player.js | 190 +++++++++++++++++++++++++++--- movie_editor/frontend/store.js | 45 ++++--- movie_editor/frontend/timeline.js | 11 +- movie_editor/server.py | 103 ++++++++++++++++ 5 files changed, 317 insertions(+), 34 deletions(-) diff --git a/movie_editor/frontend/api.js b/movie_editor/frontend/api.js index 482fbfdb..79333382 100644 --- a/movie_editor/frontend/api.js +++ b/movie_editor/frontend/api.js @@ -113,6 +113,8 @@ renderFinal: (id, clips) => j("POST", API(`/projects/${id}/render`), { clips }), renderFinalStatus: (id, jobId) => j("GET", API(`/projects/${id}/render/${encodeURIComponent(jobId)}`)), exportClip: (id, clip) => j("POST", API(`/projects/${id}/export-clip`), { clip }), + exportClipsCombined: (id, clips) => j("POST", API(`/projects/${id}/export-clips`), { clips }), + exportClipsStatus: (id, jobId) => j("GET", API(`/projects/${id}/export-clips/${encodeURIComponent(jobId)}`)), resultUrl: (id, m) => API(`/projects/${id}/result?filename=${encodeURIComponent(m.filename)}`) + `&subfolder=${encodeURIComponent(m.subfolder || "")}&type=${encodeURIComponent(m.type || "output")}`, diff --git a/movie_editor/frontend/player.js b/movie_editor/frontend/player.js index e612a7cc..ad8ac59c 100644 --- a/movie_editor/frontend/player.js +++ b/movie_editor/frontend/player.js @@ -20,6 +20,14 @@ let _active = null; // visible