You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Check out this Twitter thread for an illustrated list of features. Works in modern versions of Edge, Firefox, Safari and Chrome. IE is not supported.
Read the docs
The Webamp Documentation site contains detailed instructions showing how to add Webamp to your site and customize it to meet your needs.
About This Repository
Webamp uses a monorepo approach, so in addition to the Webamp NPM module, this repository contains code for a few closely related projects and some pieces of Webamp which are published as standalone modules:
Winamp Community Update Pack - "New plug-ins to add additional features to Winamp as well as replacement plug-ins to provide better implementations of some of the plug-ins natively included with Winamp". (Forum / Discord server)
In the Wild
An incomplete list of websites using Webamp:
Internet Archive - The Internet Archive lets you preview winamp skins and listen to audio tracks using Webamp
Winampify.io - An online Spotify client using Webamp
Thank you to Justin Frankel and everyone at Nullsoft
for Winamp which inspired so many of us.
License
While the Winamp name, interface, and, sample audio file are surely property of
Nullsoft, the code within this project is released under the MIT
License. That being said, if you do anything interesting with
this code, please let me know. I'd love to see it.
Development
This repository uses Turborepo for efficient monorepo management. Turborepo provides intelligent caching and parallel execution of tasks across all packages.
Quick Start
# Install dependencies
pnpm install
# Build all packages (automatically handles dependencies)
npx turbo build
# Build library bundles for packages that need them
npx turbo build-library
# Run all tests
npx turbo test# Lint and type-check all packages
npx turbo lint type-check
# Work on a specific package and its dependencies
npx turbo dev --filter="webamp"
Package Dependencies
The monorepo dependency graph is automatically managed by Turborepo:
ani-cursor and winamp-eqf are standalone packages built with TypeScript
webamp depends on both ani-cursor and winamp-eqf for workspace linking
All packages are built in the correct topological order
Builds are cached and only rebuild what has changed
Available Tasks
build - Main build output (Vite for demos, TypeScript compilation for libraries)
build-library - Library bundles for NPM publishing (only applies to webamp)
test - Run unit tests with Jest
type-check - TypeScript type checking without emitting files
lint - ESLint code quality checks
dev - Development server (for packages that support it)
For more details on individual packages, see their respective README files.