v0.8.0 — loop modes
The first tagged release. The suite has been usable for a while; what changed today is that
it is distributable — docs/ROADMAP.md's packaging NO was reversed, so there are now tags and
a tap formula. What ships is the shell scripts, not a binary.
What is in 0.8.0
Loop modes. A track that ends now has three possible sequels, split across the two faces
along the line that decides everything else here — whether the player can verify the claim.
ut-play --loop off|one(launch) and--set-loop off|one(runtime): mpv'sloop-file, and
nothing more. There is deliberately no third value for "play on to the next track": that is a
queue, and a ten-item queue looks the same to the player whether it came from a UI's
sequential mode or from ten presses of--enqueue.--loop sequentialis a usage error that
names--queue -.--status -jcarriesloopper player.utinggetsr— off / seq / one — the eleventh preference key, written back to your config.
seqbuilds the launch as a queue of the rows from the cursor down, so it keeps playing after
the TUI exits. Switching to it mid-playback applies to the next Enter, and says so.
The loop mode lives in the player's record rather than in mpv, because every track in a queue
gets a fresh mpv; it is re-read at the moment the command line is assembled, which is what makes
repeat survive a track boundary.
Install
brew install binlecode/actop/uting
or clone and symlink shell/* onto your PATH — see the README.
Needs yt-dlp, jq, mpv, curl, and a -U-capable nc. Runs on bash 3.2 (macOS stock).