hey! all i have to type is ‘y’

Monday, and a hectic one at that. One of those stupid-busy days where you get a invitation at 8am to a 2hr meeting that starts at 8:30am – and every usable minute of time until 5pm is otherwise booked. A frustrating day where you can barely run one task to completion before getting derailed onto something else. And now I have only an early wakeup and flight to the Bay to look forward to… not much in the way of comfort. OK… OK… get ready for some boring crap, you can glaze right over if you don’t care about music and MP3s and whatnot, but you’re not gonna get much otherwise.

As I sat thinking this past Sunday night about my recent CD offload, my mind drifted back to the amount of work that’s stiff unfinished in my CD ripping project. Thus far, I’ve converted nearly 600 CDs to MP3 format, subsequently selling off the now “redundant” physical discs. However, I’ve got that many over again, slightly more actually, left to rip – consisting entirely of bootlegs (the majority being Beatles bootlegs). I chose to rip commercial CDs first because they are commonly available and their information can be located online, merged into most CD-ripping programs, and auto-added to the resultant MP3 files’ ID3 tags. This automated tagging process is great. Bootlegs, however, are by nature unauthorized recordings and therefore not commonly available – and they just don’t auto-tag nicely via CDDB or any other large online database. This leaves he who desires to rip his bootlegs to manually add ID3 tags to his bootlegs – a grueling, arduous process to which I was not looking forward. However, back to my Sunday night thinking…

I started thinking how great it would be if I could auto-import ID3 tag info from the great bootlegzone.com website. Bootlegzone contains album details for nearly every Beatles CD in existence, bootleg or not, as well many other artists. Too bad common MP3 tagging softwares can’t parse that database and grab information… or can they? The Godfather, a completely freeware MP3 tagging application, supports Delphi script add-ons which can be used to parse webpages and import information over already-ripped albums. Could I write a Godfather add-on that could parse bootlegzone.com pages and import the data onto ripped bootlegs? You bet I could, and did. Four hours of tinkering later, and I had a script that reads in bootlegzone.com pages and imports album title, artist, song titles, year, label, and even album artwork in JPG form. You have no idea how much time this will save me. Now I can just give a disc a placeholder title (for later ID) when I rip it, and run the resulting folder through the Godfather/bootlegzone script as post-processing – and all my files are tagged instantly. Sure beats entering song titles and information one-by-one off the back of the CD.

If you’re interested in my Godfather script to read in MP3 information from bootlegzone.com, you can always get the latest version by clicking this link. Note: Before you use this script, please read the 11/11/06 update below and make sure you grab the “automate.scl” file that solves a potential Windows-related filenaming problem.

A general update history for the script is as follows:

  • 5/2/06, Script complete; grabs artwork, track number, track name, album name, artist name, comments, year, and label information from bootlegzone.com disc pages.
  • 5/3/06, Fixed the script to remove the trailing periods after track numbers, tracks now tag-up in the preferred ‘0x’ format. 5/3/06, Fixed an issue where not all tracks were being grabbed (ambiguous string compare), and added some extra error handling to track string ops.
  • 5/4/06, Added “intelligent” support for ‘various artists’ albums. Script will compare album artist to each track artist, and determine if the album is of the ‘various artists’ type. If so, tracks will be named accordingly (i.e. artist_name – track_name).
  • 5/9/06, Fixed a bug in “intelligent” support for ‘various artists’ albums where a track could be skipped if no track artist was specified.
  • 5/14/06, Added support for medley-type tracks (track titles which are simply placeholders for multiple sub-titles). Track grabbing now comprehends sub-tracks of a single track, and combines them into a single track name string. Looking at adding a switch to turn this and the various artists feature off, in case that’s desired.
  • 5/23/06, Added a bit of code to strip underscores from track titles (bootlegzone’s automated entry system relies on underscores, but they do ugly things to TGF’s tag/file case matrix).
  • 11/11/06, Discovered and interesting issue with the script. If you use the bootlegzone.com grabbed ID3 info to rename the corresponding file under Windows, and the combination of the number of characters in the filename and its containing folder are greater than 256 (for NTFS filesystem) – you’ll get a completely unusable file. It’ll rename itself to be longer than 256, and then you won’t be able to rename or delete it. I fixed this bug by changing the “automate.scl” script that I run on the “post processing” after scraping the tag info from bootlegzone. So, here’s the important bit: If you’re going to be renaming files as well as ID3 tags – make sure and use the modified “automate.scl” to avoid the >256 character filename issue. You can download my modified “automate.scl” by clicking this link.
  • 03/12/07, Sadly, www.bootlegzone.com is dead. Unfortunately, all my work is now for naught. I hope that you got some use of the script while the great site that was bootlegzone was around. Thanks for the good years, tilleul.
  • 04/14/07, Bootlegzone has risen from the ashes, and my script is once again useful. Enjoy.
  • 06/01/07, Just a little helpful hint for basic Godfather configuration. I like to name my files with a “track# tracktitle” formatting – no dash, no artist name, no album name. Whatever your preference for filename (we’re not talking ID3 info here), I encourage you to incorporate the track number. This way, you’ll avoid “unable to rename file” errors when an album may contain two ore more versions of the same song (especially common with bootlegs). You can set your renaming mask preference in the “Use Variables” entry-box under The Godfather’s “Rename” tab. I know The Godfather can be overwhelming at first, but this should help avoid confusing errors.
  • 11/25/07, The script now grabs two additional pieces of BootlegZone track information: the “version” and “sub-version” strings (when available). This is a nice improvement, as you’ll get detailed information about the tracks, such as take-number, live venue, etc., embedded in the ID3 tag and filename. The version/sub-version information is appended to the track title string in parentheses. An example of the improved information this addition provides would be as illustrated below:

Previous naming scheme:

01 I Am The Walrus
02 I Am The Walrus

New naming scheme, with version/sub-version data included:
01 I Am The Walrus (Take 2, Overdub)
02 I Am The Walrus (TV, David Frost Show)

Grab the latest version from the link above to get these changes.

  • 06/17/08, Fixed a small bug in the medley track naming routine for the case when there are more than 10 sub-tracks in the medley.  Also refined the naming scheme to account for some bootlegzone medley naming irregularities.

Enjoy it!  Goodnight.


Also written on this day...

7 Replies to “hey! all i have to type is ‘y’”

  1. Very nice idea, but unfortunately it doesn’t work any more. As far as I can tell with my limited knowledge, this is because Bootlegzone now transmits the whole section as one big row. Is there any chance of a fix, or would this be too much work?

  2. I just tested the script on several titles and it worked as expected (using Godfather v0.70). Can you give me an example of where it’s not working for you?

  3. I’ve tried it with Godfather v0.70, too. Just to make sure (as I’m new to Godfather), I went to the Online tab, selected custom and your script. Then I went to The Beatles -> By publisher -> Purple Chick -> Please Please Me Deluxe Vol.1. and clicked on “Grab…”. The album information works fine, but the title list remains empty.
    And as I said before, no matter where (Firefox/IE/Godfather) I view the HTML source code, the whole section appears in one giant line. Registering with Bootlegzone and using a proxy made no difference.
    I’ve also randomly tried different artists and albums, but unfortunately it’s the same each time. If it works for you and your HTML doesn’t contain one giant line, maybe I should contact the webmaster wheter he has any idea why this happens.

  4. Well, you’re doing the right procedure to grab tracks. I just tried that same Purple Chick title and it grabbed all the info as expected (see image below). Even downloaded the script from the above link to make sure I’m working with the same version as you…

    Are you sure you’ve given the page enough time to fully load (in the Godfather’s browser window) prior to hitting the “Grab” button? If you press it instantly after navigating to the disc page it might be scraping the HTML source before it’s been entirely generated on the server-side.

    The “single row” thing is likely just an artifact of how you’re viewing the HTML source. The page is PHP-generated, so if you’re looking at it via a text editor and “word wrap” is disabled by default it will likely appear as one long string. Regardless of this, the script should still be able to interpret the “rows” it uses from the resultant text.

    Capped

    Not sure what else could be causing it to stop processing after the title/artwork on your end… it really shouldn’t be doing that 🙂

  5. I should think more before posting… After your hint about the rows and another look at the script, I finally discovered the temporary HTML file it generates, which indeed contained individual rows.
    After a bit of debugging (i.e. stare at the code in the hope of a sudden inspiration and insert message boxes everywhere 😉 ) I found the cause, and this time it’s for real:
    The script apparently relies on the presence of ‘TD width=30 bgColor=#e3b59d’ to identify individual tracks, however for strange (as you said it works fine for you as it is) reasons, my HTML code contains ‘TD bgColor=#e3b59d width=30’ instead. After changing everything accordingly, the script finally works.
    I still need to adapt it a bit to suit my needs, but it’s a great starting point. Thank you very much for the script itself and for taking the time to help me.
    If my attempts at expanding the script are successful, I’ll send you a copy of course.

  6. Wow, that is strange. And, it actually highlights a fact I’ve known about my script for a while: It was hard-coded to make a monotonous task easier, and I didn’t make a large effort to elegantly handle possible differences.

    Put simply: it won’t adapt well to even small changes in the Bootlegzone source. Hence the rigid search for a particular string versus a more intelligent way to find the beginning of the scrape data. Also, it uses hard row counts to move from one scrape field to the next – when ideally it would search for the content rather than blindly assume it’ll always be in the same spot.

    Owell, I suppose I should be happy I tagged hundreds and hundreds of MP3s with it the way I wrote it. If you do make improvements, I would love to see them!

    Good luck 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *