bester-ytm v1.0.0
First public release.
Added
- DJ-style transitions between tracks: a dual-deck mpv engine prebuffers the
next queued track on a silent second deck and blends it in with an
equal-power crossfade. TUI controls:ttoggles cut/crossfade,[/]
adjust the fade length, and the DECK line becomes a live MIX meter while
two tracks blend. - Browser-header login as the default (
auth login): paste request headers
from a logged-in music.youtube.com tab — no Google Cloud setup needed.
The Google OAuth device flow remains available viaauth login --oauth. - Playlist building from prose briefs: describe the playlist in plain words
and the configured AI provider (Codex CLI, any OpenAI-compatible endpoint,
Anthropic API, or an offline heuristic) proposes the tracks and names the
playlist — an explicit "save it as X" in the brief is honored verbatim. - Finished builds become named local playlists and load into the queue
without interrupting the playing track. - Track removal from both local and YouTube playlists, local playlist
deletion, and YouTube playlist deletion with a confirming second press. - Audio-reactive visualizers (Mythos, Bars, Wave, Pulse, Scope) driven by
live mpv loudness, draggable pane splitters with persistent layout, and
per-track ratings and tags. - Transition, volume, layout, builder, and AI provider configuration in
~/.config/bester-ytm/config.toml;--transition/--fadeflags on
play playlist; aconfig showcommand. - Documentation site (MkDocs Material) deployed to GitHub Pages, MIT
license, changelog, architecture documentation, and continuous
integration (lint, type check, 80% coverage gate, release consistency).