explainroo
explainroo is a free, open source tool that lets your AI agent make explainer videos with a voice. It runs on your own computer and needs no API key.
ThUNER is a Swiss army knife for what's playing on a Mac: a menu bar app that takes the track from a turntable, the room, Apple Music, Spotify, a browser or any app, shows the cover on a Tuneshine or
MediaGitHub @idallasOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
ThUNER: a Swiss army knife for what's playing on a Mac. Takes the track from a turntable, the room, Apple Music, Spotify, a browser or any app; sends it to a Tuneshine, any screen, Last.fm or another Mac's speakers
Taken from the repository README
Loading the full README.
Read the full README ↗A Swiss army knife for what's playing on a Mac. It's a menu bar app that takes the track from wherever the music comes from (a turntable, the room, Apple Music, Spotify, a browser or any app) and sends it wherever you want it: the cover to a Tuneshine or any screen, the play to Last.fm or a self-hosted service, what's playing to Shortcuts and your own scripts, and the audio itself to another Mac's speakers.
Download: idallas.com/software/thuner. The download is notarized and keeps itself up to date.
ControlSurface).swift test
Scripts/build-app.sh
This builds build/Thuner.app, signed ad-hoc unless you configure a signing identity.
ShazamKit needs a signed app. Apple only answers ShazamKit queries from an app that meets both of these conditions:
An ad-hoc build runs fine, and Apple Music and Spotify, the Tuneshine, scrobbling, the web display and the API all work. But identifying audio fails with ShazamKit error 102. To build with your own team:
Scripts/config.example.sh to Scripts/config.local.sh. Git ignores the copy.SIGN_IDENTITY to your Developer ID Application certificate.BUNDLE_ID to an App ID in your team that has ShazamKit turned on.Last.fm needs an API key. No key is included in the source. Create one at last.fm/api/account/create and enter it in Settings → Scrobbling. Once it's saved, build-app.sh builds it into your builds, so other Macs only need to approve the app on last.fm.
Updates and stats. Builds made from source never update themselves to official releases: development builds carry a version Sparkle won't replace. They also send no usage stats. If you publish your own builds, change SUFeedURL and SUPublicEDKey in Resources/Info.plist to point at your own appcast and key.
Sources/ThunerCore: pure logic, unit tested. Contains:
Sources/Thuner: the app. Contains:
Scripts: build, release (notarize, Sparkle appcast) and website deploy. The website itself lives in a separate repo.docs: images for this README.CLAUDE.md has the detailed design notes: the Tuneshine API quirks, scrobbling rules and the control API.
When the web display is on, ThUNER serves the following on port 47480:
GET /: the web display.GET /now.json: what's playing.GET /api/controls: every control and its state.GET /api/events: Server-Sent Events.POST /api/controls/<id>: changes a control. The body is {"value": 0-1}, {"press": true} or {"on": bool}.Changing anything needs the token from Settings → Controls, except from scripts on the same Mac. Settings → Display can also limit the server to this Mac only.
See CONTRIBUTING.md. To report a security problem, see SECURITY.md.
MIT; see LICENSE. Third-party licenses are in THIRD_PARTY_NOTICES.md.
The MIT license covers the code, not the name or the icon. "ThUNER" and the ThUNER icon identify this project and the builds published at idallas.com/software/thuner. If you distribute a fork or a modified build, give it its own name and icon. Saying it's based on ThUNER is fine, and appreciated.
ThUNER isn't affiliated with or endorsed by Apple, Shazam, Spotify, Last.fm, ListenBrainz, Web Scrobbler or Tuneshine. Their names are used only to describe what ThUNER works with.
The name comes from an old nickname, after the surname Bethune, and it's a tuner: the bold letters spell TUNER. The h is silent.