# roadamp 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 mobile-first web interface. ## Features - 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 track and position after restart - PWA — install as a standalone app on phone/tablet ## Stack - **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 ```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 as needed: ```yaml 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`.