
Winamp2-Js: A Reimplementation of Winamp 2.9 in HTML5 and JavaScript - nfriedly
https://jordaneldredge.com/projects/winamp2-js/
======
magnat
So many minor things work just slightly different than in original that it's
really unsettling to use - song title scrolling, window snapping distance,
mouse wheel volume control, etc.

I guess there is uncanny valley in UX too.

~~~
captbaritone
Would you mind filing issues of any of these things that you noice?
[https://github.com/captbaritone/winamp2-js/issues](https://github.com/captbaritone/winamp2-js/issues)
I'd love to get as close as possible, and some things I just haven't noticed
yet. In other cases, there are technical limitations.

~~~
ttwwmm
The interaction with the equalizer sliders isn't quite right. Once you grab
any slider, you should be able to move the mouse horizontally to affect the
rest (draw the curve you want with the mouse).

I learned JavaScript by implementing a similar project which gets this detail
correct:
[http://freecog.net/2005/jsamp/demo/MainWindow.xhtml](http://freecog.net/2005/jsamp/demo/MainWindow.xhtml)

(It is quite amusing to read the release notes: "SVG features (the equalizer
display) requires Deer Park Alpha 1 or later (Deer Park is the codename for
Firefox 1.1, to be released in September).")

~~~
unkown-unknowns
> Deer Park is the codename for Firefox 1.1, to be released in September

Anyone remember Phoenix 0.1.0? Phoenix became Firebird became Firefox.

~~~
Joeri
I remember it being so amazingly fast compared to the full mozilla suite that
I switched immediately. Looking back it’s truly odd that people thought a
browser needed an email client, news reader and html wysiwyg editor included
by default (and non-removable), but I remember at the time it made complete
sense.

~~~
dispo001
I think it made sense since html email was much like html on the web. Who
knows, maybe in the future people will think it strange that the email reader
had an editor to send mail?

I think it is fair to say that not forcing people to have a web authoring tool
that reminds them _they_ are the author contributed greatly to the new web of
walled gardens.

------
racl101
Ah yes, back when mp3 player applications did one thing and one thing well.

Now we have iTunes.

~~~
camus2
I wish Android phones had something like Itunes. Can you buy an app or music
on the play store then sync that content on with your phone, offline? with
every possible Android device?

~~~
giancarlostoro
I pay for Google All Music Access and it lets me get _any_ song they sell
normally and stream it as well as download it for offline listening. Has
worked wonders for me. The only thing I wish is that my Android phone had the
3 audio buttons I miss from my iPod Classic: play, reset / go back a track,
skip track. At least my steering wheel lets me do it...

~~~
firmgently
This doesn't tick all of those boxes but in case you don't realise - in the
last few versions of Android I've had installed I've been able to set a long
press of the volume up/down hardware buttons to act as next/previous track. I
can currently do it through settings/buttons but not sure how it worked in the
past, it might have been app-specific

------
rocky1138
Is it really bad that I still use Winamp daily? I keep seeing things come up
about how people remember it with nostalgia. I've never found a better music
player which supports so many formats (XM, YM, S3M, MP3, OGG, et al).

~~~
JamesFM
Check out Foobar 2000. I think it’s the best media player ever made.

~~~
daurnimator
I loved Foobar2000 with the ColumnsUI. Since that extension broke back in
~2008 I've never been happy with a music player.

The fact that foobar2000 wasn't open source eventually drove me away.

~~~
yummy
I've been using foobar2000+ColumnsUI since 2009 (or maybe 2008) and it never
broke. I have the most recent foobar2000 and CUI

------
jimmytucson
This brings me back. What would really complete the experience is a collection
of random tracks from different Metallica albums (downloaded off Napster of
course).

~~~
giancarlostoro
Napster redone in HTML5 would be fun to see, or Limewire which outlived
Napster by a number of years.

------
MentallyRetired
Make this work with spotify then publish as an electron app and I'll use it
for sure

------
AdmiralAsshat
Now just release this as an Electron app so those of us on Linux can finally
have Winamp!

~~~
petepete
Does XMMS not work for you? It's available in the AUR so I assume it still
functions. And it'll consume about 0.01% of the RAM an electron app will

[http://www.xmms.org](http://www.xmms.org)

~~~
AdmiralAsshat
I actually have Audacious, which scratches the itch pretty well. A clean-room
implementation of Winamp running on Linux would be more for the novelty than
anything else.

------
fegu
It really kicks the llama's ass. (Did i remember this right?)

~~~
reaktion
close - "it really whips the llama's ass"

~~~
cholantesh
Didn't they change it to "Llama-tested, mother approved" in v5?

------
pmiller2
Lol, I worked with Jordan a while ago. It was really funny when he
"integrated" winamp.js with our product at work for April Fools. :P

~~~
captbaritone
Hey Paul!

------
lewisl9029
On a slightly off-topic note, one thing I've always wanted to build and use is
a web music player that plays and _syncs_ my own music collection.

Unfortunately, there doesn't seem to be a way around the fact that web apps
have no persistent access to the local filesystem, and thus would have to
duplicate any locally stored music in browser-based storage in order to
maintain its own fully synchronized library.

I can understand why this restriction is in place as a security measure, but
it significantly limits the appeal of any web app that performs any kind of
synchronization of files. I sometimes wonder if persistent filesystem access
is really such a huge security risk for web apps that even asking for explicit
permission grants from the user and limiting access to user-specified
directories is not enough to make it an acceptably secure capability for
inclusion in web browsers?

~~~
johannes1234321
People tend to just click "yes" on confirmation dialogs, often really
understanding what the question means. Now combining that with the net, where
ad networks load code from other sources, which load scripts from yet other
networks is a big security nightmare (we can already see how often add
networks carry malware already ...)

Access to a persons files destroys all security.

~~~
lewisl9029
I do understand why browsers would want to disallow unfettered access to the
entire filesystem (and present the opportunity for the user to give too much
access inadvertently), but I still wonder why even something like the non-
standard Filesystem API ([https://developer.mozilla.org/en-
US/docs/Web/API/File_and_Di...](https://developer.mozilla.org/en-
US/docs/Web/API/File_and_Directory_Entries_API)) would choose to use a virtual
filesystem as the backing store as opposed to some site-specific subdirectory
in the real filesystem that the browser could control and sandbox?

Is the issue just that it would widen the attack surface too much in the event
of a potential bug that could compromise the browser sandbox and/or the same
origin policy? Or is there more nuance that I'm missing?

~~~
johannes1234321
There are two kinds of problems I spontaneously see, I assume there can be
found more.

For one it has to be clear to the user. Is he granting one time access or
repeated access? Which sites are getting the access? Is it actually the exact
page I see or some code loaded from elsewhere? etc.

The other part is the sandboxing part. Sandboxing access to file systems is
hard. How do you deal with symlinks, hard links, ... (maybe there is a
different vulnerability allowing to create those and both techniques together
lead to an dangerous exploit?) what amount of the path name etc. are available
to the application (this might i.e. link the username, which might be derived
from a full name, think about /home, /Users, C:\Documents and Settings\ but
might be useful to show) and then, again, the related real-life user issue:
not all users have all their music in a distinct folder structure, but
probably mixed with other files, and oh, they want to play the files freshly
put into "Downloads", too ...

Granting such access is a can of worms ...

------
OzzyB
+1 this is amazeballs :D

I'm guessing the idea is make an exact 1:1 pixel recreation of the original,
but it's _really_ small, any chance we can get a "zoom" function or a @2x
version?

Thanks for the nostalgia trip!

~~~
captbaritone
Winamp has a built in "doubled" mode, which I faithfully reproduced. Try
clicking the "D" in the "clutter bar" directly to the left of the visualizer
window.

~~~
StavrosK
Your comment (and specifically the words "clutter bar") really took me back to
the 90s and how amazing it was to see Winamp's aesthetic for the first time.
It really reminded me of some mod players for DOS back in the day, their UI
was very "90s futuristic".

Bonus Despacito mod version:
[https://youtu.be/lf4ofV0T-Uw?t=1m15s](https://youtu.be/lf4ofV0T-Uw?t=1m15s)

------
maxton
Past discussion of this project can be found here:
[https://news.ycombinator.com/item?id=8565665](https://news.ycombinator.com/item?id=8565665)

------
agumonkey
Come on, we know it's Winamp 4.

lags on my x200 but anyway, it was cool. And btw, drag and dock works people.

ps: I use foobar2000 which is a mad gem of software, but Winamp 2.9/5 is still
my sweet spot for music playing.

------
benjaminjackman
Haha, this is great! I actually think, perhaps oddly enough, that this is step
towards the way of the not too distant future, not just the past.

------
crooked-v
I wonder how hard it would be to turn it into an Electron-wrapped app, to make
things come full circle.

------
Volv
Still have my skin of choice in my old "Install" folder.

Plasmation -
[http://volv.org/plasmation-1.zip](http://volv.org/plasmation-1.zip)

Brings back tons of memories :)

~~~
mevric
:)totally. Tons of memory and a big smile :)

------
hengheng
Is there any way to get the old winamp back? I'm thinking a 2.96 binary with
compatibility mode or something. I just want to try it again to see if it
feels as good as I remember it.

~~~
chungy
Audacious ([http://audacious-media-player.org/](http://audacious-media-
player.org/)) is nice.

~~~
arthur_pryor
interesting, i don't think i'd ever heard of this project, but this could be
useful if using winamp ever becomes untenable for me (or if i need something
better for playing music on mac or linux than vlc, or if i get bored with
winamp and just want to see what else is out there, since this appears to be
actively maintained).

edit: and it says it lets you use winamp classic skins, which is a nice
nostalgic touch.

------
gnarbarian
now someone needs to make the milkdrop plugin for it in webGL:

[https://www.youtube.com/watch?v=QFZBTYFTeto](https://www.youtube.com/watch?v=QFZBTYFTeto)

[https://en.wikipedia.org/wiki/MilkDrop](https://en.wikipedia.org/wiki/MilkDrop)

[http://www.geisswerks.com/milkdrop/](http://www.geisswerks.com/milkdrop/)

~~~
captbaritone
[https://news.ycombinator.com/item?id=15315861](https://news.ycombinator.com/item?id=15315861)

------
tahw
Does the playlist button work for anyone else? Even with adblock off it
doesn't seem to do anything when I click it.

~~~
captbaritone
Sorry for the confusion. I haven't implemented the playlist functionality yet.
I'm starting work on it now. This press was originated by a tweet I posted
announcing I had finally added the equalizer window.
[https://twitter.com/captbaritone/status/910163720160124928](https://twitter.com/captbaritone/status/910163720160124928)

I'll think about adding some kind of message to make this more obvious.

------
colecut
very cool. would love to see a milkdrop-like visualizer integrated with this.

[https://butterchurnviz.com/](https://butterchurnviz.com/) is one of the
better ones i've seen but it doesn't appear to be open source

~~~
captbaritone
I'm working on it!
[https://twitter.com/captbaritone/status/910229816502140928](https://twitter.com/captbaritone/status/910229816502140928)

~~~
wavefunction
R3 too prz :D

------
NuSkooler
Great work!

------
senorjazz
Does not work in Firefox, tried to allow the scripts in noscript, only thing
not allow. google analytics, still doesn't work :(

~~~
AdmiralAsshat
Not using noscript, but am using uMatrix, which is similar. There's a cross-
site reference to cloudfront that you need to whitelist for the thing to load.

------
joe_momma
this is great

~~~
triangleman
agreed

