Using scripting on various "performer" tags

At the moment I use the $keep() function/plugin to strip away various tags I’m not interested in.

How is it possible to use $keep() on the various “performer” tags that classical works come with? “Conductor” appears as a separate tag, but there are a number of varieties of “performer”, e.g. “performer [orchestra]”, “performer [cello]”, etc. The documentation says that these are stored as “performer:”, but this doesn’t seem to work with wildcards.

How can I keep all those performer tags?

Also, how does the $performer() function work to output this stuff? How would I, for example, output a list of all the various performers on a classical release (e.g. soloist, orchestra, guests…)?

The syntax of the $performer() function in the documentation is different from that discussed on this message board:

The Classical Extras plugin gives this functionality plus a load more.

Thanks, I’ve just got it working and am looking at it now.

However, I would be grateful if anyone else here could tell me how the standard functions could be used for this kind of thing. The documentation on $performer() seems inaccurate, for instance.

I wrote the plugin because scripting wouldn’t do it for me. If you only want the artist functionality from the plugin, then disable the works functionality (first check box on tab 3) as it slows it up. But do read the documentation here.


So there’s no way of using normal scripts to concatenate all the “performer” tags? Or, even simply, of specifying “performer(*)” so that $keep() will keep them all?

I’m finding the plugin a bit overkill and am still not sure how everything works. I don’t really want it to overwrite the Picard tags, just to output some other tag/variable containing the concatenated string that I can then manipulate with Picard’s own scripts.

Maybe I am misunderstanding, because I don’t see how $performer correlates to $keep. But you can use just $performer() (with empty parameter) to get a concatenated list of all performers.

I have never used the keep function, but as I understand it you could just give it the performer tags you want to keep, e.g. performer:vocal