Classical Extras 2.0

Sorry, the current version of the plugin is not designed to work with non-album tracks. Maybe I should make that clear on the help file.
EDIT: and perhaps add a safe exit :slight_smile:


Yet I successfully loaded many other single tracks.
(It took me some time to filter out that this specific track was the culprit)
Something odd must be the case with this one that—only with the plugin activated—it actually makes Picard crash and close?

The behaviour with non-album tracks seems to be a bit unpredictable. Sometimes they work (perhaps if loaded as part of a batch?), but mostly not. I’ll take a look at it, but my advice would be to only load releases when the plugin is active. If you have a bunch of files which are not complete albums, then consider using the option on the advanced tab “Do not run … where no pre-existing file …” to speed things up.


A whole different matter that is keeping me occupied with in finding a acceptable solution for—and I am guessing you have some thoughts about too?—is this:

I would like to have Picard populating a sensible ‘Album Artist’ tag for classical releases, making use of the large amount of hidden variables that Classical Extras makes available.

The tag should contain information that covers the whole release in some way.
If there is only one composer, one conductor, or one performer on the release, that’s not so difficult.
But that’s not often the case.

I have concocted some rather complicated script that will attempt to create a tag that will look for the common denominator in a release.

To give some idea about my end-goal:

If a release contains works from only one composer, one conductor, and one main performer (soloist?), I would like the Album Artist tag to look like this:

Composer (Conductor) <Performer>

Where Composer displays only the last name, Conductor only displays the last name, and ‘Performer’ is the musician that is listed as the main act. (Glenn Gould, Janine Jansen, Maria Callas, et al.)

If a release is all about the composer, only the composer’s (last) name is fine.
If the release is all about the conductor (e.g. Karajan compilations), only the conductor’s name is fine.
If the release is all about a certain performer (e.g. Sviatoslav Richter), only his name would be fine.

But many releases will be some mix of the above, so that makes all this a rather complicated (and probably unsolvable) matter.

As I said, I have concocted a script that serves me reasonably well and achieves something like this.

This is it:

$set(albumartist,$if($get(_cea_album_composer_lastnames),$replace($get(_cea_album_composer_lastnames),;, ⸱),)$if($get(_cea_album_conductors_sort), \($replace($rsearch($get(_cea_album_conductors_sort),[^\,]*),;,\,)\),)$if($and($not($get(_cea_album_composer_lastnames)),$not($get(_cea_album_conductors_sort))),$if($get(_cea_album_soloists),$replace($get(_cea_album_soloists),;,⸱),),$if($get(_cea_album_soloists), <$replace($get(_cea_album_soloists),;, ⸱)>,))$if($and($not($get(_cea_album_composer_lastnames)),$not($get(_cea_album_conductors_sort)),$not($get(_cea_album_soloists))),$if($get(_cea_album_ensembles),$replace($get(_cea_album_ensembles),;,⸱),),)$if($and($not($get(_cea_album_composer_lastnames)),$not($get(_cea_album_conductors_sort)),$not($get(_cea_album_soloists))$not($get(_cea_album_ensembles))),$if($get(_cea_MB_artist),$get(_cea_MB_artist),),))

But I am sure it could be improved a lot (it’s a work in progress, e.g. it’s giving blank results too often as it is now), and I am very interested in opinions and scripts from others who are also trying (or have succeeded?) to accomplish a sensible Album Artist tag for classical releases.

I realise that this might not be the fully appropriate thread to bring this up.
Let me know if it bothers you in any way, and I’ll delete this post and create a new thread for it.

That’s way more fancy than what I do. Firstly, I use the tag mapping section rather than scripts. Then I just map album_composers, album_soloists, album_conductors, album_ensemble into album_artist. To my mind the key thing is to get the release artists in MB correct first.

1 Like

The limitation of that (and of my script also), is that it will not produce a uniform album title that covers the whole release. It will be specific per track. So you could easily end up with ten different album titles for one release.
(please correct me if I am wrong and the plugin can output one single album-title for a whole release?)

But having a plugin or a script creating some consistently build-up album titles for all different classical releases is of course impossible. Besides the technical challenges, it’s a matter far too subjective.
So, this is not a question, I’m just spilling/sharing what’s on my mind concerning this.

And b.t.w., I don’t care about keeping a CD release together in regard to an album-title.
If there is a double-CD release that contains three larger works, I would be completely happy to end up with three different album-titles.
I don’t care much about the artificial concept of CD-albums in relation to classical music.


Apologies for dumb questions. New to MusicBrainz and to this Plugin.

I struggle to to find the “Options Page” that the usage instructions refer to. I go to Musicbrainz Picard > Options > Plugins and it shows the “Classical Extras” plugin installed, but the only options I have are to uninstall it or disable it.

I have been unsuccessfully trying to find answers in google and all around…

Using MusicBrainz Picard v2.1.3

Looking for someone kind that can give me some help.

It’s a options page below the Plugins option. You have to expand the tree view on the left:


There is one additional thing to know: After activating the plugin the options dialog must be closed and reopened again in order for the plugin options to be available.

We (Picard developers) are aware that this is very user unfriendly. We would like to have two things:

  1. Have the options available immediately after activating the plugin
  2. Allow opening the options from inside the plugin list

There is a ticket for this already, but so far nobody has worked on this.


Oh Boy!!

Thanks a lot @outsidecontext!

I’m not sure if this is a result of Classical Extras, but lately I’ve noticed that the artist’s last name is being placed before the album title on everything. (Well, as long as the artist isn’t Various Artists.)

For a simple example, here’s what Picard shows when I run the World of Warcraft: Taverns of Azeroth soundtrack through Picard:

I cannot identify where the problem lies. I’ve already ruled out the two scripts that I use, as they only set the Track number and Total Tracks number to be double-digits. And since this is a tagging issue, the File Renaming script is irrelevant. That leaves only Classical Extras. Any thoughts on where in the maze of CE settings I might be able to find the culprit?

Arkenstone is listed as the composer. You probably have ‘Name album as "Composer Last Name(s): Album Name’ checked in the ‘Other artist options’ box on the Artists tab.


Bulls-eye. I’m sorry to have bothered you with such a trivial matter and I thank you greatly for taking the time to help me. That speaks volumes about you as a developer. :smiley:

1 Like

A special advice for users of Classical Extras who want to update to Picard 2.2:

  1. If you have not yet installed Picard 2.2, please open the Options > Plugins and update the Classical Extras plugin. The version should be 2.0.6 or later. After you have updated Classical Extras you can safely update to Picard 2.2.

  2. If you have already installed Picard 2.2 you will be unable to open the options dialog if Classical Extras < 2.0.6 is installed. In this case follow the instructions in the following post to manually upgrade Classical Extras.


Quick side note: If you don’t see an upgrade button for Classical Extras, click the “Reload List of Plugins” to the bottom-right of the plugin list. That should make the upgrade button appear.


TypeError: string indices must be integers?
Hi, am new to Picard (running 2.2.1 on a Mac) and Classical Extras (great plugin - installed v2.0.6 from within Picard). When I tag albums I get lots of errors that appear like the one below - all apparently referring to the same line of code.

Am I doing something stupid or is this a known bug? Many thanks!

"Traceback (most recent call last):
File “picard/”, line 404, in _finalize_loading_track
File “picard/”, line 409, in run_track_metadata_processors
File “picard/”, line 219, in run
File “/Users/psollich/Library/Preferences/MusicBrainz/Picard/plugins/”, line 4138, in add_work_info
self.ERROR = options[“log_error”]
TypeError: string indices must be integers

I think this error may have been introduced by the new options code in v2.0.6. I will take a look. Perhaps @outsidecontext can help as well?

Please note that the error reported above causes Classical Extras to fail in adding all the extra metadata, so do not use it until a fix is reported.

It looks like something changed in Picard 2.2 which has the effect of stripping all dictionaries saved as metadata - just saving a list of the keys with no values. This is fundamental to the operation of Classical Extras. I recommend that Classical Extras users do not upgrade to Picard 2.2. until this is fixed.

1 Like

I’m about to install an older version of Picard to try out CE. Do you recommend going as far back as 2.0?

No. As mentioned above CE is not compatible with Picard 2.2, you should use the latest version before that which is 2.1.3