Skip to content

Releases: RyanEiri/vhs-gui

v0.3.0 — Native Rust port Phase 1

Choose a tag to compare

@RyanEiri RyanEiri released this 10 Jul 23:36

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 spawn vspipe/ffmpeg directly instead of via bash wrapper scripts
  • A/V-sync correction ("Fix A/V Sync") — native ffprobe/ffmpeg drift
    correction, replacing vhs_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