Skip to content

Commit 7e22006

Browse files
committed
feat: v1.9.7 — priority worker pool, 5 MCP tools, final ffprobe fixes
WorkerPool: - Replace FIFO ThreadPoolExecutor with PriorityQueue-backed thread pool - CRITICAL(0) jobs leapfrog BACKGROUND(200) when all workers busy - Equal-priority jobs dispatched in FIFO order (sequence tiebreaker) - Proper shutdown with poison pills MCP Server (18 → 23 tools): - opencut_denoise_audio, opencut_upscale, opencut_scene_detect, opencut_depth_map, opencut_shorts_pipeline Fixes: - 3 remaining bare "ffprobe" in audio.py, video_editing.py, utils/media.py - get_ffmpeg_path()/get_ffprobe_path() now warn when binary not in PATH
1 parent aa18ecc commit 7e22006

25 files changed

Lines changed: 190 additions & 36 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Changelog
22

3+
## [1.9.7] - 2026-03-27
4+
5+
### Added
6+
- **5 new MCP tools**`opencut_denoise_audio`, `opencut_upscale`, `opencut_scene_detect`, `opencut_depth_map`, `opencut_shorts_pipeline` (23 total, up from 18). AI clients can now drive denoising, upscaling, scene detection, depth mapping, and the full shorts pipeline.
7+
- **WorkerPool priority queue** — Replaced FIFO `ThreadPoolExecutor` with custom `PriorityQueue`-backed pool. `JobPriority.CRITICAL` (0) jobs now leapfrog `BACKGROUND` (200) work when all workers are busy. Equal-priority jobs still run in FIFO order.
8+
9+
### Fixed (Batch 39)
10+
- **3 more bare `"ffprobe"` in routes/utils**`audio.py` waveform probe, `video_editing.py` reframe probe, `utils/media.py` media probe — all crash on bundled installs where ffprobe isn't in PATH.
11+
- **FFmpeg/ffprobe path warning**`get_ffmpeg_path()` and `get_ffprobe_path()` now log WARNING when binary not found in PATH (was silently falling back to bare name, causing confusing subprocess errors later).
12+
313
## [1.9.6] - 2026-03-27
414

515
### Fixed (Batch 38 — Route Cleanup & Remaining Crash Bugs)

CLAUDE.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@
180180
- Lint: `ruff check opencut/` — codebase is fully clean, pre-commit enforces on every commit
181181

182182
## Version
183-
- Current: **v1.9.6**
183+
- Current: **v1.9.7**
184184
- All version strings: `pyproject.toml`, `__init__.py`, `CSXS/manifest.xml` (ExtensionBundleVersion + Version), `com.opencut.uxp/manifest.json`, `com.opencut.uxp/main.js` (VERSION const), `index.html` version display, README badge, `package.json`
185185
- Use `python scripts/sync_version.py --set X.Y.Z` to update all 19 targets at once (including UXP files and package.json)
186186
- Use `python scripts/sync_version.py --check` in CI to verify all targets match
@@ -919,6 +919,12 @@ enhance = ["resemble-enhance>=0.0.1"]
919919
- **10 duplicate class attributes in HTML** — 10 elements had two `class=` attributes; HTML parser silently ignores the second, losing spacing utilities (mt-xs, mt-sm, mb-sm, mt-md). All merged into single attributes.
920920
- **pip install permission denied**`safe_pip_install()` failed on Windows when both normal and `--user` installs hit Errno 13 (Microsoft Store Python, OneDrive-synced user dirs, restrictive ACLs). Added `--target ~/.opencut/packages` as third fallback strategy. server.py adds `~/.opencut/packages` to `sys.path` at startup.
921921

922+
## v1.9.7 Batch 39 (Priority Queue, MCP Tools, Final ffprobe)
923+
- **WorkerPool priority queue** — replaced FIFO ThreadPoolExecutor with PriorityQueue-backed pool. CRITICAL(0) jobs leapfrog BACKGROUND(200) when workers busy.
924+
- **5 new MCP tools** — denoise_audio, upscale, scene_detect, depth_map, shorts_pipeline (23 total).
925+
- **3 more bare ffprobe** — audio.py waveform, video_editing.py reframe, utils/media.py probe. Fixed to get_ffprobe_path().
926+
- **FFmpeg path warnings** — get_ffmpeg_path()/get_ffprobe_path() now log WARNING when binary not found.
927+
922928
## v1.9.6 Batch 38 Bug Fixes (Route Cleanup)
923929
- **10 remaining `_p(pct, msg)` closures** — audio.py (3), video_fx.py (5), captions.py (1), workflow.py (1) all crashed with TypeError when core modules called on_progress with 1 arg. Fixed all to `msg=""`.
924930
- **Redundant filepath re-validation in 7+ routes** — face_enhance, face_swap, upscale_run, remove_watermark, title_overlay, particle_apply, color_correct, color_convert, color_external_lut all re-read `data.get("filepath")` despite @async_job handling it. Removed ~80 lines of dead code.

Install.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ Write-Host " \___/| .__/ \___|_| |_|\____\__,_|\__|" -ForegroundColor Cyan
155155
Write-Host " |_| " -ForegroundColor Cyan
156156
Write-Host ""
157157
Write-Host " Open Source Video Editing Automation" -ForegroundColor DarkGray
158-
Write-Host " Installer v1.9.6" -ForegroundColor DarkGray
158+
Write-Host " Installer v1.9.7" -ForegroundColor DarkGray
159159

160160
$isAdmin = Test-IsAdmin
161161
if ($isAdmin) {

OpenCut.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
; Fully self-contained installer — bundles server exe, ffmpeg, and CEP extension
33

44
#define MyAppName "OpenCut"
5-
#define MyAppVersion "1.9.6"
5+
#define MyAppVersion "1.9.7"
66
#define MyAppPublisher "SysAdminDoc"
77
#define MyAppURL "https://github.com/SysAdminDoc/OpenCut"
88

extension/com.opencut.panel/CSXS/manifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<ExtensionManifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
33
Version="7.0"
44
ExtensionBundleId="com.opencut.panel"
5-
ExtensionBundleVersion="1.9.6"
5+
ExtensionBundleVersion="1.9.7"
66
ExtensionBundleName="OpenCut">
77

88
<ExtensionList>
9-
<Extension Id="com.opencut.panel.main" Version="1.9.6" />
9+
<Extension Id="com.opencut.panel.main" Version="1.9.7" />
1010
</ExtensionList>
1111

1212
<ExecutionEnvironment>

extension/com.opencut.panel/client/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3262,7 +3262,7 @@ <h1 class="content-title" id="contentTitle">Cut & Clean</h1>
32623262
<div class="card-header"><div class="card-title" data-i18n="settings.about">About OpenCut</div></div>
32633263
<div class="settings-row">
32643264
<span class="settings-label">Version</span>
3265-
<span class="settings-value">1.9.6</span>
3265+
<span class="settings-value">1.9.7</span>
32663266
</div>
32673267
<div class="about-links">
32683268
<a href="https://github.com/SysAdminDoc/opencut" class="about-link" target="_blank">GitHub</a>

extension/com.opencut.panel/client/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* ============================================================
2-
OpenCut CEP Panel - Main Controller v1.9.6
2+
OpenCut CEP Panel - Main Controller v1.9.7
33
6-Tab Professional Toolkit
44
============================================================ */
55
(function () {

extension/com.opencut.panel/client/style.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* ============================================================
2-
OpenCut CEP Panel v1.9.6 - ULTRA PREMIUM EDITION
2+
OpenCut CEP Panel v1.9.7 - ULTRA PREMIUM EDITION
33
Next-Generation AI Editing Suite for Adobe Premiere Pro
44
============================================================ */
55

extension/com.opencut.panel/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "opencut-panel",
3-
"version": "1.9.6",
3+
"version": "1.9.7",
44
"private": true,
55
"description": "OpenCut CEP Panel for Adobe Premiere Pro",
66
"scripts": {

extension/com.opencut.uxp/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<path d="M4 2.5a3 3 0 00-1.76 5.43L7.33 11l-5.09 3.07A3 3 0 104.8 19.5a3 3 0 001.76-5.43L8.93 12.6 16.5 17V5L8.93 9.4 6.56 7.93A3 3 0 004 2.5z" fill="var(--accent)"/>
1717
</svg>
1818
<span class="oc-logo">OpenCut</span>
19-
<span class="oc-version">v1.9.6</span>
19+
<span class="oc-version">v1.9.7</span>
2020
</div>
2121
<div class="oc-header-right">
2222
<div class="oc-connection" id="connectionStatus" title="Backend connection status">

0 commit comments

Comments
 (0)