A Japanese-language online radio show I like, 6Sense, is published in an annoying way. They keep more than a month’s worth of archives online in MP3 format, but each episode is split into 60+ audio files, accessed through a Flash interface.
Examining the Flash app told me very little. Examining my Privoxy logs gave me the regular-but-unpredictable naming convention for the audio files, and a little more digging turned up the URL that the Flash app calls to get the list for a specific day. After that, I simply used wget to download the complete show… as 60+ MP3 files.
Knowing that someone had to have written a Perl script to concatenate MP3 files, I googled and found mp3cat, part of Johan Vroman’s mp3cut package. Making the results into a podcast required the use of another Perl script, podcastamatic, and a web server to host the results. I just turned on web sharing on my Mac, moved the files into ~/Sites, and typed the appropriate URL into iTunes.
With the latest version, iTunes supports podcasts directly, but the integration is kind of peculiar, and carries over to the iPods. Both correctly track what you’ve listened to, and where you left off in the middle of an episode, but otherwise they’re not treated like regular audio tracks.
In iTunes, if you finish listening to one episode of a podcast, instead of moving on to the next episode, it skips to the current episode of the next podcast. On iPods, there’s no concept of “next” at all; when a podcast ends, it just stops playing. If you’ve set it to repeat, it repeats the episode you just heard. Unfortunately, not all podcasts are an hour long; some are quite short, such as ナナライフ, which averages about 90 seconds.
Ironically, the least sophisticated iPod handles podcasts the best right now. The iPod Shuffle just treats them as sound files, and syncs up the play count when you connect it to your computer. When you delete an episode from iTunes, it’s deleted from your Shuffle. Not perfect, but better for long drives (and I’m driving 150 miles a day right now, as I settle in to my new job…).