Mark Bonus Tracks

This is my holy grail of music metadata - is there any way beets can tag all tracks that don’t appear on the original release as bonus tracks?

Ideally, this would be done with a tag that isn’t the track title (for example, “Bonus Track” under “Comments”).

Interesting! No, there’s nothing built-in for doing this. But it sounds like the perfect case for building your own plugin.

Sadly, I’m far from a developer. But, in the hopes of enticing someone to make it:

Bonus

(A funny choice for a mockup as those tracks aren’t actually bonus tracks, but nevermind that)

This should be easily supported by the more robust music players out there - for example, it could be easily done on foobar. A more clumsy approach consist of appending “(Bonus)” to the end of the actual track title, but it’s a rather limited approach.

The use case for this is that for us who discover music through the album format, many times we’ll wonder if the ending tracks are from the original release or not. From an historical and personal perspective, this is an important distinction to make when it comes to exploring and discussing the album. For example, it came to my attention many years after listening, that the songs I liked the most from Kanye West’s Graduation were actually bonus tracks included only on the Japanese version, and were thus rather unknown. Another case is Chet Baker’s Chet Bakers Sings, were almost half of the commonly distributed version of the album are songs that weren’t included on the original release - furthermore, the modern version of the record has the original tracks placed at the end of the album, thus starting with the “bonus” content.

As of recently, I decided to avoid obtaining versions of records if they include bonus tracks (often not marked as such, but one intuitively knows), because it’s been rather difficult so far to deal with it. But, as form should follow content and not the other way around (that is, we should not contain ourselves not to do something just because current technology isn’t up to date with it), I’ve now gone back to getting whatever version I find easier to obtain.

And then again for that we’d need a solution like this to be programmed by someone who can. In that, I cannot help, but I trust some day down the road someone capable will find the idea interesting and hopefully make something out of it.