Field overriding


I’m looking for a way that allows me to change the value of a tag when importing it, by defining a function or something similar.
My use case is that I have a lot of compilations that can be categorized by an album artist, but as I am fetching the data from MusicBrainz, most of them have the album artist tag as ‘Various Artists’.
What I think it might be a good idea is having a function that test some conditions and if it finds them, it can rewrite any tag.
Is there a plugin that can do that or a workaround other than manually edit all the tags?

New plugin ready: selectivetagging

This type of request pops up fairly often, and if I’m not mistaken the answer presently is that no, there is no way to do this. You can use the --set-fields option to set additional fields, but I don’t believe it’ll override data from musicbrainz.

It would be straightforward to do with a plugin though - someone just needs to sit down and write it. Adrian usually suggests reviewing the zero plugin as a good starting point. I think it be awesome to see someone right the plugin, and document it all in the beets docs, because it would have a nice subset of the plugin functionality - listening for events, extending an existing command (import), etc.


@xyuusha @macleodmike i am about 90% done writing a plugin that should be able to handle this logic. i’ll be writing a post about it soon when i’m done.