Update README for single-app architecture
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user