No description
Find a file
2018-03-28 22:37:28 -07:00
config Clean up library code 2018-03-25 15:57:00 -07:00
css Ensure empty, selected duration cells still get highlighted 2018-03-19 20:10:29 -07:00
docs Add a minimal example 2018-03-28 22:37:28 -07:00
examples/minimal Add a minimal example 2018-03-28 22:37:28 -07:00
experiments Double image size to improve pixel clarity on resize 2018-03-28 08:28:15 -07:00
images New preview image which shows all windows and new domain 2018-03-16 18:14:08 -07:00
js Don't center windows on resize 2018-03-28 20:26:48 -07:00
mp3 Fix corrupt mp3 2018-02-07 14:50:11 -08:00
skins Dramatically improve handling of cursors 2018-01-24 09:15:47 -08:00
.babelrc Disable code spliting for the UMD build 2018-03-25 15:47:33 -07:00
.eslintignore Skin museum has it's own eslint 2018-03-10 16:02:49 -08:00
.eslintrc Allow keywords in dot notation 2018-03-10 16:02:49 -08:00
.gitignore Ignore the skin museum 2018-03-10 16:02:49 -08:00
.prettierignore Keep prettier and Yarn from fighting over formatting this file 2018-03-16 09:31:52 -07:00
.travis.yml Notify Gitter.im with build info 2018-03-14 21:10:57 -07:00
CHANGELOG.md Spelling is hard. 2018-03-28 21:50:33 -07:00
favicon.ico Add favicon 2014-12-05 19:49:58 -08:00
index.html Open Graph wants a full URL for the image 2018-03-19 20:43:42 -07:00
LICENSE.txt Add a license 2015-01-31 14:53:04 -08:00
package.json Bump version 2018-03-28 21:31:22 -07:00
README.md Move press to docs 2018-03-28 22:07:52 -07:00
skin.html [PWA] (1/2) Add web app manifest 2018-03-14 19:03:20 -07:00
yarn.lock Disable code spliting for the UMD build 2018-03-25 15:47:33 -07:00

Travis Codecov Join the chat at https://gitter.im/winamp2-js/Lobby

Winamp2-js

A reimplementation of Winamp 2.9 in HTML5 and JavaScript.

As seen on TechCrunch, Motherboard, Gizmodo, Hacker News (1, 2, 3), and elsewhere.

Give it a try!

Screenshot of Winamp2-js

Works in modern versions of Edge, Firefox, Safari and Chrome. IE is not supported.

Features

Check out this Twitter thread for an illustrated list of features: https://twitter.com/captbaritone/status/961274714013319168

Use Winamp2-js in your own project

I've tried to make it possible to include Winamp2-js in your own project.

See the usage documentation for more information.

Development

yarn
# Or: npm install
npm start

Open http://localhost:8080/webpack-dev-server/ in your browser.

Building

npm install
npm run build
npm run serve

Open the local ip/port that is output to the console in your browser.

Deploying

Travis runs the build and then pushes the contents of ./built to the gh-pages branch of this repository. GitHub Pages then serve that directory as https://webamp.org. CloudFlare sits in front of GitHub pages to provide the SSL certificate.

In short, deploying should be as simple as pushing a commit to master which builds, lints and passes all tests.

Advanced Usage

There are some "feature flags" which you can manipulate by passing a specially crafted URL hash. Simply supply a JSON blob after the # of the URL to change these settings:

  • skinUrl (string) Url of the default skin to use. Note, this file must be served with the correct Allows Origin header.
  • audioUrl (string) Url of the default audio file to use. Note, this file must be served with the correct Allows Origin header.
  • hideAbout (boolean) Selectively hide the byline and GitHub link at the bottom of the page. Useful for taking screenshots.
  • initialState (object) Override the initial Redux state. Values from this object will be recursively merged into the actual default state.

Note: These are intended mostly as development tools and are subject to change at any time.

Reference

Predecessors

  • Webamp2x An impressive implementation from 2002(!).

  • JsAmp An implementation from 2005 by @twm (via Hacker News).

  • LlamaCloud Comp From 2011 by Lee Martin (via Twitter)

  • Winamp em HTML5 e Javascript In 2010 a developer named Danilo posted one of his HTML5 experiments: "an audio player simulating good old Winamp". You will have to download the zip file.

  • JuicyDrop An HTML5 implementation with less emphasis on being true to the skin, but fully featured visualizations. @cggaurav is keeping it alive on GitHub

  • Spotiamp The folks at Spotify reimplemented Winamp as a frontend for Spotify. Not in a browser, and only runs on Windows.

Thanks

  • Research and feature prototyping: @PAEz
  • Beta feedback, catching many small UI inconsistencies: LuigiHann
  • Beta feedback and insider answers to obscure Winamp questions: Darren Owen

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.