Skip to content

OpenCut v1.25.1 — Media detection + project-folder output fix

Latest

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 20 Apr 16:49
· 11 commits to main since this release

Patch release — two user-reported CEP panel bugs fixed

Fixed

1. Imported media not detected
The ExtendScript walker used an item.type === 2 + !item.getMediaPath heuristic that broke silently on Premiere 25.x, where most bins expose getMediaPath as a function (so the fallback evaluated false and nested media was never recorded). Replaced with a getMediaPath()-first discriminator: non-empty path → record; else has-children → walk as bin; else skip (sequence / offline / exotic). Works across every Premiere version 14–25+.

2. Processed output landing next to source clip instead of in the project folder
Two causes compounded:

  • getProjectMedia() only returned a projectFolder when app.project.path was non-empty (i.e. the .prproj had been saved). Unsaved projects returned "" and the backend fell back to the source clip's directory — for media imported from Downloads/ or a network share this was never what the user wanted. Added a three-step fallback chain: saved project path → directory of the first imported media → scratch disk path → empty. A new projectFolderSource field in the response tells the panel which fallback fired.
  • The panel's Settings → Output directory preference was saved to localStorage but never threaded into the output_dir payload at job time. Added _recomputeEffectiveOutputDir() that layers the user pref on top of the detected project folder and recomputes on settings save + every media-list refresh. All 77 existing output_dir: projectFolder call sites now honour the priority chain automatically.

Gotchas for extension developers

  • JSX walker is getMediaPath-first. Sequences and offline media both return empty getMediaPath(); the difference is sequences have 0 children. Both are skipped cleanly. Bins with type reported as undefined / 0 / 3 on newer Premiere builds are now walked via the "has children" fallback.
  • projectFolder is now the effective output dir, not the raw detected value. The JSX-detected folder lives panel-side in _detectedProjectFolder for anything that needs the raw value.

Installer (Windows): OpenCut-Setup-1.25.1.exe — handles server, FFmpeg, CEP extension, registry, and optional model downloads. No Python required.

Server tarballs (built + attached by CI on tag push):

  • OpenCut-Server-Windows.tar.gz
  • OpenCut-Server-macOS.tar.gz
  • OpenCut-Server-Linux.tar.gz

Docker: docker-compose up (CPU) or docker-compose -f docker-compose.gpu.yml up (GPU).

Route surface

No new routes in v1.25.1. Total still 1,275 routes across 89 blueprints. Full Wave H feature set from v1.25.0 remains available. Next planned release is v1.26.0 (Wave I — panel polish + agentic script-to-sequence); full roadmap at ROADMAP-NEXT.md.