Skip to content

v0.8.0 — loop modes

Choose a tag to compare

@binlecode binlecode released this 11 Sep 14:15
· 160 commits to main since this release

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's loop-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 sequential is a usage error that
    names --queue -.
  • --status -j carries loop per player.
  • uting gets r — off / seq / one — the eleventh preference key, written back to your config.
    seq builds 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).