v0.3.0 — Native Rust port Phase 1
Ports the first batch of pipeline operations from bash-script subprocesses to
native Rust process spawning, plus several GUI fixes found during testing.
Native Rust port (no longer shells out to vhs-cli scripts)
- QTGMC, IVTC, IVTC+Decomb, Field Align, VDecimate — deinterlace/telecine ops
now spawnvspipe/ffmpegdirectly instead of via bash wrapper scripts - A/V-sync correction ("Fix A/V Sync") — native ffprobe/ffmpeg drift
correction, replacingvhs_fix_sync.sh - Exit-code-based failure detection for these ops (previously success was
only inferred from output-file existence)
New
- About window (ℹ button) — shows version, git commit, build profile, and
the actual running executable path, to make it obvious which build is
loaded - IVTC+Decomb and Field Align now have GUI buttons (previously CLI-only)
Fixed
- Upscale preview panel showed a hardcoded "Upscaled 4×" label regardless
of the actual model's scale - Upscale preview images were misaligned vertically between the
original/upscaled columns - The file-actions panel (including the Rename button) disappeared after a
successful rename or a completed job, requiring you to re-click the file
in the sidebar before you could act on it again - Rename suggestions silently echoed back the current filename unchanged
for tape titles with no internal "TYPE-TITLE" dash pattern, which made
accepting the suggestion fail with a false "already exists" - Closing the GUI while a job (upscale, QTGMC, etc.) or capture was running
left its child processes orphaned; the GUI now sends SIGINT to clean
them up on exit, same as the Cancel/Stop buttons
Requirements
This is a dynamically-linked build against this system's mpv/ffmpeg
libraries (libmpv.so.2 and its full codec stack) — not a portable static
binary. It's expected to run on a comparably provisioned Debian/Ubuntu
system with libmpv2 installed; other distros may need to build from
source. A handful of operations (Denoise, Viewer Encode, Upscale) still
shell out to scripts from the sibling
vhs-cli repo — clone it to
~/Videos/vhs-cli alongside this to use those.
Install
tar xzf vhs-gui-v0.3.0-linux-x86_64.tar.gz
cd vhs-gui-v0.3.0-linux-x86_64
./install.sh