Repository navigation
vtamp 0.4.0
Changes since v0.3.0. Optional YouTube video now plays inside the terminal, with
pane-local fullscreen, lower graphics overhead, and stable seeking and input.
Added
- Optional YouTube video downloads up to 480p. The TUI asks for Audio only or
Audio + video for each import; the CLI acceptslibrary add URL --video.
Existing audio imports can gain video without changing track identity or
Queue. Failed or cancelled video downloads preserve successfully imported audio. - Terminal video playback on macOS with installed FFmpeg/FFprobe and Kitty or
Sixel graphics. Video follows the server's audio;wtoggles video/cover,
andFfills the current terminal pane with elapsed / total time below.
For Esc returns. Audio keeps playing when the TUI detaches. - Video defaults to 15 fps;
VTAMP_VIDEO_FPS=8reduces terminal CPU usage.
Kitty uploads use capability-detected compression and terminal-side scaling,
including fullscreen. Frame buffers and image IDs remain bounded. - Spectrum styles.
Vswitches the visible spectrum betweenbars,gradient,
mono,mirror,dots, andwaterfall; the status row names the new style
andui.jsonremembers it asspectrum_style(older files default tobars).
Every style uses the active theme's colors. The waterfall scrolls one row per
analysis frame, freezes while paused, and resets on a track change. - Deleting managed YouTube downloads:
din Library opens a confirmation, and
vtamp library delete TRACK_IDremoves the audio, video, cover, source metadata,
and catalog entry. Local originals and tracks in Queue or playback are refused.
Fixed
- Pasted YouTube playlist URLs open the playlist preview instead of importing
only the selected video. - Idle or paused spectrum streams stay connected without repeated reconnects.
- Video fullscreen exits cleanly on track transitions, and seeks retain the
last displayed frame until the target is ready instead of flashing the cover. - Text input cursors stay at the field during video redraws, including Kitty
passthrough through tmux to Ghostty. - Relay mode spectrum frames now carry the remote's
current_id, so an attached
TUI shows the spectrum of the audio the relay plays instead of dropping every
frame.
Upgrade notes
- Protocol is 9; database version remains 6, so upgrading from v0.3.0
needs no database migration. Clients and servers must use the same protocol. - Before upgrading v0.3.0, stop its server with the matching installed binary:
vtamp server stop. Then runbrew update && brew upgrade vtamp(or replace
the binary) and start vtamp again. The saved session is restored paused.
Installing or rebuilding does not replace a running server. - Video is optional and requires installed
yt-dlp, FFmpeg, and FFprobe for
imports; tools are detected at runtime and are not installed automatically.
Playback is local to the macOS TUI. Linux remains a headless server without
device playback, relay, media keys, radio, or terminal video. - Prebuilt downloads cover Apple Silicon macOS and ARM64 Linux with glibc 2.39+
(tested on Ubuntu 24.04). Intel Macs and other Linux architectures build from source.
Install
Apple Silicon macOS:
brew install rath/tap/vtampFor existing v0.3.0 installs, stop the old server before upgrading:
vtamp server stop
brew update && brew upgrade vtamp
vtampARM64 Linux (Ubuntu 24.04 or newer, glibc 2.39+):
curl -LO https://github.com/rath/vtamp/releases/download/v0.4.0/vtamp-aarch64-unknown-linux-gnu.tar.gz
curl -LO https://github.com/rath/vtamp/releases/download/v0.4.0/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
tar -xzf vtamp-aarch64-unknown-linux-gnu.tar.gz
install -D -m 755 vtamp-aarch64-unknown-linux-gnu/vtamp ~/.local/bin/vtampOr build from source with Rust 1.90+, a C compiler, and cmake:
git clone --branch v0.4.0 https://github.com/rath/vtamp.git
cd vtamp
cargo install --locked --path .Assets
| File | Contents |
|---|---|
vtamp-aarch64-apple-darwin.tar.gz |
Ad-hoc signed Apple Silicon macOS binary, LICENSE, README, and changelog |
vtamp-aarch64-unknown-linux-gnu.tar.gz |
ARM64 Linux headless server, LICENSE, README, and changelog |
SHA256SUMS |
SHA-256 checksums of both archives |
On macOS, verify the downloaded archive with shasum -a 256 -c --ignore-missing SHA256SUMS. Homebrew verifies its download automatically.
Full changelog: v0.3.0...v0.4.0