From 52e3df40996db26b0e958f3fd6f48d034cb58e29 Mon Sep 17 00:00:00 2001 From: Jan Svabenik Date: Tue, 26 May 2026 11:56:59 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20rewrite=20README=20=E2=80=94=20fix=20po?= =?UTF-8?q?rt=20(8889),=20remove=20mojibake,=20add=20feature=20list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- README.md | 56 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index f10b663..d15a826 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,57 @@ -# roadamp 🚗🎵 +# roadamp -Web-based Winamp controller for CarPC setups — optimized for tablets and phones. +Web-based Winamp controller for CarPC setups — optimised for tablets and phones. -A modern rebuild of a classic Delphi CarPC project, written in Go with a responsive web interface. +A modern rebuild of a classic Delphi CarPC project, written in Go with a mobile-first web interface. ## Features -- Play / Pause / Stop -- Next / Previous Track -- Seek ±15s / ±120s (with auto-mute during seek) -- Master volume control -- Track progress display +- Play / Pause / Stop / Next / Previous +- Seek +-15 s / +-2 min, click-to-seek progress bar +- System master volume (Windows Core Audio) + mute +- Real-time audio spectrum visualisation (WASAPI loopback) +- Playlist browser — tap any track to jump directly - KillList — auto-skip unwanted tracks -- Resume — restores position after restart +- Resume — restores track and position after restart +- PWA — install as a standalone app on phone/tablet ## Stack -- **Backend:** Go (HTTP server + Winamp IPC via Windows messages) -- **Frontend:** Vanilla JS / HTML / CSS — no framework, mobile-first +- **Backend:** Go, Windows-only (Winamp IPC via WM_USER/WM_COMMAND, WASAPI loopback, Core Audio COM) +- **Frontend:** Vanilla JS / HTML / CSS — no framework, no build step +- **Transport:** WebSocket (real-time status + spectrum), REST (curl/debug) ## Getting Started -```bash -go build ./cmd/roadamp -./roadamp.exe -# Open http://localhost:8080 on your tablet/phone +```powershell +# Build +.\build.ps1 # produces roadamp.exe in the project directory + +# Run (Winamp must already be running) +.\roadamp.exe +# Open http://:8889 on your tablet or phone ``` ## Configuration -Copy `config.yaml.example` to `config.yaml` and adjust: +Copy `config.yaml.example` to `config.yaml` and adjust as needed: ```yaml -port: 8080 -winamp_path: "C:\\Program Files\\Winamp\\Winamp.exe" +host: "0.0.0.0" # bind address; 127.0.0.1 = localhost only +port: 8889 + +# Only needed if you want roadamp to launch Winamp for you: +# winamp_path: "C:\\Program Files\\Winamp\\Winamp.exe" ``` + +## Deployment + +Three files are all you need: + +| File | Notes | +|---|---| +| `roadamp.exe` | built with `.\build.ps1` | +| `config.yaml` | copied from `config.yaml.example` | +| `winamp\` | optional — only if roadamp should start Winamp | + +The web frontend is embedded in the binary via `go:embed`.