Unable to preserve PERFORMER tag

In the options I have configured Picard to preserve (not overwrite) the ‘performer’ tag.
Yet it still overwrites the existing performer tag.
My files are all FLAC format.

There is one issue with the preserve tags feature, and it might be the reason here: If you add a tag to the preserve tags list, it does not apply to releases already loaded. It only applies to releases loaded (or refreshed) afterwards.

There is a ticket for this somewhere. Unfortunately this one is a bit difficult to solve the way it currently works :frowning:

1 Like

Reloading/refreshing does not help, unfortunately.

My problem is that another application (MediaMonkey) writes the PERFORMER tag as (for example):

 PERFORMER=Daniel Ash (guitar); David J (bass guitar); Kevin Haskins (percussion); Kevin Haskins (drums (drum set)); Daniel Ash (vocals)...

Picard then tries to rewrite this as:

PERFORMER=Daniel Ash (guitar)
PERFORMER=David J (bass guitar)
PERFORMER=Kevin Haskins (percussion)
PERFORMER=Kevin Haskins (drums (drum set))
PERFORMER=Daniel Ash (vocals)

I am no expert on how tags are encoded, but apparently both variations are valid. My problem is that in switching between the two applications the PERFORMER tag gets rewritten in a different encoding for no reason. I can’t prevent MediaMonkey from writing the tag, so I was hoping I could prevent Picard from touching it.

The problem is that those tags are called performer:guitar, performer:vocals etc. in Picard. If you’d add those variants it should work.

I guess we should either preserve all those tags by default or allow a syntax like performer:* as it is done for e.g. $unset

Speaking of this this could be an alternative for you: If you are ok with Picard never adding those tags you could add a script $unset(performer:*)


I added a ticket for this: