iTunes is, of course, the ‘gold standard’, but is Mac/Windows only, so that’s not going to work on my Linux machine.
Rhythmbox is getting there as an iTunes clone, but right now is woefully incomplete. It fails to play lots of my music, has serious interface shortcomings — you can rate songs, but then there’s no way to use those ratings, and you cannot edit any of the tag metadata in the released version.
JuK is the new KDE music player app. Initially, I wrote it off — it uses the clunky interface of ‘one big list’, at first glance.
But after Rhythmbox managed to confuse itself sufficiently so that it would only open as a 3-pixel-high window (seriously!), I gave JuK another try. Summary: it kicks ass.
It turns out that the multi-pane ‘artists, albums, and tracks’ mode of iTunes and Rhythmbox isn’t actually necessary, since JuK improves on it using a very nifty dynamic ‘Tree View’ mode.
Another nice feature is the MusicBrainz integration; it has built-in support for querying MB’s servers to get correct tag data for your music. In fact, its tagging support is fantastic — this is unsurprising, as it looks like it started off as a tagging app.
Being a well-written KDE app, it exposes some nifty scripting support via DCOP, and a quick look-over with KDCOP reveals a nice set of APIs — for example, running dcop juk Player playingString tells me the name of the track and artist playing right now. I’m not sure if there’s a way to register for callbacks on events like ‘track change’ just yet, here’s hoping…
No sign of rating support just yet, though; my dream player would allow me to rate my tracks, and then make a dynamic playlist which selects tracks by rating, playing the top-rated ones more often and never playing the bottom-rated ones. Here’s hoping it’s in the pipeline ;)
All in all, though, it looks like I’ll be giving JuK a try.