WARNING: Technical frustration ahead, involving mildly technical terms. You’ve been warned.
Oh, happy days…
Back in the days when I wasn’t quite so much of a cheap-ass (i.e. back when relatives were buying my computer gear), I had a little iMac that, using iTunes, I would burn MP3 CDs with. It was great - I got an MP3-playing CD player for my car of the time and enjoyed listening to 9 hours of music on one disc. Truly glorious.
Then I had to pay for my own stuff. Suddenly, budget became a big, big issue… which meant that, once the Mac started being a little less reliable, that I was on my own. For most people, this would mean finding a used Windows PC somewhere and running iTunes on that. I, however, am stubborn - I was never a big fan of Windows to begin with (hence the Mac), and, now that I have to deal with its horrendous bugs, quirks, and annoyances on a daily basis at work, I’m not exactly anxious to come home to it.
So, I run Ubuntu. That’s right - I’m one of those propellerheads running something called “Linux”. Have been for a couple of years now. Works great enough of the time for me to not go back to Windows, which, to be fair, isn’t setting the bar particularly high, but is still a pretty serious accomplishment for something which costs $0. In fact, because of the nature of my work, Linux has its advantages. For example, let’s say a web site stops working at a client location. Is it because of DNS? DHCP? Group Policy? A Windows Update? Well, if I throw my laptop on the network and the web site works, that narrows things down substantially - I now know that it’s probably a Windows option, not a network option. Similarly, if the web site doesn’t work, that tells me it’s probably a network option and not a Windows problem. Another nice thing is that I can actually run whois natively instead of going to crappy web sites to do the dirty work for me. Of course, all of this would be possible on a Mac, but, until this blog really picks up steam and starts coughing up “new laptop” money (ha!), I don’t see that happening anytime soon.
That’s not to say all is a bed of soft rose petals.
As the title of this post suggests, Linux has its warts. One of the bigger ones is that usability definitely has historically been something of a low point. There are a variety of really good reasons for that, of course. Linux was originally meant for servers, not laptops, so it was meant to do server things, not laptop or home PC things, and it was meant to do them in a way that was friendly for servers, not for people sitting at home. There are also various political issues that tend to rear their ugly head from time to time; when your operating system is being written to at least bend to the will of philosophers instead of end-users, you’re going to have some problems. Remember, though - it’s free in every way that matters. You can get it for free. If the group that makes it decides to stop supporting it, you can grab the code and support it yourself if you have to. You can’t do that with Windows. In fact, you can’t even do that with large parts of Mac OS X. That’s a selling point, even if there are some necessary evils that come with that.
Thankfully, as the years have passed, people have begun to pay less attention to the philosopher-kings and have begun to pay more attention to end-users. This frequently happens when money gets involved, and, believe me, money is definitely involved in Linux now. This might seem a little strange at first - as I mentioned earlier, Linux is free. How do you make money off something that costs nothing? That’s actually fairly easy - there are a couple of ways you can do just that:
- Charge for the hardware it’s running on. HP, IBM, and plenty others make money this way.
- Charge for support. This is how Canonical, the parent company of Ubuntu, makes their living.
Consequently, Linux is a lot friendlier than it used to be. It can do 99% of what most people would expect it to do. Can it deal with digital cameras and photos? Yep. Need to do some graphical arts work on the cheap? No problem, as long as you don’t get too crazy about it. Need to play some music? Have an iPod? No problem - heck, there are a couple of different ways to get there. Some of them can even bluff their way on to the iTunes store. You can play, rip, and create your own DVDs, too. You name it, Linux will probably let you do it… with a few caveats.
Today’s caveat: Ordered MP3 CDs. I still can’t find a program that will actually burn an MP3 CD for me.
Now, I need to define what my problem is. Anybody can dump a bunch of MP3 files on a CD and hit “Burn”. That part works fine. Trouble is, I have a lot of classical music, so track order is very important to me. File order generally implies “alphabetical order”, which isn’t going to work if I have two classical symphonies on the same MP3 CD and both have an Adagio movement. What’ll happen is I’ll hear the Adagio movement of the first symphony, then the Adagio movement of the second symphony - what I actually want to hear is the Adagio of the first symphony, then the next movement of that symphony. iTunes will kind of do it, as long as your files are already MP3s. It won’t convert files into MP3s on the fly for you, at least last time I checked; that’s easily circumvented, though, by simply burning the CDs as MP3s. No biggie. Banshee (a Linux program) used to do this, only it would even convert any non-MP3 files to MP3s on the fly, which was really nice, but there was one problem - the tracks weren’t ordered. I might as well have just dragged them on to the CD myself as if they were a bunch of Word files.
So I waited… and waited… and waited. I gave it about a year, figuring that, after all of this time, they would fix the problem and I could burn MP3 CDs with impunity.
End result: Nope. In fact, Banshee won’t even burn an MP3 CD anymore, ordered or otherwise. Great. I love it when programs lose functionality.
So, what am I going to do about it? I’ll tell you what I’m going to do - I’m going to figure out how to do it myself. If nobody else will code the functionality, well, fuck it - I didn’t get a degree in Computer Science for nothing. It’s not like I don’t know my way around some code, right?
(Famous last words, folks. Famous last words - remember that last paragraph when I’m found in a ditch somewhere, muttering something about “garbage collection”.)
So, here’s what I’m thinking… it looks like Banshee just dumps all burning functions to whatever is responsible for burning CDs on the computer. Fine by me. Ubuntu Hardy Heron includes Brasero, which appears to use a series of plugins to take one set of data (MP3s, for example) and burns them into another set of data (audio, for example). Consequently, all I need to do is come up with a plugin that, at a bare minimum, takes MP3s, orders them the way burning an audio CD does, then burns them into MP3s (perhaps by doing something as simple as just appending the track number at the beginning of the file name). If I’m feeling really creative, maybe I’ll run the original audio through gstreamer or something and convert it to MP3 on the fly. If I’m feeling really creative, I might even take it one step further after that and let the person choose both the input and output formats - this would let people burn OGG CDs, for example. That, though, would come later - I only care about MP3 discs right now.
Wish me luck… I’m going to need it.