Interestingly, I just recently got Milkdrop building from source, and working on making it a standalone application. ProjectM is milkdrop-compatible, but does not have a handy Windows board, and sadly OpenGL support on Windows is not always the best.
I've got low-latency streaming input from the loopback device via WASAPI so it works with anything playing audio, but still having some obstacles getting the audio data from those buffers into Milkdrop properly. But still progressing well enough for something I can only hack on occasionally after hours. Whatever it is I'm doing wrong with the PCM data shouldn't be too difficult to figure out eventually.
I initially started porting it from DX9 to DX12 but figured getting the audio streaming input is more valuable to start with. Thankfully the kodi team already did a lot of the work with the DX12 migration, but used an older version of the Milkdrop source which doesn't seem to handle the HLSL/shader presets.
If there is interest I would happily put the work-in-progress up on GitHub.
i'd also be super interested in seeing this put up. if i'm being honest with myself i probably wouldn't be able to contribute (lack of time, don't have much C++ experience and even less graphics experience). but i always loved milkdrop, and i'd very definitely use a version that ran as a standalone app off any audio input.
I've just clicked the link in my phone expecting a big "you can't use this on your phone, please use a proper computing device" message and instead I got a fully working Winamp. Color me impressed. Hats off top the developers.
This thing is really impressive. Never thought I'd see music visualizations (which seem to have gone the way of the dodo) running at 144Hz on my Linux box. I remember the first versions of this, you've made a lot of progress! Your visualizations are really interesting to look at, and they don't have the aliasing artifacts that most visualizations of the time had, I like it.
One thing that doesn't seem to work correctly is importing a whole album: The songs are added out of order, even if the file names sort in the correct order, and the tags are present.
Thanks for the mention! It's probably worth calling out that the Internet Archive page has Webamp integration, so every skin's preview is actually a live Webamp instance.
Is this open-source or is there a plan to make it a Desktop PWA? Late 90's me wouldn't believe this would ever be possible without using plugins. What a time to be alive.
Yeah! We're working on it. The multi-window layout of Winamp may make it hard to make a desktop PWA a bit awkward, but we're looking into it. Come hand out in our Discord server if you want to help or just hang out: https://discord.gg/mnPRh2p
Might anyone know of a web/*nix alternative that has the Winamp Media Library like functionality, i.e. enqueuing? That was, to me, the killer feature from "later" versions of Winamp.
No idea what Audacious is doing for you (never used it), but I find that Quod Libet is somewhat in the WinAMP tradition (IIRC) in that it's pretty simple: It has a "library", "queue" and you can basically configure it down to a search field, the list of matches (from your library) and a queue.
(Graphically, QL is probably the most boring music player ever, and that's not quite what WinAMP gained popularity for, but functionality-wise I think they're quite close.)
I organize my music library at the file level rather than at the tag level (although I still tag my files, because I have a particular naming scheme I like for everything). This is because I have so much music that it's kept on an external HDD, and I wouldn't be able to properly tag everything to my liking if I spent a hundred years on it. So I've always resisted using the iTunes-like programs that try to organize all my music for me, both due to tagging issues and having the database explode if I disconnect the drive. My music is organized according to my own system, and it works for me.
In Winamp, when I wanted to play an album, I opened the directory containing my music, find the artist, right clicked on the album, and selected "Play/Enqueue in Winamp". Winamp would launch, I would immediately minimize it to the system tray, and it would be out of my way except occasionally popping up notifications on Play/Pause/Stop or when tracks changes. It was perfect for my needs.
Audacious is the app I found that comes closest to replicating that workflow. I select a folder, "Open With -> Audacious", it kicks off, I close (to tray), and it plays on with occasional notifications. That's all I want. It's also got MPRIS integration so I can control playback from the bar, so that's pretty sweet too.
This actually sounds very close to my personal preference -- I just configure Quod Libet to only show full path and the "search everything" functionality lets me just search for the album name and have everything match + Ctrl+A + right-click + Enqueue.
I'm a big-time fan of QL as well, it's just so ridiculously configurable, and the library management is the best I've ever used. It lets you define your tags to the smallest detail, and use every single one of those tags for organizing it. You can do all sorts of highly specific searches and filters, I think even with full regex support.
It wouldn't surprise me if v6 were mostly a rewrite... Hopefully they target mutliplatform and get the visualizations, equalizer and a few other aspects the same, or very similar.
I really do miss the android version, and hope they update and bring it back.
They went back to the 2.x codebase to release 2.92 and 2.95 before skipping Winamp 4 and jumping to Winamp 5 (2 + 3) which was based on Winamp 2 but with the Wasabi skinning system bolted on.
It's a different day and age... we aren't running shell replacements with winamp integration these days. While we are running iOS, Android, Mac, Windows, Linux and who knows what else. Personally, I lean towards tooling I can use everywhere, even if it is a bulky electron app.
But to be useful at least for me, it'll need to both accept streaming inputs (i.e. be a client for Google Play or Spotify) and to stream its output to Chromecast.
Is there a generic “Chromecast output” virtual device for Linux? Not just an app that can cast but an OS level device so I can route audio from any app on the fly.
Edit: And if you use Wine with Winamp, you can then steer Winamp to use chromecast as well. And as an aside, I also used Wine to make Windows programs (not the desktop) remote-run by running ssh crankylinuxuser@server -X -f "wine winamp.exe". And with Pulseaudio, redirection is trivial.
I've used this a reasonable amount, and found it works but is unstable in certain circumstances. In particular, seeking, volume changes, and latency weren't great. YMMV. : )
No. Chromecast isn't free software or open protocol. Official support only comes through google's closed sdk and libs. Some projects like vlc have reverse engineered it sufficiently to support it somewhat, but it's far from perfect.
I think there's a cross-platform chromecast library, but you need a developer key as part of your build/dist to use it. I seem to recall playing with a node module a couple years ago, and it wasn't THAT complex.
Integration on Android proper is probably going to be easier.
I grew up using Winamp, but I wonder how it will fare in the age of Spotify and streaming services that bring their own player? (and maybe even frown upon using a 3rd party client to access their services).
I gave this an upvote. Spotify is great and how I listen to a lot of my music, but often songs & albums are removed from the Spotify catalog. There's still a place for music that you own and can't find anywhere else.
(And with Winamp's FLAC support, there's maybe room as a player of high-end 24/96 recordings sold by stores like 7digital as well.)
I'd love winamp as I remember it to be a client for Google Music, as their app is heavy and very bad ux. Spotify isn't very good either, but Google Music allows me to upload missing mp3's to keep my library full and for that feature I am ready to sacrifice a lot of convenience
Spotify has a playback SDK[0]. It's meant for web use, but it could probably be used to create a custom native player. You'd just need to have a webview somewhere.
You /might/ be able to find Spotiamb. It was a Winamp like Spotify client written by a Spotify developer when they used to support libspotify. Obviously Spotify have killed all libspotify development now and I don't know if Spotiamb even works now.
There is librespot [1] if you want to try and do something yourself though, it's a reverse engineered client for Spotify's protocol which Spotify so far doesn't seem to care to kill off.
I don’t think they have a problem with clients integrating support for Spotify Premium. Multiple different open source media players support Spotify Premium.
On the other hand I think they are very opposed to other clients supporting Spotify Free, which is understandable.
The EQ and plugins in Winamp is amazing. I’ve yet so see any of the other players come close. You notice the difference when you play this through a PA/DJ system.
Back in the days the tools were Winamp, Audiogrbber and Xing MP3 encoder.
I'm in the same boat. Foobar2000 is basically perfect with unlimited ways to customize it, a healthy DSP repository, etc etc. I run it on my windows box but also under WINE for OSX. Nothing else comes close as an all-in-one package for audio.
yeah -- its getting there. That last release was a result of me mentioning darkmode. It was easily the fastest 'can I post a bug somewhere?' to release I've ever seen. The total time was no more than a few minutes.
While the mac version is promising, its still missing the powerful organization features that I use the most.
Foobar2000 is probably my favorite and most-used piece of software.
I installed it and was confused, I guess I assumed this was supposed to be the 'new winamp,' it's not. It's just the same WinAmp I had when I ran XP years ago but with some bug fixes. The new WinAmp won't be released until next year.
The download button is _below_ a block of text explaining that this isn't new, this is old code that someone leaked, and they're releasing this so you don't download some spyware-riddled version.
I fondly remember the days when I would spend hours editing metadata of songs so that they would show up correctly in winamp.
The absolute fun of listening to shuffled music from winamp in the background while reading text heavy web pages (thank you 2001 internet in India, dial-up, with super fast 128 kbps connection)
Somewhat related for ‘old school’ Winamp fans, if anyone knows what ever happened to Brennan Underwood and monkey radio[0], I’m two decades later still trying to get a full copy of the playlist.
I ripped the stream for several nights onto minidisc for chill portable music in high school.
I would take this supposed "leak" with a big grain on salt.
AOL sold WinAmp to acompany called Radionomy (back in 2014). For some reason the latter is now aggressively marketing and hyping the "revival" of WinAmp, dropping the llama ass references and otherwise milking the legacy of what stopped being a truly notable player at 2.95 release 15 years ago.
> what stopped being a truly notable player at 2.95 release 15 years ago
Bingo. After it went downhill with AOL I dug up the 2.95 installer and kept it around for many years like a sacred scoll. I probably still have it in my archive. Long live WinAmp 2.95
Look at Discord app. Look at Slack. Or any other Electron bloatware. The executable is .1GB big minimum, and eats memory because it first has to start a browser.
Oh, and none of these browsers share memory or anything, so you get X copies of the same thing.
It's the "like" that is the significant detail here.
> You must be 10 years old!
I disagree with your assessment therefore I'm stupid? immature? I hope this was an unusually abusive moment for you, and you don't generally treat folks this way.
Yeah, calling someone a child is pretty immature. So lets focus on hard numbers, no?
I'm currently on IRC using HexChat. I'm in 6 different IRC rooms, with 2 being 500+ users and lively discussion. I'm using 27.8MB ram and since execution 2 seconds of CPU time total. It doesn't do inline images or frillies like what Slack does, but that's what links are for.
Electron-ized IRC is a magnitude more CPU and ram than a native application. This is a waste of my resources and time, so that a developer can be significantly lazy in doing some 'app'.
Of course, the upside is that using electron allows targeting linux/windows/mac. That's not trivial either, however, the resource costs of running X chrome backends is not negligible. With much of the heavier processing I do (RF hacking), this would never work with any sort of acceptable timings or throughput.
> the upside is that using electron allows targeting linux/windows/mac
The more significant upside is that you can add features to an electron app 10x faster than to a C app, and non-technical users care about features (inline images and frillies, etc) more than they care about RAM efficiency
My intention was not calling you a "boy", but more an assumption, that you may not have been around when IRC was used instead of Slack & Co. Because then you'd not be so easy going about wasting so much memory (RAM, storage) for an app, that, basically, allows you to chat.
Slightly off-topic here, but I'm fairly sure that if you think an Electron app takes only 80 MB of RAM, you're probably miscalculating how much does it really use.
Modern programs (or apps as they seem to be called now) are like gasses, they expand to fill the volume of their containers. Even if we keep getting more RAM, does that mean that it should take more memory to play music or edit text? Yes, being pragmatic maybe 503 MB out of 24 GB isn't a big deal, but it would be if you had 4 GB, which should be plenty to run an OS and a text editor. Then there's the question of how elegant it is to gobble up so much memory for the benefit of the programmers to use even more abstractions and virtual machines and frameworks. Programs are written once and run lots of times, it makes sense to optimize for the user, not the programmer.
HUGE MISTAKE, HUGE MISTAKE. I would like to retract, It's 503MB.
Still, I find that perfectly acceptable.
I went to Best Buy's website, and saw the best sold machines.
There's one that's really cheap ($229) and comes with 4GB's, definitively not a productivity machine.
Then there's an HP for $399 that comes with 8GB. Another for $100 more with 12GB.
I filtered out for laptops with more than 8GB, brand new (not refurbs), and you can get a 8GB complete machine for just $379.99, that's less than many popular phones out there (and I'm not talking about Apple products).
I get it, some people live in poor countries, I live in a relatively poor country (Portugal). And I know how this might sound like. But you are programming, you are not sheltering, feeding, or helping people. You are working for big $$$ corporations. Like any worker, you should ask for fees that at least cover your equipment costs.
Remember that 0.5GB is 6.25% of a modern computer's memory.
Back in the C64 days, you bought a 64KB machine for less $$$ in the 80's, than those computers today, and after boot up, and BASIC, and it only had 38911 bytes free out of the 65536 bytes. So, only 59% free.
Back when computers had 1MB of RAM (early 90's), anyone can point me, to an editor that only costed 62.5KB of RAM? I think I'm not going to find it... unless it's just notepad.exe.
Etc. etc. etc.
The problem is that people, for some reason, started to think they need a new phone, for leisure, every 2 years (in some richer countries, it's 12 months), and a new PC, a tool for work, only every 10 years. And that the phone can cost $1000 and it's okay, and the PC, cannot cost more than $500 or it's "overpriced". I think it's ridiculous.
We're mostly doing it as a curiosity. Once you have a web app working, it's pretty easy to wrap it as an Electron app, and it's cool to see a Winamp UI floating around on your Mac desktop. Webamp was never intended as more than a novelty and the Electron version is being done in the same spirit. It's fun to see it work and we're learning a lot along the way.
I tried and for me, I will use it only for reasons of nostalgia. There is some thrill to hear that old intro voice.
Technically, I really don't think it can do anything more than VLC. And if you still want to stick with VLC, you can always try Winamp skin for VLC [0]. It works but it's not that smooth.
No. Plus install it with the classic skin and it can remind you of the old Napster days running Win98. And possibly of your first exposure to computer viruses which taught you to backup everything externally that you wouldn't be willing to lose given that at any time you may be forced to perform a complete system reinstall. :)
A very useful Winamp feature was automatically tagging and updating all mp3s using Gracenote(?). Then suddenly this feature stopped working. Hope they fixed it in this latest release.
It does do podcasts and video, and it can't be blamed for Apple locking it out of your iPod. No idea what other features you find it lacking, the best comparison I'm aware of[1] doesn't show a huge difference, but I've never seen the appeal of iTunes.
> Mike the Llama is the company's mascot; this is frequently referred to in promotional material (especially for Winamp) citing llamas. Frankel introduced the llama in Winamp's startup sound clip, inspired by the lyrics of Wesley Willis: "Winamp, it really whips the llama's ass!"[1]
I stopped using the Android version several years ago because it stops playback of Shoutcast streams when running in the background (or when the screen is off). Have you gotten around this somehow?
No... but usually when running it, was in the car with the phone on the charger, so a non-issue... I stopped when the news they were shutting down came out.
I've got low-latency streaming input from the loopback device via WASAPI so it works with anything playing audio, but still having some obstacles getting the audio data from those buffers into Milkdrop properly. But still progressing well enough for something I can only hack on occasionally after hours. Whatever it is I'm doing wrong with the PCM data shouldn't be too difficult to figure out eventually.
I initially started porting it from DX9 to DX12 but figured getting the audio streaming input is more valuable to start with. Thankfully the kodi team already did a lot of the work with the DX12 migration, but used an older version of the Milkdrop source which doesn't seem to handle the HLSL/shader presets.
If there is interest I would happily put the work-in-progress up on GitHub.