pphaneuf: (Angry Tongue)
pphaneuf ([personal profile] pphaneuf) wrote2007-01-22 05:57 pm

Stupid music players...

So I updated my version of Max (an excellent CD ripping application for Mac OS X) and tackled my music collection, which has been in a bit of disarray for far too long. No wonder I've been listening to so much Einstürzende Neubauten, all their tracks were there at least twice (because of the umlaut in the band name, plus possibly more copies in the song names themselves).

After some ponderings, I decided that I'd switch to a folder per album, without an intermediate folder for the artist. I'm still not sure about that, but that's probably the easiest to mess with.

The new version of Max, among other things, added support for album cover art. I thought "hey, why not? iTunes 7's cover art browser is pretty swanky, I like swanky", which proved to be a rather frustrating train of thoughts, when all was said and done. Bloody iTunes. Bloody Ogg Vorbis. Bloody everything.

While Ogg Vorbis does support embedding cover art, Max didn't do it. Not that it would have helped with iTunes, this probably not being part of the standard QuickTime meta-data (not that iTunes was worth ass at using QuickTime meta-data properly). But iTunes has its own database to index meta-data, including a folder where it caches cover art. I figured that I could just manually set the cover art in iTunes, and that it'd go there (don't worry, I wouldn't have done that by hand for my whole collection, iTunes can be scripted very easily, thankfully).

But no. It see QuickTime content, thinks "hey, I don't support cover art for those!", and just ignores any cover art you set (even though it let you set it in the "edit meta-data" dialog!). Bastards.

But I'm not completely pissed at iTunes (yet), since it still seems to be working better than Rhythmbox (which I use at work)! I deleted my existing music from the library, meaning only to remove it from the Rhythmbox database. Surely, it would ask my opinion before doing something that cannot be undone, right? iTunes does, so, I'm good, right? Nope, everything gets thrown in the wastebin, which didn't seem to offer an obvious enough "restore" option (but I've been known to miss obvious buttons before, so maybe I'm just cranky). Yeah, sure, the files aren't lost, but they're all together in a gigantic mess. Great.

Okay, so after having given up on that anyway, I looked again in the music directory, to find that it had left some files behind? That's kind of shoddy, isn't it? There's two explanations, and neither put Rhythmbox in good light: either it "missed them" while deleting them, or, more likely, didn't import them in the library in the first place.

The latter being especially fun, as the process to import music in Rhythmbox is as follow: use the "import folder" option, look at the number of songs in the status bar, use the "import folder" again, look at the number of songs again, repeat until the number stabilizes. Wow. Just think if find (or your backup system!) was this unreliable. I'm not worrying too much, this is only my music player, but still, that's pretty craptastic.

Not to mention that the "automatically import music in a certain folder" option in the preferences doesn't seem to do anything? Or anything noticeable anyway...

On top of this, for all iTunes' pre-Mac OS X suckiness in the plugins department (you can only make visualization plugins for it, period), Rhythmbox somehow manages to do worse, by not having plugins at all, and being only barely scriptable (as opposed to iTunes, that can be 100% controlled via AppleScript). Thankfully, they have incorporated Audioscrobbler support, because I'd have would have had to stab myself (by which I mean use XMMS, which is just about equivalent).

Bloody hell, welcome to the motherfuckin' 21st century...

[identity profile] cpirate.livejournal.com 2007-01-22 11:32 pm (UTC)(link)
Ah, ranting about music and its players. A topic near and dear to my heart. But hark! I have found some amount of happiness in this formerly bleak landscape!

First of all, I commend you on your choice of directory-per-album. I've tried it with dir-per-artist, and it ended up annoying me. Even in the (relatively rare) case I want to do something to an entire artist's collection, it's easy enough to shift-click or refer to Artist\ Name* to get it all. I haven't found a downside yet, though I don't own any music from irritating artists who might have dozens and dozens of albums.

Second of all, Rhythmbox truly is designed to make one want to stab. I actually preferred XMMS. And I really hate XMMS. But as I mentioned before, Amarok really does work well, with a minimum of stabbery. Well, it's a KDE app, so you might want to stab a bit when you first install it and it asks if you want to use MySQL, PostgreSQL, or SQLite and other mind-numbingly useless questions. But they're getting better at that part. I normally hate KDE apps in general for this sort of reason, but once you get past the initial install, it's really quite good. Maybe because it ignores most of the KDE UI guidelines. It even has pretty good tagging support, and reasonable album art support. 1.3.9 is in Dapper, which I don't think is too bad, but 1.4.3 is in dapper-backports and has the unmissable album-shuffle feature.

Wow. I can't believe I'm actually happy with the state of music playing in Linux. What a time to be alive.

[identity profile] caffeinemonkey.livejournal.com 2007-01-23 04:54 am (UTC)(link)
Isn't amarok that thing that exec()'s xmms to play music? Sounds kinda awful...

[identity profile] pphaneuf.livejournal.com 2007-01-23 09:44 am (UTC)(link)
As far as I'm concerned, it could use mpg123 and ogg123, as long as it bloody worked.

[identity profile] cpirate.livejournal.com 2007-01-23 12:24 pm (UTC)(link)
Er, no, not at all. Being a KDE app, in one panel of one of its four (!) configuration dialogs, you get to pick which sound output engine you want, e.g. xine, arts, etc. You know, because I care deeply, and don't want it to just pick one that fricking works and leave me alone. Sigh.

[identity profile] pphaneuf.livejournal.com 2007-01-23 10:44 am (UTC)(link)
I figure that with directory-per-album, I can finally make sense of albums like soundtracks, compilations and such, that don't really have a proper artist for the whole album. I was diddling around with a "Various Artists" and a "Soundtrack" directory, but it always nagged me (here's my music OCD at work!). I also sometimes trade music, and as I do so per-album, I was finding that I was going up and down directories a lot. Since I didn't remember clearly why I picked "Artist/Album" in the first place, off it went. :-)

Another point of stabbitude with Rhythmbox I just experience is with queued songs. When one is playing, what does the "jump to playing song" command do? It puts the focus to the song in the queued song area, which, of course, is always the song at the very top, and I can find that in mere milliseconds should I ever want to (which I never do). Smart.

Maybe I should give Exaile a try. I already feel strapped for memory, loading up KDE's shared libraries for a single application seems a bit nasty.

Or maybe I'll just break down and write myself a fucking player. Remember that you promised you'd beat me up or something if I did that. Maybe my chance is now, since I'm out of reach! ;-)

[identity profile] cpirate.livejournal.com 2007-01-23 12:28 pm (UTC)(link)
True, Amarok does take a bunch of memory. OTOH, isn't your will to live worth going out and buying a bit more RAM?

Exaile looks pretty reasonable, maybe I'll give it a try once it's had more time to catch up to Amarok. Writing your own player would be a pretty good way to get me to fly over and stab you :)

[identity profile] pphaneuf.livejournal.com 2007-01-23 12:36 pm (UTC)(link)
Well, the thing is, it's my work machine, and this would involve making a requisition, forms, and fighting a world-class bureaucracy machine that also crushes my will to live. So, you see, it's tricky.

I'm not too convinced of a significant program written in Python, though, as in my experience, this generally ends up providing stack dumps on its stderr.

If I'd write something, it would probably have a Mac OS X slant, with just enough portability to take it to work so I can avoid killing myself. That said, I could sure enjoy your visit, if I can avoid your stabs. ;-)