What would it take for zero plugin to blacklist unsupported tags?


#1

I’m considering teaching myself python so I can do some tricky stuff with tags but until then… I want to zero all legacy replaygain tags since going forward I want to use r128. So, I either need zero to remove all of them or replaygain plugin to remove old replaygain tags when it creates the new ones. I saw that I can zero all the legacy replaygain tags except REPLAYGAIN_REFERENCE_LOUDNESS.
Maybe it would be easier to define new beets supported tags that I want to process? :thinking:


#2

Hmm… perhaps you’re looking for the scrub plugin, which removes all unsupported tags? That won’t be selective, of course, but it’s sort of the best we can do for unsupported tags at the moment.


#3

Yeah, I’m not afraid of code. I have been looking at the code for some of the plugins and it looks simple enough but I have too many questions about how things work to be able to just dive right in. Should be easy enough to simply define all the tags I want to keep and then use scrub


#4

Nevermind this, I figured it out

Since I’m new to this project and fairly new to python, I want to verify I’m on the right track with this code. I easily added a definition for REPLAYGAIN_REFERENCE_LOUDNESS in mediafile.py. Now I need to add the code in replaygain.py to remove existing tags when writing new ones of a different kind (calculating R128 when replaygain tags already exist). It appears that this plugin only stores the tag in the item object and it is written to disk at a later time. Since I want to remove a field, I should set it to None and then item.write() in addition to item.store(), correct?


#5

Yep; I’d give that a try!