Web-based Winamp controller for CarPC � Go backend, mobile-first UI
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
Jan Svabenik a55b5a56ea style(ui): enlarge volume +/- buttons (18->30px) and volume %% (11->14px) vor 1 Monat
.claude feat: initial project scaffold vor 1 Monat
internal feat(rating): in-place POPM patching, fall back to rewrite only when needed vor 1 Monat
web style(ui): enlarge volume +/- buttons (18->30px) and volume %% (11->14px) vor 1 Monat
.gitignore feat(rating): in-place POPM patching, fall back to rewrite only when needed vor 1 Monat
README.md docs: rewrite README — fix port (8889), remove mojibake, add feature list vor 1 Monat
build.ps1 fix: bust PWA cache on each release build vor 1 Monat
config.yaml.example configurable bind address + default port 8889 vor 1 Monat
go.mod feat: ID3 star rating (POPM) — display and set via tap vor 1 Monat
go.sum feat: ID3 star rating (POPM) — display and set via tap vor 1 Monat

README.md

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

# Build
.\build.ps1          # produces roadamp.exe in the project directory

# Run (Winamp must already be running)
.\roadamp.exe
# Open http://<host>:8889 on your tablet or phone

Configuration

Copy config.yaml.example to config.yaml and adjust as needed:

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.