I have a lot of self-ripped CDs with scanned art and noticed that beets does not always pick the correct release because it doesn’t have the necessary information.
So I created a plugin which let’s the user input a barcode (or catalogue number), to aid in selecting the correct release.
Additionally, and more importantly, it also looks for image files and tries to read barcodes from these images. If a barcode is found, it gets the release-id from musicbrainz and penalizes releases which don’t correspond to the found barcode(s).
There are still some rough edges: I’m unsure about how to make it clear to the user which candidate corresponds to a barcode that was found by scanning the image files. It’s not an actual installable plugin yet. Just a file you copy to the beetsplugs directory.
I would really appreciate it If anyone could help me test it and look over the code to tell me about all the things i did wrong.
For anyone willing to try it in this early-stage, you can find the plugin here: https://github.com/8h2a/beets-barcode
If anyone is interested in this, I plan to continue improving it
and releasing it as an actual plugin.
Future work / slightly offtopic:
For me it already works great and helps a lot, but I plan on making another plugin that helps me further with selecting the right release (if the barcode does not help). e.g. sometimes beets selects a “Vinyl” release when there is clearly an EAC logfile, or it selects “CD” when the files are clearly high-resolution audio files. I plan to tackle these problems in a seperate plugin.