Classical Extras 2.0

Brandenburg goes well now.

But here is another release that still makes Picard abruptly close without a warning or error log entry:

I also have a question about something I can’t figure out myself:

For ‘Genre’, if I have selected ‘work-type’ as a source I will indeed e.g. get ‘Aria’ for a song.
I tested if it actually came from 'work-type, and since it doesn’t appear if I have ‘work-type’ unchecked, I am pretty sure it must be coming from there.

But now I want to use a simple script that writes a tag sourced from work-type:
$set(test_work_type,$get(_cea_work_type))

I would expect it will create that tag containing ‘Aria’.
But that tag will not be created.
What am I missing?

Is it compatible with the latest version of Picard? can we upgrade both?

Bug - hopefully fixed at Release Classical Extras 2.0.9 · MetaTunes/picard-plugins · GitHub

1 Like

For some reason the hidden variable _cea_work_type has not been retained. Not sure why, as it is used in creating the genre tag. I’ll look into it, but have run out of time and may not be able to do so until next week.

1 Like

Use 2.0.9 as linked above - it should be compatible with the latest Picard version.

2 Likes

Do you need tester on this new version?
I’m happy with the current version that I’m using :grinning:
In any case, many thanks for your work on this great plugin.

Any testing pre-release is helpful. As you can see from previous posts there are some odd situations that cause crashes, so you might want to install 2.0.9 anyway. Thanks.

I’ve been running a large variety of releases through it, and I experienced no more crashes.
(b.t.w., just so you know 2.0.9 is labeled as 2.0.8)

No problem.
For the mean time I’ll see if I can extract it from _cwp_candidate_genres.

OK. _cea_work_type is for genres inferred from artists (hence the _cea prefix) - see the readme. There is no separate variable for the type attributes of work, so I have created one - _cwp_worktype_genres - avaialble in:

Wow!
That’s impressive, and already looking good at the very first try.
I’m surely going to try this out more in-depth the coming weekend.

Fun-fact, Picard suggests I should update the plugin from 2.0.10 to 2.0.7:

Just mentioning this (and pinging @outsidecontext ) in case it affects other and stable released plugins too.

1 Like

I guess that’s because 2.0.7 is the official release. If there are no more immediate changes then I’ll PR 2.0.10 and we’ll be straight again - but this will definitely be at least a week off because I am away from tomorrow.

1 Like

Maybe. I do have ‘check for: stable, beta and dev releases’ checked though.
So perhaps Picard is only checking the first digit after a dot?

Or perhaps there should have been some ‘beta’ or ‘dev’ label in your latest lightning-fast impromptu release?
(obviously you are totally excused if that is the case :wink:

If that’s the check for updates section that I wrote, it only applies to Picard and not plugins. I believe that the plugin checks are handled separately.

That’s quite possible.

It’s a bug, fix is up for review. See PICARD-1756. Thanks for spotting :slight_smile:

2 Likes

I’ve been playing around with ‘work types’ a bit.

I thought it would be good to start by getting a list of work types that are generally regarded as being qualified work types in classical music.
That proved to be a bit harder than I imagined, so I tried to assemble a comprehensive list myself by scraping the web at different sources.
This is the result (for now):

Air
Allemande
Agnus Dei
Aria
Bagatelle
Ballad
Ballata
Barcarole
Ballet
Berceuse
Bolero
Bourrée
Burlesque
Cadenza
Canon
Cantata
Canzona
Canzonetta
Capriccio
Carol
Chaconne
Chamber music
Chanson
Chant
Chorale
Chorale prelude
Chorus
Concertino
Concert piece
Concerto
Concerto for Orchestra
Concerto grosso
Courante
Credo
Dance
Divertimento
Double concerto
Duet
Elegy
Entr'acte
Entrée
Etude
Fanfare
Fantasia
Fugue
Galliard
Gavotte
Gigue
Humoresque
Hymn
Impromptu
Interlude
Intermezzo
Introduction
Kyrie
Lament
Lauda
Lied
Litany
Madrigal
March
Mazurka
Minuet
Missa brevis
Missa solemnis
Motet
Nocturne
Opera
Oratorio
Overture
Partita
Passacaglia
Passepied
Pavane
Piano ballade
Polka
Polonaise
Prelude
Psalm
Quadrille
Requiem
Requiem Mass
Rhapsody 
Ricercar
Rigaudon
Rondo
Saltarello
Saraband
Scherzo
Serenade
Siciliana
Sinfonia concertante
Sinfonietta
Solo concerto
Solo suite
Sonata
Sonatina
Song cycle
String quartet
Suite
Symphonia
Symphonic poem
Symphony
Tiento
Toccata
Triple concerto
Waltz

.

Then I tried out Classic Extra’s work type features to see if that would result in tags that matched what I would expect to be appropriate for the recording/work, and it being a work type from my fabulous list.

Well, the answer is: no, not really.
This is not criticism targeted at the plugin. The plugin is doing fantastic, making smart efforts, and will have to make do with what is available from MusicBrainz’ database.
(I am guessing ‘work type’ is not a current attribute in MusicBrainz’ database?)

At the moment I am not sure how I will proceed with this, but there is one thought that came up and I thought to share and have it’s tires kicked:

Many of the ‘work type’ keywords I would expect to show up, but don’t, happen to be present in the titles of the recordings.
Would it be an idea and a possibility to have the plugin (also) looking at the titles of works/parts/movements to try and resolve an appropriate work type?

.

edit:
Hate to, but probably should already anticipate on further complications;
There probably should be levels for work types.
The top level work type could be ‘Opera’, but for a lower level part of it, it could be ‘Aria’.

Type is an attribute of Work in the MB database. It can be a bit sparsely populated though.

It would be perfectly possible to do this. You would need to put your list into the classical music genres or sub-genres box in the genres tab. I’ll look into it next week. As regards the different levels, since all the attributes would be attached to a track, you would get them all listed as genre or sub-genre. So maybe opera and aria.
BTW there is already a function that infers genre from artist type, if you tick the box at the top of the genres tab. This is the one that populates _cea_work_type :wink:

1 Like

Indeed, setting-up a work type structure is going to be tough …
Some of the types that you have listed may be considered as “movement type” rather than work type.

Yes, that’s true. For that list I tried to cover every type of composition.
Be it a top level work, such as Opera or Requiem, or be it a self-contained composition, or a type that can be both.

My objective with that list is that it should contain all types of compositions that you would need to label either a high-level or a low-level work/composition with.
And (very important) not have it containing anything that is only a genre.
Especially that seems to be a big problem when labeling classical compositions.
Mixing up genres and work/composition types is pretty much everywhere I looked.

For this forum post I chose to post it as a flat list, but for constructing it I did take the different levels of classical compositions into account. But I didn’t want to complicate things too much at this first attempt to see if this ‘resonated’, and if something could be done with this.