StarPlayrX Is Back: a Native Mac Menu Bar App, Xtra Channels and Version 1.1.1
Today Agent! turned the old code into a native SwiftUI menu bar app for the Mac, finished the reverse engineering for the Xtra music channels I never added, and shipped a signed, notarized 1.1.1 in less than half a day.
Download it: StarPlayrX for Mac 1.1.1 (signed and notarized, Apple silicon and Intel, macOS 13 Ventura or later). The website is starplayrx.com and the source is on GitHub.
Today I had Agent! build a menu bar version for the Mac, and it had a working version in 2 minutes.
Two minutes, with a head start
To be fair, Agent! wasn't starting from nothing. It reused my library that talks to SiriusXM directly, StarPlayrRadioKit, the Swift package with the API layer and the little local HLS streaming server. Apparently it still works.
So the job was a new app around an old engine: a SwiftUI menu bar app with no Dock icon, a channel list, now playing info, and the password kept in the macOS Keychain. The first commit of StarPlayrXMac landed at 12:45 this afternoon.
The 100 Xtra channels I never finished
The Xtra channels are SiriusXM's extra music channels, the ones numbered 1000 and up. I'd started reverse engineering them and never bothered to add them to the app. Agent! saw that I'd started and finished it in another few minutes.
Xtra channels don't behave like the regular ones, so this is where most of the back and forth happened. Channels that weren't playing didn't show what they'd play next. The album art flashed the previous album before the new one. Tuning in played a freshly picked song instead of the one the list was showing you. Each of those was a short checkpoint: I described what I saw, Agent! fixed it, I tried it again.
30 minutes of UI testing
Then I spent about 30 minutes clicking around the app and going over fixes, mostly inside its own APIs: the scroll bar sat too close to the content, scrolling was jerky until the list loaded lazily, and Xtra channels needed to show up when you search for "xtra" or "music".
The longest part was just listening to the music, and working on a new website.
What's in 1.1.1
- Lives in the menu bar (📻), no Dock icon
- Search channels, artists and songs
- Shows what's playing on the current channel and every channel in the list
- Xtra channels (1000 and up), searchable with "xtra" or "music"; tuning in plays the song the list shows
- 1.1.1 fixes switching back to an Xtra channel, so it plays the song the list shows there too
- Play and pause from the keyboard media keys and Control Center
- US and Canada channel lineups
- Built for VoiceOver
- Universal build, signed with Developer ID and notarized by Apple
You still need an active SiriusXM subscription.
Less than half a day
From the first commit at 12:45 to the 1.1.1 commit at 15:41, the git log covers just under three hours. Add the release, the notarization and the new website, and it was still less than half a day to bring a native Mac version to the Mac. No Catalyst, a new feature, and a release.
I wish a founder would take notice, but I imagine everyone on the planet who can build an agent is doing the same thing right now. Still, I feel like my tool is extremely mature, and its CLI versions will catch up.
The one thing it won't reverse engineer
Funny thing: I can reverse engineer almost anything now, except it won't give up the lyrics to Justin Bieber's "Baby", even in a life-or-death situation. You'll have to tune in and listen for those yourself.