Skip to content

vtamp v0.4.2

Choose a tag to compare

@rath rath released this 05 Oct 11:33
· 76 commits to main since this release

Changes since v0.4.1. Custom JSON themes join the existing palettes, file
playback gains automatic loudness normalization, and import retries keep their
source titles.

Added

  • Automatic per-file loudness normalization to −18 LUFS, with true-peak headroom
    and bounded amplification. Background measurements are cached without modifying
    music; playback never waits and new results apply on the next playback.
  • normalize [on|off] reads or saves the server preference, analysis progress and
    current gain. Device playback and casts share the correction; relays do not
    apply it twice. Radio remains unchanged. Protocol 11 and database 7 preserve
    existing Library identities, queues, and session settings.
  • Custom JSON palettes in the client data directory's themes/ folder, with
    the existing t preview/save/cancel controls and --theme overrides. New
    themes need no code changes or rebuild; reattach after editing files.
  • vtamp theme install FILE... [--replace] validates and installs palettes
    without changing the saved default or starting the server. Invalid files
    produce diagnostics while other choices remain available.
  • Sixteen optional Pastel examples in themes/pastel/, preserving the names
    and colors from pastel-sketchbook's contribution.
    Install them with vtamp theme install themes/pastel/*.json from a checkout
    or extracted release archive. Homebrew installs the examples under its
    package share directory. They are not enabled automatically.

Fixed

  • Retried YouTube imports preserve their source titles instead of becoming
    YouTube import. Startup repairs historical placeholder titles using
    retained source/history data or the URL while preserving other job data.

Upgrade notes

  • Protocol is 11 and database version is 7. Upgrading from v0.4.1
    transactionally adds loudness storage while preserving Library identities,
    Queue, and session settings. Clients and servers must use the same protocol.
  • Before replacing an older protocol-10 binary, stop its server with that
    matching installed binary: vtamp server stop. Then run
    brew update && brew upgrade vtamp and attach again. The saved session is
    restored paused; installing a binary never replaces a running server.
  • Custom themes are client-local. Once client/server protocols match, selecting
    or editing a theme only needs a new attachment, not a server restart.
    Older clients cannot resolve a saved custom theme ID.
  • Prebuilt downloads cover Apple Silicon macOS and ARM64 Linux tested on
    Ubuntu 24.04 (glibc 2.39+). Intel Macs and other Linux architectures build
    from source. Release archives include theme documentation and Pastel examples.

Install

Apple Silicon macOS:

brew install rath/tap/vtamp

Existing users: follow the upgrade notes above before running
brew update && brew upgrade vtamp.

Install the optional Pastel examples from a Homebrew installation:

vtamp theme install "$(brew --prefix vtamp)/share/vtamp/themes/pastel/"*.json
vtamp --theme pastel-default

ARM64 Linux (Ubuntu 24.04 or newer, glibc 2.39+):

curl -LO https://github.com/rath/vtamp/releases/download/v0.4.2/vtamp-aarch64-unknown-linux-gnu.tar.gz
curl -LO https://github.com/rath/vtamp/releases/download/v0.4.2/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/vtamp

Or build from source with Rust 1.90+, a C compiler, and cmake:

git clone --branch v0.4.2 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, documentation, and Pastel examples
vtamp-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux headless binary, license, documentation, and Pastel examples
SHA256SUMS SHA-256 checksums of both archives

Homebrew verifies its download automatically. On macOS, verify archives with
shasum -a 256 -c --ignore-missing SHA256SUMS.

Full changelog: v0.4.1...v0.4.2