Usage

I have used autotag.pl for over a month to catalogue and retag my MP3
collection (it used to have only ID3 1.1 tags). I'd like to think
that using autotag.pl is easy, but it may be that I've become so used
to its inadequacies that I don't notice them anymore. Don't be afraid
to suggest improvements to autotag.pl, especially to its command-line
switches and text UI.

If you have some MP3s with "good" tags and just want to rename them
to a common format, use the -ro option.

If you have some MP3s with incorrect track numbers, use the -g option
to get the track number quickly. The track number is just a guess so
you'll get a chance to confirm each guess.

If you have some MP3s with incorrect comments, use the -sc option to
strip the comments. It's also possible with mass tagging by
explicitly using "COMM=" but -sc is more convenient.

If you have some MP3s that all come from a single album and you know
the tags you want to set, use the -m option and set the tag entries
the way you want them. The -help option will print out the list of
supported tag entries (frames in ID3).

Conclusion

Writing autotag.pl was grueling but fun. I used fuzzy string
matching, FreeDB searches, ID3 versions 1 and 2, and lots of text-mode
user interactions. It all came together in an application that I
tested thoroughly over the course of a month.

The most difficult part of writing autotag.pl was picking the right
modules for the job. In the first article in this two-part series, I
mentioned all the modules I rejected for autotag.pl. I did not reject
them by simply reading the documentation; the documentation is not
always right, and sometimes it is simply wishful thinking. The best
test for each module was to write for it, and see how well it worked.
Thus, every choice I made for autotag.pl is battle-tested, and I hope
you will find those choices alone useful if you ever do ID3-related
Perl work.

I plan to offer autotag.pl for download permanently and to keep
improving it, so feel free to suggest features or improvements for
it. Bugs spotted will be gleefully terminated, so do let me know if
you notice any bugs.