Repository navigation
PlayStatus 3.1.0 (Build 34)
PlayStatus 3.1.0
The largest release since the SwiftUI relaunch. PlayStatus now remembers what you played, scrobbles it to Last.fm, can be driven from Shortcuts and Spotlight, puts transport buttons in the menu bar itself — and the player and Settings have both been rebuilt.
Play history
A third tab beside Lyrics and Credits, in both the regular and mini player.
- One row per track, most recently played first. A track you've played repeatedly shows a
×Ncount instead of filling the list with duplicates. - Tracks you skipped early are recorded too, marked with a skip glyph.
- Click a row to play it again. Next then walks up the list — the tracks you played after it — and returns to your library once it runs out.
- Right-click a row to copy it, open it in Music or Spotify, or remove it.
- Turn history on or off, include or exclude skips, set a retention limit, or clear it entirely in
Settings → General. - Stored on this Mac only. Never uploaded.
Last.fm scrobbling
Connect an account in Settings → Scrobbling.
- Sign-in happens on Last.fm's own site in your browser — your password is never entered into PlayStatus, and the session key lives in the macOS Keychain.
- A track scrobbles once you've heard half of it or four minutes, whichever comes first — the same rule Last.fm's own clients use.
- Scrobbles are sent the moment they're earned, not when the track ends, so quitting mid-track doesn't lose a play.
- Your profile shows what's playing right now, if you leave "now playing" updates on.
- Offline? Plays queue up locally and go out when Last.fm is reachable again. Nothing is lost.
- Scrobble from Music and Spotify independently, ignore tracks under a chosen length, or pause scrobbling without disconnecting.
Shortcuts, Spotlight, and URL commands
PlayStatus can now be driven from Shortcuts, Spotlight, Raycast, Alfred, Stream Deck, or a shell script. Nothing needs enabling first, and none of it brings the app to the foreground.
These actions appear under PlayStatus in Shortcuts.app:
- Play or Pause
- Next Track and Previous Track
- Toggle Shuffle — returns whether shuffle is now on
- Cycle Repeat Mode — returns the new repeat mode
- Toggle Favorite — returns whether the track is now favorited
- Set Output Volume
- Show or Hide Player
- Get Current Track — returns title, artist, album, source, duration, playing state, and artwork
- Get Recently Played — returns recent tracks, newest first
Get Current Track and Get Recently Played hand back artwork as a file, so it flows straight into other Shortcuts actions. Spotlight recognises spoken phrases for the common ones — "What's playing in PlayStatus", "Next track in PlayStatus".
There's also a URL scheme:
playstatus://playpause playstatus://shuffle
playstatus://next playstatus://repeat
playstatus://previous playstatus://volume?level=35
playstatus://favorite playstatus://seek?seconds=90
playstatus://toggle
Playback controls in the menu bar
Optional previous / play-pause / next buttons beside the track title, so you can skip a song without opening anything. Turn them on in Settings → Menu Bar.
They're drawn to match the menu bar rather than fight it — light ink over a dark bar, dark ink over a light one — with the same hover chip and press feel as the buttons inside the player.
The player, redesigned
One surface instead of two competing ones.
- Everything lines up now. The title starts level with the top of the artwork and the volume row sits on its baseline. Previously the title floated 14pt low and the artwork overhung the controls by 23pt.
- Clear typographic hierarchy — the title outranks artist and album by two full steps.
- Only the play button wears a shape. Everything else is a bare glyph that lights up on hover.
- The album tints the room rather than painting it — colour is present without swamping the text.
- New tracks cross over instead of swapping in place: outgoing lines rise and fade as the new ones arrive from below, on the same beat as the artwork.
- A real idle state. When nothing is playing you no longer get five dimmed controls that do nothing — you get a straight answer and the one action worth taking (start playing, or launch the player app).
- Mini player progress at rest: a slim line under the title while the pointer is away, optionally tinted with the album colour. Hovering still brings up the full scrubber.
Keyboard control
With the player in front of you, keys finally do something — including the one everybody tries first.
Space— play or pause←→— seek back or forward 10 seconds⌥←⌥→— previous or next track↑↓— volume, in 5% stepsLCH— lyrics, credits, historyM— switch between the full and mini layouts⌘F— searchesc— dismisses search first, then the player
Typing in the search field always wins — every key goes to the field until you leave it.
Settings, rebuilt
- Nine focused panes in three groups — Look, Behavior, App — replacing the previous five catch-all tabs.
- A searchable sidebar that also matches the names settings had before they moved, so nothing goes missing.
- The window no longer resizes as you switch tabs. Every pane shares one frame.
- Every row is a card with a plain-language caption instead of a bare toggle.
- A live menu bar preview at the top of the Menu Bar pane.
- A printed key guide for the in-player shortcuts above.
Also improved
- Covers for streaming tracks. Music reports no embedded artwork for streamed songs, leaving the card blank. PlayStatus now finds a replacement cover automatically.
- Smoother, cheaper progress. The playback position ticks in isolation instead of re-rendering the whole player twice a second.
- Faster reactions to the player. PlayStatus now listens to what Music and Spotify announce on every change, so it needs far fewer round trips to the player app.
- A gentler resume. Playback can ease back up to your chosen volume instead of starting at full blast.
- Calmer lyrics loading — a two-stage route card that says what it's actually doing, in both the regular and mini panes, rather than an anonymous spinner.
Fixed
- The control capsule now hides properly. With the lyrics or credits pane open it used to linger at partial opacity, leaving chrome sitting over the artwork.
- Search no longer changes your playback modes. Using search silently forced shuffle on and repeat to all, every time.
escno longer closes everything mid-search. It now unwinds one level at a time.⌘Fworks on a player you've merely opened, without clicking into it first.- Media cache fix: freshly cached lyrics and artwork were often never indexed, so they escaped both the entry cap and the 50 MB size limit — 379 of 784 files were unreachable on a real cache. Orphans are now reclaimed automatically on launch.
- Menu bar glyphs pick up the right colour over bright wallpapers instead of coming out black.
- Stability: surface metrics are rounded to whole points to address a layout feedback loop that could crash the app while switching player modes.
- Track details no longer get overwritten with blanks when a player reports a field it doesn't actually know.
Privacy
- Play history is stored on this Mac and never uploaded. It holds up to 5,000 plays and can be cleared at any time.
- Nothing is sent to Last.fm unless you connect an account. Scrobbling sends the track title, artist, album, duration, and play start time — the same fields any scrobbler sends.
- Your Last.fm session key is stored in the macOS Keychain, never in preferences. Disconnecting deletes it.
- Replaying from history stages a playlist named
PlayStatus Queuein your Music library, reused and overwritten each time.
Requires macOS 15 or later. Works with Apple Music and Spotify.