Recently, I decided to rip all of my music CDs in a lossless format. I originally thought about manually editing rhythmdb.xml in order to preserve the play count and other metadata for each track. It was quickly obvious that this would be a daunting task, so I wrote a quick script to automate this process. It was originally only meant for my use, but then I thought maybe others in the community might have a use for it so I'm releasing it here.

When run, the script will ask for the format of the old files. For example, m4a. It will ask for the format of the new files. This will likely be flac. I do not recommend transcoding from a lossy format to another lossy format. This will result in a loss of quality. The script will then make a backup of the Rhythmbox database, so it is possible to recover it if something goes wrong. It copies the metadata relating to the old files into the new files (which needs to have been previously added in Rhythmbox) and deletes the data for the old files. It keeps track of the location of the old files so it can come back and delete them at the end.

I would recommend that, if possible, you backup all the music files as well. This is in case something goes wrong and the script deletes a file it should not. I have run this on my own library without issues. However, this does not mean there are no errors.

Of course, if you guys have any suggestions, please post them. I know that a suggestion will be made to add a license. I am not sure how to GPL this, so some guidance would be welcome. Hope you guys find it useful!

Attachment: rhythmdb-update.tar_.gz
Description: Binary data

Reply via email to