Update (2009-04-09)
===============
Updated to work with Songbird 1.x versions.
========================================================================
For those who are looking to not only use Songbird as a player, but to also help manage their music collection, this is a set of small tools to help out.
First, you may have a number of files that are named well, but do not have any metadata internally. Metadata Tools will help you copy that information from your file names in bulk. First, go to options and fill out the template of your naming convention. A sample template has been placed in as a default. Next, just select a bunch of files, right-click, and select "Copy Meta Data from File Name". The tool will parse the information from your files, populate the Songbird meta database, and finally write the information back to the file, if it can.
The second and third tools are for those who use the "albumArtistName" field. This field is helpful for those of us who have a lot of compilation and DJ mixed albums. There are times when you just want to hear songs from a particular artist's albums and not off of a mix where the song may start halfway through. Making sure that the "albumArtistName" field is populated throughout your library helps with that. It also helps you search / filter for your mix albums that are labeled as "Various Artists"
The second tool allows you to bulk copy the artistName field to albumArtistName field. Helpful in filling out missing information in your library. Just select the files, right-click, and select "Copy Artist Name to Album Artist Name".
Finally, I've added "Album Artist" as one of the items that can be selected within the filter list.
As with any extension, try the tool out on a few files first to see your results before using them on your entire library. I would hate to see your mess up your entire library's metadata!
Songbird seems to have issues with reading and writing to wma and m4a files, but maintains its own database of meta information.
Some Instructions on Changing the Template
=================================
Say you have a directory of files that you've imported and their file names are as such:
Ella Fitzgerald - The Best of the Song Books - 01 - Something's Gotta Give.mp3
Ella Fitzgerald - The Best of the Song Books - 02 - Love Is Here to Stay.mp3
Ella Fitzgerald - The Best of the Song Books - 03 - Bewitched, Bothered, and Bewildered.mp3
Ella Fitzgerald - The Best of the Song Books - 04 - I've Got My Love to Keep Me Warm.mp3
Ella Fitzgerald - The Best of the Song Books - 05 - The Lady Is a Tramp.mp3
Ella Fitzgerald - The Best of the Song Books - 06 - I Got It Bad (and That Ain't Good) (2).mp3
Ella Fitzgerald - The Best of the Song Books - 06 - I Got It Bad (and That Ain't Good).mp3
Ella Fitzgerald - The Best of the Song Books - 07 - Miss Otis Regrets.mp3
Ella Fitzgerald - The Best of the Song Books - 08 - 'S Wonderful.mp3
Ella Fitzgerald - The Best of the Song Books - 09 - Between the Devil and the Deep Blue Sea.mp3
Ella Fitzgerald - The Best of the Song Books - 10 - Love for Sale.mp3
Ella Fitzgerald - The Best of the Song Books - 11 - They Can't Take That Away From Me.mp3
Ella Fitzgerald - The Best of the Song Books - 12 - Midnight Sun.mp3
Ella Fitzgerald - The Best of the Song Books - 13 - Hooray for Love.mp3
Ella Fitzgerald - The Best of the Song Books - 14 - Why Was I Born.mp3
Ella Fitzgerald - The Best of the Song Books - 15 - Cotton Tail.mp3
Ella Fitzgerald - The Best of the Song Books - 16 - Ev'ry Time We Say Goodbye.mp3
Using this case, the default template will do:
<artistname> - <albumname> - <tracknumber> - <trackname>
The extensions are removed for you (since they are not a valid SBProperty).
But let's say your formatting is different. Album Name comes first, you don't have spaces in between the fields and instead of -'s you use _'s. Like the following example:
The Best of the Song Books_Ella Fitzgerald_01_Something's Gotta Give.mp3
Then your template should look like this:
<albumname>_<artistname>_<tracknumber>_<trackname>
Basically, the tool relies on the premise that the files you want to work with are named in a somewhat standard way and that something is separating the fields, like a - or _ or even a space (but that would mean that the fields would have to have something besides a space as their space - if that makes any sense). By looking at your files naming structure, you should be able to determine the order of the fields.
The tool takes the template, runs a regular expression to determine the fields you want to extract and the format of the file names and creates a new regular expression which is then run against your file names to fill out the fields.
stevel
Nice job :) These will be really handy to have.