ID3Mapper – A Ruby ID3 renaming utility

I have a Zune. At the time I had a working Windows box, hated iTunes, and thought I would actually use the radio tuner and I actually really like it. The desktop software…not so much.

There’s only a Windows version, it runs horribly when you have a lot of artists, it only picks up half of my podcasts. I figured out a while back that the reason my podcasts weren’t showing up had to do with the id3 tags, so I wrote a horrible little ruby script ( utilizing id3lib-ruby ) that would set the correct genre of “podcast” for everything in my podcast directory.

For fun, I thought it would be cool to write a little desktop app using the most popular Ruby gui toolkit Shoes that would make it easier for me to correct some other id3 tag irregularities in my media collection.

The first step was to re-factor my id3 script. I’ve been tooling around with automated testing a bit over the last couple months and I thought this would be an excellent chance for me to attempt a full-on test first methodology. I did, and I’m pretty happy how it turned out, although it certainly didn’t save me any time.

Click to download the new and improved id3mapper.

I’ll eventually package this up into it’s own module, but for now this is how it works:

require '../settings'
i =

i.set_artist "/home/joe/Podcasts/WNYC Radio Lab", "Radio Lab"
i.set_genre "/home/joe/Podcasts/WNYC Radio Lab", "podcast"