iPodder/Juice Script Cleanup ID3 tags

As you may already know, I use my MP3 player simply to play audio-books (aka podcasts) while commuting to work.

I use Juice (fka iPodder) to capture these files. It does an excellent job of downloading content and placing it on my machine. Once downloaded, I drag and drop the files to my MP3 player.

Unfortunately, my cheap ($5) MP3 player (Sansa 100?) sorts files using an odd technique. It appears to sort them by track number, then title. So if I have 2 active stories on my player, it will play track 1 - story 1, then track 1 - story 2, track 2 - story 1, etc. I think this is because sometimes the track number is a 'string' value?? To fix this, I cleanup the ID3 tags values.

This script utilizes the CDDBControl (from Roxio) to get access to the ID3 tags. If you have a Roxio product installed, you may already have this file. Otherwise, I've downloaded it from here. Register it like you would any new DLL on your computer.

Dim id3: Set id3 = CreateObject("CDDBControlRoxio.CddbID3Tag")
Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")

argCount = WScript.Arguments.Count
If argCount = 2 Then
        FileName = WScript.Arguments.Item(0)   
        strTitle = WScript.Arguments.Item(1)
        set File = fs.getfile(FileName)
        id3.LoadFromFile File.Path, False
        track = id3.TrackPosition

    If (track <> "") And Not(isnumeric(mid(id3.Title,3,2))) Then
                If not IsNumeric(track) and len(track)>0 Then
                do while Not(IsNumeric(track)) And Len(track)>0                        
                        track = left(track,Len(track)-1)
                Loop
            End if
            If CInt(track)<10 Then      track = "0"&track
            newtitle = ucase(Left(strTitle,2)) & Track & "-" & strTitle
            id3.Title = newTitle             
            id3.SaveToFile File.Path       
        End If
End If

Inside Juice, I setup an advanced option to call this script when a download finished. Cool? Go into Juice, select File, then Preferences, and click on the Advanced tab. Click the checkbox for Run this command after each download, then put in a fully qualified path to the script. Mine is:

c:\bin\scripts\JuiceUpdate.vbs "%f" "%n"

You see a short popup each time a file finished downloading and the script runs. The Title name changes to the first two characters of the name(track number) - Full name of podcast.

For example (for the Max Quick Part 2):
Title before = PB-Max Quick 2: Two Travelers - Episode 1
Title after = MA01-Max Quick 2: Two Travelers

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <blockquote> <center> <hr> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <drupal6>, <html>, <java>, <javascript>, <php>, <posh>.

More information about formatting options