Hacker News new | past | comments | ask | show | jobs | submit login

This seems like a good time to plug my latest open source project: libgroove [1]

It's a cross-platform music player backend C library. It's meant to be generic enough to be the backend of any music player.

I use it as the backend for Groove Basin [2] which just might hit milestone 1.0.0 around December 20.

[1]: https://github.com/superjoe30/libgroove [2]: https://github.com/superjoe30/groovebasin

Groove Basin looks amazing!

Nice interface, but what does groovebasin offer that mpd doesn't?

I'll just name one: perfect replaygain. Meaning it uses the same code to decode and play audio as it does to scan and detect loudness. MPD does no replaygain scanning and only understands APEv2 tags. You have to manage replaygain scanning yourself, and if you have audio that does not support APEv2 tags you're shit out of luck. Groove Basin on the other hand does lazy multi-core replaygain scanning and everything it can play (which is everything that libav can decode (in other words anything that VLC can play)) it can scan. So you never run into that situation where you are listening to a quiet song, turn the volume up, and then a loud song blasts your ears off.

There are a bunch of other flaws in MPD's design which I've carefully fixed in the design of libgroove/groovebasin. I know because Groove Basin used to be an MPD client until I got stuck by all of the issues and then finally ripped out MPD and wrote my own backend to use instead.

I have a WIP blog article that goes into more detail about this stuff. This Winamp article might just be the kick in the pants I need to get it finished :)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact