Update README for single-app architecture

This commit is contained in:
2026-04-26 10:38:13 -07:00
parent ac255bfa75
commit 0474f51f03
+46
View File
@@ -0,0 +1,46 @@
# 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
1. Add a *Browser Source*.
2. URL: `http://localhost:9095/`.
3. Width / height: match your scene (the overlay positions itself absolutely; 1920x1080 is fine).
4. 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.