# Classical Extras plugin (for Picard 1.4.x)

**URL:** <https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217>\
**Category:** MusicBrainz Picard\
**Tags:** classical, picard\
**Created:** [July 7, 2017, 11:22pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217 "2017-07-07T23:22:05Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 1, 2017, 1:06pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/81 "2017-12-01T13:06:52Z")

</div>

> [@hiccup](#):
>
> I’m not sure I understand the above quote. Do you mean you could change something in the code, but you are asking my opinion on it?

I guess I was 😉 My thinking is that it is more consistent to make the change. I’ve spotted some other areas where consistency could be improved, so I’ll do them as a batch.

> [@hiccup](#):
>
> Is there an option to save the current settings of the plugin?

There are two ways of doing this:

1. Save your picard.ini file (copy and rename as something) - it’s in AppData-\>Roaming-\>MusicBrainz in Windows.
2. On the Advanced tab in the plugin UI, “Save plugin details and options in a tag?” can be used so that the user has a record of the version of Classical Extras which generated the tags and which options were selected to achieve the resulting tags. This will just associate the options with that particular release. To re-use them, check the “Over-ride plugin options displayed in UI with options from local file tags” option.  
See the readme for full details. I just use the comments tag (see the picture in the readme). Best to stick with the same name once you’ve chosen one - I haven’t fully tested what happens if you change the name here (it should cope, but no guarantees).

---

<div class="post-metadata">

**Author:** ![hiccup](https://community.metabrainz.org/user_avatar/community.metabrainz.org/hiccup/32/5512_2.png) [@hiccup](https://community.metabrainz.org/u/hiccup)\
**Post date:** [December 1, 2017, 1:19pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/82 "2017-12-01T13:19:40Z")

</div>

> [@MetaTunes](#):
>
> To re-use them, check the “Over-ride plugin options displayed in UI with options from local file tags” option.

Ah, that’s very clever.  
I really have read the tutorial, and my eyes have went over the settings certainly more than once, but only now the penny has dropped on that one…

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 1, 2017, 1:43pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/83 "2017-12-01T13:43:48Z")

</div>

> [@hiccup](#):
>
> It now looks like it doesn’t, so in that case my request would be simply to have the option to write ‘showmovement’ instead of ‘show work movement’.

The plugin writes to “show work movement” (only) because that is the tag that I think iTunes uses. I wasn’t aware of a different tag being used by other software. However, if you want to use a different tag, just use the tag mapping - map the source “show work movement” to “showmovement” or whatever.  
“show work movement” is set to 1 if the number of levels is \> 0. If you need more sophisticated information, the source “part\_levels” will give the number of levels for this track and “work\_part\_levels” gives the greatest number of levels for the work as a whole.

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 5, 2017, 12:07am UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/84 "2017-12-05T00:07:37Z")

</div>

I’ve redone the way the plugin handles sort tags (and slightly renamed the option accordingly). The readme (see the text for “Also populate sort tags”) hopefully explains the new approach. The new release also tidies up the handling of the additional artist types such as Arranger and fixes a few small bugs. See [https://github.com/MetaTunes/picard-plugins/releases/tag/v0.8.6](https://github.com/MetaTunes/picard-plugins/releases/tag/v0.8.6) for the install file and [https://github.com/MetaTunes/picard-plugins/blob/1.0/plugins/classical\_extras/Readme.md](https://github.com/MetaTunes/picard-plugins/blob/1.0/plugins/classical_extras/Readme.md) for the readme.

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 12, 2017, 5:56pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/85 "2017-12-12T17:56:02Z")

</div>

Please note that if you want to use Classical Extras, it will only run currently with Picard v1.4, not v2.0. I am planning a v2.0-compatible version, but not quite yet.

---

<div class="post-metadata">

**Author:** ![hiccup](https://community.metabrainz.org/user_avatar/community.metabrainz.org/hiccup/32/5512_2.png) [@hiccup](https://community.metabrainz.org/u/hiccup)\
**Post date:** [December 15, 2017, 11:17am UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/86 "2017-12-15T11:17:38Z")

</div>

I have Picard setup with a script to write MusicBrainz’s ‘Work’ title to the ‘title’ tag.  
(I like having this ‘recording of:’ as a title)

But when I have the plugin active, the title tag is always (over)written.

I have searched for possible settings related to writing the ‘title’ tag, but couldn’t find any.  
Is there a way to prevent the plugin from writing the ‘title’ tag?

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 15, 2017, 12:03pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/87 "2017-12-15T12:03:41Z")

</div>

What script are you using?

---

<div class="post-metadata">

**Author:** ![hiccup](https://community.metabrainz.org/user_avatar/community.metabrainz.org/hiccup/32/5512_2.png) [@hiccup](https://community.metabrainz.org/u/hiccup)\
**Post date:** [December 15, 2017, 12:16pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/88 "2017-12-15T12:16:49Z")

</div>

$set(title,$if2(%work%,%title%))  
$unset(work)

---

<div class="post-metadata">

**Author:** ![hiccup](https://community.metabrainz.org/user_avatar/community.metabrainz.org/hiccup/32/5512_2.png) [@hiccup](https://community.metabrainz.org/u/hiccup)\
**Post date:** [December 15, 2017, 1:46pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/89 "2017-12-15T13:46:51Z")

</div>

PS

Another (and more ideal) solution would of course be that your plugin could map and write MusicBrainz’s ‘work’ title. (= “recording of:” )  
Then I could avoid the need of a script for it.  
But unless I am mistaken, that cannot be achieved at the moment?

(and wouldn’t it be nice if like the Eskimos have 50 words for snow, we had 50 words for work?)

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 15, 2017, 2:24pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/90 "2017-12-15T14:24:07Z")

</div>

Classical Extras does not overwrite title. However, if you have specified “work” as a tag in the options, the script will use that, not the original MB work (the script runs after the plugin).  
You have a number of alternatives:

1. Make sure “work” is not set by Classical Extras (also make sure you are not overriding the displayed options and setting it).
2. Use the hidden variable “\_cwp\_work\_0” in the script instead of work (no need to unset afterwards)
3. 

> [@hiccup](#):
>
> Another (and more ideal) solution would of course be that your plugin could map and write MusicBrainz’s ‘work’ title. (= “recording of:” )

That’s exactly right. Use tag mapping to map “work\_0” to “title”. You will also have to add “title” in the list of tags to blank (otherwise it will append work to the existing title) and add another tag mapping line (after the first) to map “title” to “title” with “conditional” selected (in case there isn’t a work for the track).

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 15, 2017, 2:38pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/91 "2017-12-15T14:38:28Z")

</div>

PS. I have 50+ words for work:  
work\_0  
work\_1  
work\_2  
…  
😄

---

<div class="post-metadata">

**Author:** ![hiccup](https://community.metabrainz.org/user_avatar/community.metabrainz.org/hiccup/32/5512_2.png) [@hiccup](https://community.metabrainz.org/u/hiccup)\
**Post date:** [December 15, 2017, 3:00pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/92 "2017-12-15T15:00:25Z")

</div>

> [@MetaTunes](#):
>
> Classical Extras does not overwrite title. However, if you have specified “work” as a tag in the options, the script will use that, not the original MB work (the script runs after the plugin)

Ah, I’m sorry, false accusations. I indeed wasn’t sure about the sequence plugin\>script, so that’s now clear too.

Quickly testing it on a few albums, your solution #3 seems to do exactly what I was wishing for.

Thanks for the fast support (and again for the great plugin)

---

<div class="post-metadata">

**Author:** ![hiccup](https://community.metabrainz.org/user_avatar/community.metabrainz.org/hiccup/32/5512_2.png) [@hiccup](https://community.metabrainz.org/u/hiccup)\
**Post date:** [December 15, 2017, 5:17pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/93 "2017-12-15T17:17:24Z")

</div>

Currently I am experiencing two issues:

I am experiencing regular freezes when trying to load albums in Picard.  
If they already contain MB ID’s, without the plugin active, loading it’s information in the right panel goes quite speedy.  
But with the plugin active, not only does it go a lot slower, but it also regularly freezes.  
Restarting Picard will fix it, but after a couple of albums it often freezes again. (it will continue displaying “loading album information”)

Secondly (but this might well be to be expected), loading incomplete box-sets/albums goes very slow.  
For example from a box set of originally 20 albums, I might have only 8 tracks containing a specific work\_n 😉  
With the plugin deactivated, it will load rather quickly (a couple of seconds), showing all box set tracks, and only 8 of them with a green block. (which is to be expected)  
With the plugin active, this will take a lot more time, and as I said, also regularly is interrupted by freezes.  
I notice at the bottom right of Picard’s panel that the green arrow will be counting down all tracks from the box set. Not only the 8 tracks that are actually present.  
That probably explains the longer loading time, but without the plugin active Picard seems to ‘know’ only to get info for the tracks present?

Let me now if I can do some more specific tests if you see possible issues here.

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 15, 2017, 5:20pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/94 "2017-12-15T17:20:05Z")

</div>

Just a quick thing first - check that you have removed logging in the “advanced” tab. For first-time loads, I recommend only logging errors, not warnings, debug or info.

---

<div class="post-metadata">

**Author:** ![hiccup](https://community.metabrainz.org/user_avatar/community.metabrainz.org/hiccup/32/5512_2.png) [@hiccup](https://community.metabrainz.org/u/hiccup)\
**Post date:** [December 15, 2017, 5:30pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/95 "2017-12-15T17:30:54Z")

</div>

The first two albums I tried with logging off both failed and froze.  
(retried without the plugin, and it went smoothly)

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 15, 2017, 5:35pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/96 "2017-12-15T17:35:49Z")

</div>

Have you tried loading them from MB first using the tagger button, then matching to the files?

---

<div class="post-metadata">

**Author:** ![hiccup](https://community.metabrainz.org/user_avatar/community.metabrainz.org/hiccup/32/5512_2.png) [@hiccup](https://community.metabrainz.org/u/hiccup)\
**Post date:** [December 15, 2017, 5:37pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/97 "2017-12-15T17:37:21Z")

</div>

They already contain all MB id tags.

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 15, 2017, 6:14pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/98 "2017-12-15T18:14:07Z")

</div>

Best to PM this issue, I think

---

<div class="post-metadata">

**Author:** ![hiccup](https://community.metabrainz.org/user_avatar/community.metabrainz.org/hiccup/32/5512_2.png) [@hiccup](https://community.metabrainz.org/u/hiccup)\
**Post date:** [December 15, 2017, 6:23pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/99 "2017-12-15T18:23:25Z")

</div>

Ok. But before possibly wasting your time, I’ll do some more testing first for at least a couple of days. I also found the picard.exe.log file, and I’ll see if I notice anything there that might give a clue.

So you yourself never experience such freezes?  
That would definitely hint at something being wrong with my settings/setup.  
Maybe some setting I have changed in Picard that doesn’t play nice with your plugin.  
I’ll be back when I have some more useful info.

---

<div class="post-metadata">

**Author:** ![MetaTunes](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/m/ea5d25/32.png) [@MetaTunes](https://community.metabrainz.org/u/MetaTunes)\
**Post date:** [December 15, 2017, 10:57pm UTC](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217/100 "2017-12-15T22:57:29Z")

</div>

No probs. I have a test set of currently about 160 albums (and growing) which I use for regression testing and it all runs as a batch with no errors. I hope to release v0.8.7 shortly which fixes known bugs and has a few improvements.

[Previous page](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217.md?page=4)

[Next page](https://community.metabrainz.org/t/classical-extras-plugin-for-picard-1-4-x/300217.md?page=6)
