Web-based Winamp controller for CarPC � Go backend, mobile-first UI
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jan Svabenik a55b5a56ea style(ui): enlarge volume +/- buttons (18->30px) and volume %% (11->14px) 1 maand geleden
.claude feat: initial project scaffold 1 maand geleden
internal feat(rating): in-place POPM patching, fall back to rewrite only when needed 1 maand geleden
web style(ui): enlarge volume +/- buttons (18->30px) and volume %% (11->14px) 1 maand geleden
.gitignore feat(rating): in-place POPM patching, fall back to rewrite only when needed 1 maand geleden
README.md docs: rewrite README — fix port (8889), remove mojibake, add feature list 1 maand geleden
build.ps1 fix: bust PWA cache on each release build 1 maand geleden
config.yaml.example configurable bind address + default port 8889 1 maand geleden
go.mod feat: ID3 star rating (POPM) — display and set via tap 1 maand geleden
go.sum feat: ID3 star rating (POPM) — display and set via tap 1 maand geleden

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.