iTunes 7 Considered Harmful

by garth on September 14, 2006

I’ve got good and bad news for Juice users on Windows.

First, the bad news: iTunes 7 breaks Juice. Apple might have changed the COM interface on which Juice relies to do its work, but they haven’t updated the SDK so I can’t find out. Perhaps it’s something in our code. Regardless: If you upgrade to iTunes 7, Juice can’t add downloaded tracks to the library.

(Reinstalling iTunes might help; see the updates below.)

Now, the good news: I upgraded, too. My podcast listening life is going to be a hassle until I fix the bug. I listen to a lot of podcasts, so it’s safe to say I’ll get this one fixed as soon as I can given three factors:

  1. My understanding of win32com not being wonderful;
  2. Apple’s changes, if any, being un-documented until the SDK is revised; and
  3. Me being an old geezer.

For the time being, there’s a relatively easy work-around (if re-installing iTunes doesn’t work):

  • Have Juice download your podcasts as usual;
  • Run iTunes;
  • Select Add Folder to Library from the File menu;
  • Select your My Received Podcasts folder again; and
  • Watch iTunes add your new podcasts to the library.

I’m banging my head against the win32com documentation as I write. We tried using static dispatch with a past version of iTunes, but any iTunes upgrade would break us. We switched back to dynamic dispatch, and that’s worked us fine across plenty of upgrades until now.

If there are any Python experts out there who spend a lot of time with COM and can help me nut this out, please let me know.

Updates:

  • Here’s an odd one: at least one Juice user has upgraded to iTunes 7 without trouble.
  • David Nicolson reports, on the python-win32 mailing list, that he’s seen this occasionally out of iTunes and that uninstalling and reinstalling iTunes usually fixes the problem. I’ve tried it, and it works. I’ll get confirmation from a few others, and publish if it’s not just me succeeding at this.
  • Further to that last one: it mostly works. Unfortunately, the gap is adding tracks. IITPlaylist doesn’t have AddFile any more? Gaaah. My “fixes” obviously aren’t. Time to destroy my makepy cache…(Sub-update: my binary install of 2.2.2a1 works fine, so this might be local to my development version.)
  • There might be other reasons not to upgrade: engadget report other problems with iTunes, including “scratchy playback”. Personally, I haven’t noticed any of the declared symptoms, and I love the scrolling album view.