Case study
Webamp: a browser reimplementation of Winamp 2
Reimplements Winamp 2's main, equalizer and playlist windows in HTML5 and JavaScript, with Web Audio playback, volume, balance and equalizer, and renders original classic .wsz skins, which its documentation says match Winamp 2.9 pixel for pixel; Milkdrop presets run through the Butterchurn WebGL port. It ships as the webamp npm module for embedding in web pages, and the same monorepo runs webamp.org and the skins.webamp.org skin museum. Its webamp-modern prototype targets Winamp 3/5 modern skins with an interpreter for MAKI skin scripts, whose undocumented bytecode format the author reverse engineered and documents in the repository.
Requirements & limits
- Release at review: webamp 2.3.1 on npm, published 2026-06-16; the reviewed master commit (2026-10-17) adds unreleased accessibility and API changes listed in the changelog. The README says it works in modern Edge, Firefox, Safari and Chrome. It reimplements Winamp's behavior and skin rendering rather than recovering Winamp's code, and webamp-modern remains a prototype with an open list of unimplemented MAKI and skin features.
- No original Winamp installation is needed: Webamp bundles a default skin and sample track, and users can load their own Winamp 2 .wsz skins, audio files, Milkdrop presets and .eqf equalizer presets. Skins and audio fetched from another domain must be served with CORS permission, because Webamp reads their contents.
- Development uses pnpm and Turborepo; .nvmrc names Node.js 22 and CI uses Node.js 20 to build every package, lint, type-check and run the Jest tests. These test Webamp's own parsing and rendering, not equivalence with Winamp. Compiling webamp-modern's MAKI test scripts calls the bundled Winamp 5.66 mc.exe, directly on Windows or through Wine elsewhere.
- The code is MIT-licensed, and the README says the Winamp name, interface and sample audio file are Nullsoft's property. Bundled files that carry no license of their own: the Nullsoft MAKI compiler builds under packages/webamp-modern/resources/maki_compiler (five mc.exe versions from Winamp 3 alpha 8r to Winamp 5.66, nscrt.dll and the MAKI .mi library headers), the skins named after Winamp defaults (base-2.91, Winamp 3 build 499, Winamp Modern 5.66) and the third-party community skins used for demos and tests, the llama sample MP3 and the Winamp Modern Skins tutorial PDF. The bundled Perl MAKI decompiler is GPL-2.0. The reviewed sources establish no REA or AI use; nothing was built or run.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- App
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · captbaritone/webamp · Revision f01369f
- README.md#L62-L67 GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-docs/docs/05_features/05_skins.md GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-docs/docs/05_features/03_equalizer.md GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-docs/docs/05_features/02_mikdrop.md GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-docs/docs/07_guides/01_cors.md GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-docs/docs/12_changelog.md GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp/docs/architecture.md GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-modern/README.md GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-modern/src/maki/maki-bytecode.md GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-modern/snowpack-maki-plugin.js GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-modern/resources/maki_compiler GitHub · captbaritone/webamp · Revision f01369f
- packages/webamp-modern/resources/maki_decompiler_1.1/COPYING GitHub · captbaritone/webamp · Revision f01369f
- .github/workflows/ci.yml GitHub · captbaritone/webamp · Revision f01369f
- .nvmrc GitHub · captbaritone/webamp · Revision f01369f
- LICENSE.txt GitHub · captbaritone/webamp · Revision f01369f
- https://registry.npmjs.org/webamp/2.3.1
More in Apps
- JADX-AI-MCP · Integration
- apktool-mcp-server · Integration
- frida-mcp (yfe404) · Integration
- Super Trouper · Integration
- Frida · Tool
- JADX · Tool