72485d44ffed77c01efaf6a4eb4a26e1861a71e9
Splits the release workflow into linux, windows and macos jobs feeding a single publish job. The publish step is separate so parallel builds cannot race to create the release and fail on a duplicate tag. Windows now builds natively, so signAndEditExecutable no longer has to be disabled. That flag was suppressing rcedit, which is what embeds the icon and version resources -- the v1.0.0 exe shipped with the stock Electron icon as a result. Also adds an NSIS installer alongside the portable zip. macOS gains a dmg target, which cannot be produced off macOS. Builds stay unsigned pending a Developer ID, with CSC_IDENTITY_AUTO_DISCOVERY disabled so electron-builder builds unsigned instead of failing on a real Mac. Nothing cross-builds now; all three runners must be registered before tagging, since a job with no matching runner queues silently. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
What's That Music
A desktop app that plays YouTube Music and serves a now-playing overlay for OBS.
The app is a single Electron window that loads music.youtube.com. It also runs a small HTTP/WebSocket server on localhost:9095 that streams the current track to any connected overlay client. Point OBS (or any browser) at http://localhost:9095/ to see the overlay.
Run from source
cd desktop-client
npm install
npm start
The app opens. Sign in to YouTube Music. Play a track. Visit http://localhost:9095/ in another browser to see the overlay.
Build a Windows zip
cd desktop-client
npm run build -- --win zip --x64
Output: desktop-client/dist/WhatsThatMusic-<version>-win.zip. Unzip on a Windows machine and run WhatsThatMusic.exe. The app is unsigned, so SmartScreen will warn on first launch — click "More info → Run anyway."
OBS setup
- Add a Browser Source.
- URL:
http://localhost:9095/. - Width / height: match your scene (the overlay positions itself absolutely; 1920x1080 is fine).
- Make sure the app is running before OBS loads the source.
Tests
cd desktop-client
npm test
Runs the node:test unit suite (desktop-client/tests/).
Layout
desktop-client/— the Electron app (main entry, server module, preload scraper, tray).overlay/— static HTML + JS the bundled server serves at/.docs/superpowers/— design and plan documents.