Skip to content

tidalamp 0.4.0

Choose a tag to compare

@wh01s17 wh01s17 released this 10 Sep 21:32
· 92 commits to main since this release

A release of details: the queue gains two keys and the bars answer to the mouse, the
Year column stops coming back empty, and the four layouts agree on their edges. Nothing
about playback changes.

Added

  • g goes back to the track that is playing. With hundreds of tracks in the queue
    you wander off to the end of the list and lose sight of it. If the queue's search is
    what is hiding it, g clears the filter first and then lands on it. Rebindable as
    to_playing.

  • p saves the queue as a TIDAL playlist. It asks for a name and creates it with the
    tracks in queue order, not in shuffle order: what is saved is the list, not the
    listening session. It goes in batches of 100, and a playlist that fails halfway is
    kept rather than deleted behind your back — the message says how many tracks made
    it, because deleting what did arrive loses more work than it fixes. Rebindable as
    save_playlist.

  • The bars answer to a click. The seek bar jumps to the point clicked; volume and
    balance take that value, and the exact centre of the balance gives zero. Dragging, no
    — click only.

Fixed

  • The Year column was always empty. It was not those records missing a date in TIDAL:
    the album nested inside a track in a listing carries an id, a title and a cover, and no
    release date. Measured on a real queue: 100 entries, 15 albums, 0 years. It is now
    asked for separately, once per album rather than once per track — those 100 tracks
    cost 15 requests — in the background, and only when the column is on. A queue saved
    before this version cannot be filled in, because it did not record which album each
    track belonged to; it fixes itself on the next reload.

  • TIDAL's 429 rate limits gave up on the first attempt. tidalapi turns that HTTP
    error into an exception of its own that does not inherit from requests.HTTPError, so
    the one status the retry helper was written for was the one it never caught. It now
    waits the Retry-After the response carries, and if that is too long it says so
    rather than leaving the interface looking frozen.

Changed

  • The track's identity moves under the clock. The marquee carried the number, the
    artist, the title and the length on one line while five rows sat empty under the
    clock. Now the top carries only the number and the title, and the artist, the album,
    the year and the length take that column.

  • The four layouts agree on their edges. The queue's heading row was measured with a
    number written by hand in each one and each stopped short of the right edge by a
    different amount; in quattro it was not measured at all. The document windows — help,
    About, the lyrics, the settings — took 85% of the screen, which on a large terminal is
    a box two thirds empty with its text against the left edge; each is now capped at what
    its longest line actually needs. And in quattro the wordmark is centred, because
    left-aligned it landed directly on top of the cover.

Install or upgrade

pipx install "tidalamp[art]"   # new install
pipx upgrade tidalamp          # upgrade

mpv is a system package and is required; cava is optional and is what turns the
analyzer into a real FFT. Per-distribution commands are in the
README.

Full changelog:
CHANGELOG.md
· v0.3.0...v0.4.0