Rhythmbox Update Script

5 réponses [Dernière contribution]
BlinkingArrow

I am a member!

Hors ligne
A rejoint: 12/27/2011

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!

Pièce jointeTaille
rhythmdb-update.tar_.gz958 octets
lembas
Hors ligne
A rejoint: 05/13/2010

> I am not sure how to GPL this, so some guidance would be welcome.

Have you seen this? https://www.gnu.org/licenses/gpl-howto.html#content

BlinkingArrow

I am a member!

Hors ligne
A rejoint: 12/27/2011

Okay, thanks. I'll take a look at it.

jxself
Hors ligne
A rejoint: 09/13/2010

> I decided to rip all of my music CDs in a lossless format

But it sounds like you didn't do this? Rather, you converted the already-ripped files (since you mentioned m4a.)

> 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.

I don't see the advantage to doing this: Going from a lossy-encoded file into a lossless one means that you now have a MUCH bigger file, but you don't get the quality benefits because it's still the same sound as the original (lossy) file. If someone really wants to use FLAC it's best to go back to the original CD and convert it from there, not from the encoded file that's already had stuff ripped out of it. Converting the already-encoded one to FLAC isn't going to gain you anything but a MUCH bigger file. The stuff that was ripped out during the lossy encoding process is still gone.

BlinkingArrow

I am a member!

Hors ligne
A rejoint: 12/27/2011

Nope, that is not what I did. Let's say I had previously ripped Song A in m4a and listened to it ten times. Now, I ripped it again from the CD in flac. Since it is a new file Rhythmbox creates a new entry in the database. Said entry has zero plays, as I have not listened to it. What the script does is copy the metadata information from the entry for SongA.m4a to the entry for SongA.flac and deletes SongA.m4a both from the database and the actual file.

BlinkingArrow

I am a member!

Hors ligne
A rejoint: 12/27/2011

Okay, I've followed the guide left by lembas. Attached is the new version.

Pièce jointeTaille
rhythmdb-update.tar_.gz 13.04 Ko