Sorry if this is a little OT, but I think most people will find is somewhat relevant. Not sure if anyone else would find this useful, if so, let me know and I'll post it.

A couple years ago, as my mp3 collection started to grow, I found several problems with maintaining a large collection. One of them being that as you move files into different directories or fix typos in song names, it will break a playlist. To solve this problem, I wrote a perl program to update playlist files. Basically what it does is go through your mpeg folder to get a list of all your .mp3 file names. Then it goes through your playlist folder and fixes each playlist. A playlist is opened and the path to the song is discarded. It checks for a song by that name in its hash that it built of your mp3s. If it finds it, it will put the right path in. If it does not find the file, it will add a comment to the playlist stating the name of the file it couldn't find. If it finds a comment for a song that couldn't be found on a previous invocation, it will again try to find the song.

It's kinda customized to my setup, so it may not work for everyone. I organize things as follows:
- all my .mp3s and .m3us are store on the linux box that this perl prog runs on
- all .mp3s are found beneath a single path (e.g. /mpegs)
- all playlists are beneath a single path (e.g. /data/playlists)
- no two .mp3s have the same name (this is rather key to using the script)
- it prepends \\server\share so I can use the the .m3us on WinAmp via samba

There's room for improvement and if someone wants to modify it, you're more than welcome to.
_________________________
--The Amigo