Making iTunes Suck Less With Firefly

Friends of mine know that I have much to complain about where iTunes is concerned. To summarise what is a long rant (which I may someday write), the problems are poor support for file formats---Ogg Vorbis and FLAC in particular---and various UI issues. Getting a better music-playing program running on OS X is a secondary task in which I haven't yet succeeded. So let's think about how to bandaid some of iTunes' problems.

Today I'm going to present a possible solution to the first complaint: poor file format support. The accepted way to extend your OS X machine to play (oddball?) formats like FLAC seems to be to install the Xiph components for Quicktime. In my experience, this will usually convince Quicktime to play most things. Getting iTunes to look at the songs and store them in your library is another matter entirely. The best success I ever had with this method was getting about 1/3 of my considerable collection of FLACs to import.

Let's fix things up with a little bit of Firefly. No, not the unbelievably awesome Joss Whedon show (blast you, Fox!) but the also rather awesome Firefly Media Server, formerly known as mt-daapd. I last played with this project a couple of years ago and it took some tinkering to make it work. There's been a bit of work done since then and now the latest build is in the Debian stable repository, so it's dead simple to set this up now.

"Debian? Isn't this a problem with iTunes on OS X?" you might be wondering to yourself now. Yes. You're right. Allow me to present the recipe for this particular solution:

iTunes Make Support Go-Go

Ingredients

  • One computer running Mac OS X with iTunes
  • One computer running Debian Linux
  • Your music in any of normal formats: MP3, OGG, FLAC, WMA, etc. stored on the Linux computer
  • Firefly Media Server
  • A LAN connecting to the two computers
  1. Install the package with aptitude install mt-daapd
  2. Edit /etc/mt-daapd.conf and set admin_pw to an admin password, mp3_dir to where your music is (with a trailing slash) and add any file extensions to the list of those it will serve. In my case, I had to add wma. You can also change the name of your server if you like.
  3. /etc/init.d/mt-daapd start
  4. Head to iTunes on the mac and notice either the name you set or "Firefly ..." appears in the shared libraries list.
  5. Play your music. Observe how you can play songs in all formats regardless of whether iTunes supports them directly.

The magic at work here is that Firefly will use ffmpeg to transcode any songs not natively supported by iTunes on the fly to uncompressed wave format.

One extra advantage is that you no longer need to use all the hard drive space on your mac, which can be handy if it's a laptop. One disadvantage is that you can only listen to your music when you're on the same LAN as the Linux box. Perhaps you should have thought about that before you paid the Mac tax and expected them to support your open formats properly. *sigh*

(serves as many as your Firefly server has the bandwidth to serve)

Post a Comment

Your email is never shared.