Skip to content

v0.5.2 — Import controls and video fixes

Choose a tag to compare

@rath rath released this 11 Oct 20:13
· 17 commits to main since this release

YouTube excerpts keep audio and video in sync, and the iPhone Import screen
adds a video choice and paginated history. Terminal video uses less copying,
and live radio gains a spectrum on macOS 27.

Added

  • The TUI spectrum works for live radio when the server runs macOS 27 or newer.
    An MTAudioProcessingTap on the mix of the native player item copies the
    decoded station audio into the same analysis as files, before volume; the
    sound is unchanged. Older systems cannot tap HTTP Live Streaming audio, so the
    panel names the requirement instead of an unexplained empty graph.
  • Spectrum frames may carry an unavailable reason. The field is additive
    within protocol 14.
  • imports_page provides cursor-based import history with a separate snapshot
    of all active jobs. The HTTP server advertises imports_pagination; the
    iPhone app loads 20 entries at a time and supports older protocol-14 servers.
  • The iPhone Import screen offers Save video (up to 480p) for individual
    videos, excerpts, and playlists. The choice defaults to off and resets after
    a successful submission; failed submissions preserve the draft.

Changed

  • The Import URL field uses a neutral placeholder and the standard iOS paste
    menu, with no separate Paste button.
  • Kitty file transport reuses RGB frame buffers and writes RGB files directly,
    avoiding an RGBA conversion and reducing temporary frame-file size.

Fixed

  • Video excerpts now encode the requested interval to H.264 with a zero-based
    clock, keeping the picture aligned with the audio instead of retaining
    keyframe preroll. Full-video imports still preserve the source codec.
  • Explicitly re-importing an older excerpt with video repairs its timing and
    stale audio chapters while preserving track IDs, metadata overrides, and Queue
    entries. Failed repairs leave the existing media available.
  • Returning to iPhone video playback holds the last picture while decoding
    catches up to the audio, preventing a burst of old frames and preserving
    full-screen orientation.

Upgrade notes

  • Protocol remains 14, database version 9, and archive format 2.
    The API additions are backward compatible; no database migration is needed
    when upgrading from v0.5.1.
  • Restart the server with the new binary when convenient to enable cursor
    paging, corrected excerpt imports, and the radio spectrum, then reattach TUIs.
    Installing a new binary does not replace a running server.
  • Accurate video excerpts require FFmpeg with libx264. Existing excerpts are
    repaired only by an explicit re-import with video, never at startup.
  • Radio spectrum requires macOS 27 or newer. Linux remains headless-only, with
    ARM64 release builds tested on Ubuntu 24.04 (glibc 2.39+).
  • The iPhone app is built separately from ios/ and is not a release asset.

Install

brew install rath/tap/vtamp
# Existing installations:
brew update && brew upgrade vtamp

Restart the server when convenient to use the new server features (vtamp server stop, then start it again with your usual options), and reattach terminal
clients. Upgrading does not replace the running process.

Or download the archive for your platform below. Verify it against SHA256SUMS
with shasum -a 256 -c --ignore-missing SHA256SUMS on macOS or
sha256sum --check --ignore-missing SHA256SUMS on Linux.

Both archives include the host binary, documentation, themes, Hello Panel,
and a prebuilt Pastel Transcript plugin. Examples are opt-in and are not
registered automatically. Python 3 is required only for Hello Panel.
The iPhone app is built from source; see
ios/README.md.

Full changelog: v0.5.1...v0.5.2