getmusicbee.com

Support => Questions => Topic started by: hiccup on May 06, 2023, 05:15:20 PM

Title: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on May 06, 2023, 05:15:20 PM
When using a virtual tag that references <Composer>, it is not parsing the actual 'Composer' tag but the 'Display composer' tag.
This can cause problems when a track has multiple composers.

(seems somehow related to this: https://getmusicbee.com/forum/index.php?topic=39254.msg212030#msg212030 , what has been solved earlier today)

I am guessing that's a mistake/oversight that can be corrected?
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Steven on May 06, 2023, 11:15:00 PM
<Composer> maps to display composer
I would need to add a <Composers> tag (like <Artists>) to make the individuals available
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on May 06, 2023, 11:48:01 PM
<Composer> maps to display composer
Why not to 'Composer?

Quote
I would need to add a <Composers> tag (like <Artists>) to make the individuals available
I can't oversee what that would mean exactly, but in general my opinion is that it is good to always  be clear and consistent about the differences between plural and singular for all tags.

artist vs. artists
album artist vs. album artists
composer vs. composers
etc.

So MB currently parsing 'Display composer' (which can be plural) when a virtual tag is using <composer> (singular) ijust seems wrong to me.

So if your suggestion means that MB would have separate tags for composer and composers I am all for it.
(while at it, perhaps add 'album artists' too?)
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: vzell on May 07, 2023, 10:12:34 AM
+1
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: The Incredible Boom Boom on May 08, 2023, 07:58:02 PM
I'm ok with this as long as the current functionality of <Composer> remains the same.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Steven on May 08, 2023, 09:49:57 PM
for v3.6 i have added a <Composers> tag
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on May 09, 2023, 06:28:18 AM
I'm ok with this as long as the current functionality of <Composer> remains the same.
But not the fact that for virtual tags MB currently parses 'display composer' instead of 'composer' I hope?
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on May 13, 2023, 07:50:35 AM
So I finally understand why I have been getting unexpected results with both virtual tags and theater modes (what has been addressed with the latest patch) when using 'Composer'.

MusicBee is preferring a possible present 'Display Composer' tag over the actual 'Composer' tag.
It is not only doing that for displaying purposes at locations where that might make sense, but it is also doing that in the Tag Editor panel, and for virtual tags.
Hm, I now realise I should always check the ... button at the right of the composer field to see what is shown there. Same as with 'Artist'. *

(https://i.imgur.com/4KCMgaV.png)

In my opinion that's incorrect and unexpected behaviour.

1. Can it be changed so that the actual 'Composer' tag is always used when a virtual tag uses <Composer>, and does not switch to using Display Composer if that happens to be populated too?
    (perhaps <Display Composer> could additionally be made available for use in virtual tags so to have that option available too? But then again that may not be needed when 3.6 gets <Composers> )
2. Are there occasions where MusicBee will auto-populate the Display Composer tag by itself? (similar to Display Artist)

For now I am deleting all existing Display Composer tags from my library, which solves the current issues, but I am concerned MusicBee might populate them again at some point without me knowing.


* edit

3. A + sign should probably be added to Composer in the Tag Editor to indicate it when Composer has multiple fields.
    Similar to that happening for Artist:

(https://i.imgur.com/6FNJ2R8.png)
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on May 13, 2023, 05:02:42 PM
1. Can it be changed so that the actual 'Composer' tag is always used when a virtual tag uses <Composer>, and does not switch to using Display Composer if that happens to be populated too?
    (perhaps <Display Composer> could additionally be made available for use in virtual tags so to have that option available too? But then again that may not be needed when 3.6 gets <Composers> )
2. Are there occasions where MusicBee will auto-populate the Display Composer tag by itself? (similar to Display Artist)
#1
The introduction of <composers> will make it possible to access the actual <composer> value(s) - which wasn't possible prior to you bringing this up.
I'm not so sure if that change should be done now so far in the development as:
<artist> (outputs display artist) and <artists> (outputs the actual value(s)) have also worked on the same basis since inception by the looks of it.

#2
In my testing, <display composer> is only written to the file when the composer field in the Tag Editor is different from the actual value(s) in <composer>, if that make sense.

For now I am deleting all existing Display Composer tags from my library, which solves the current issues, but I am concerned MusicBee might populate them again at some point without me knowing.
Not knowing anything about the classical side of music, are you sure that's a good idea...
Looking at ur screenshot, I don't see C. Richard F. Maunder as a separate <composer> tag.
Do you have that value saved elsewhere? Won't you lose a record of that person in the file once you clear <display composer>?
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on May 13, 2023, 05:13:09 PM
Not knowing anything about the classical side of music, are you sure that's a good idea...
Looking at ur screenshot, I don't see C. Richard F. Maunder as a separate <composer> tag.
Do you have that value saved elsewhere? Won't you lose a record of that person in the file once you clear <display composer>?
That is where <Composers> gets in. (which is going to be added for MusicBee 3.6)

For me, then <Composer> will be a singular value (it could be "Composer1, Composer2" though, note the use of a comma instead of a semicolon)
<Composers> will contain all 'composers', which in my case (using Picard) will automatically get populated with all the people that had some significant role in how the composition came to be.

edit
I'm not sure this is interesting to anyone else, but while it is on my mind:
This will also allow me to separately display the 'main' composer and any 'additional' composers. (that have made alterations or additions to the original—or uncompleted (*)—composition)
(by subtracting <Composer> from <Composers>)

(*)  Some composers had the audacity to die before completing some of their works.
B'tards.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on May 13, 2023, 05:47:59 PM
Not to be misunderstood: I welcome the introduction of <composers>.
It's the suggested change of getting <composer> to not parse <display composer> that I feel would be consequential to <artist> & <artists> as they both currently use the same behavior.
The suggestion is valid, the way I see it too, but if taken up, won't it necessitate a change in the result/output of <artist> as well? (for uniformity/consistency)

For me, then <Composer> will be a singular value (it could be "Composer1, Composer2" though, note the use of a comma instead of a semicolon)
<Composers> will contain all 'composers', which in my case (using Picard) will automatically get populated with all the people that had some significant role in how the composition came to be.
Will <composers> be a writable tag? I got the impression that it would only be for display purposes in the virtual tag editor and other concerned areas.
I'm most probably confused or uninformed on how composers actually work - I can't understand at the moment why you don't prefer <composer> having multi-values.

If <composers> is to work the same as <artists> (as I've understood it), it will merely be a readable tag that contains all the individual <composer> tags.
The same multiple tags that you plan to add onto <composers>, I don't get why you haven't added them as individual <composer> tags yet.

I have a feeling that I missed the mark completely, but I wouldn't like for you to derail the purpose of this thread by explaining the concept of composers to me.
This wouldn't be the topic for that. Ignore my statements if they are truly missing the point.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on May 13, 2023, 06:12:41 PM
Quote from: Mayibongwe
The suggestion is valid, the way I see it too, but if taken up, won't it necessitate a change in the result/output of <artist> as well?
That may be a valid point, but I have no virtual tags that make use of artist or artists, so I have no opinion on that. Others may want to chip in on that?

Quote from: Mayibongwe
Will <composers> be a writable tag? I got the impression that it would only be for display purposes in the virtual tag editor and other concerned areas.
Absolutely, it will be a regular tag just like all the others.

Quote from: Mayibongwe
I can't understand at the moment why you don't prefer <composer> having multi-values.
I won't go into the details of my over-complicated schemes, but for

1. I value being clear and consistent about the difference between singular and plural. (e.g. Album Artist and Album Artists have their different purposes)

2. For classical compositions you can have a main composer and secondary composers that have added stuff or made alterations afterwards. They are still 'composers' of the piece, but they are not the main composer. It is nice if they can be kept separated.

Quote from: Mayibongwe
Ignore my statements if they are truly missing the point.
I certainly won't ignore any of your comments ;-)
Questioning things is always good. It may bring me to reconsider things I may have overlooked, or help others to understand better what is being asked for/discussed here.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: The Incredible Boom Boom on May 14, 2023, 12:56:17 AM
But not the fact that for virtual tags MB currently parses 'display composer' instead of 'composer' I hope?

Unfortunately, yes. My stupidly complex Virtual Tags parse "Display Composer" as it is currently.
If <Composer> remains as it has been, while @Steven merely includes <Composers>, nothing on my end would be affected, I believe.
The above change, however, along with the addition of more Virtual Tags, may allow me to significantly simplify some of my complicated ones in the future!

#2
In my testing, <display composer> is only written to the file when the composer field in the Tag Editor is different from the actual value(s) in <composer>, if that make sense.

Yes, that's how it works. In fact, part of my mp3tag processing explicitly writes the DISPLAY COMPOSER tag to the file so MB doesn't write it to the library.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on May 14, 2023, 06:50:07 AM
My stupidly complex Virtual Tags parse "Display Composer" as it is currently.
Ok, but you are not actually 'telling' MusicBee to use 'Display Composer' to retrieve the data.
It just 'happens' that you have populated 'Display Composer', and in that case MB switches from parsing 'Composer' to parsing 'Display Composer'.

There may be history for that behaviour, but I still find it odd and unexpected.

If I understand your setup correctly, as soon as <Composers> is available, couldn't you simply copy your <Composer> tags to <Composers>, and then do a search and replace in your virtual tags to replace <Composer> with <Composers>?
That shouldn't be a big operation?


edit:
And out of curiosity, in your case, where does mp3tag retrieve composer data from? MusicBrainz?
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: The Incredible Boom Boom on May 14, 2023, 01:02:38 PM
Ok, but you are not actually 'telling' MusicBee to use 'Display Composer' to retrieve the data.
It just 'happens' that you have populated 'Display Composer', and in that case MB switches from parsing 'Composer' to parsing 'Display Composer'.

There may be history for that behaviour, but I still find it odd and unexpected.

I view it similarly to how @Mayibongwe does <Artist> (which is represented by "Display Artist"), just that @Steven hasn't given us a <Composers> option until now.

Quote
If I understand your setup correctly, as soon as <Composers> is available, couldn't you simply copy your <Composer> tags to <Composers>, and then do a search and replace in your virtual tags to replace <Composer> with <Composers>?
That shouldn't be a big operation?

Not necessarily, because <Composers> will be formatted as
Code
Person 1; Person 2; Person 3
while my use case for "Display Composers" is Person 1, Person 2 and Person 3.

Quote
edit:
And out of curiosity, in your case, where does mp3tag retrieve composer data from? MusicBrainz?

Yup!
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: The Incredible Boom Boom on May 14, 2023, 01:05:57 PM
While we're on this topic... @Steven, would it be a problem for <Lyricist> to be given the same treatment?
Correct me if I'm wrong, but <Lyricist> also maps to something like "Display Lyricist"?
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on May 14, 2023, 01:44:11 PM
Not necessarily, because <Composers> will be formatted as
Code
Person 1; Person 2; Person 3
while my use case for "Display Composers" is Person 1, Person 2 and Person 3.
I am doing:  Composer1, Composer2, Composer3   for <Composer>
and Composer1; Composer2; Composer3  for <Composers>

So the first one can be used for displaying purposes, and the second one for 'database' purposes.
Which is exactly the same as how I am using <Album Artist>  vs. <Album Artists>

To dive in a little bit deeper:

For me <Composer> can also look like:
Wolfgang Amadeus Mozart (Franz Xaver Süßmayr)
if there is a 'main' composer and another one that has done edits or completions.

I also have <Sort composer> that only contains the last names:
Mozart (Süßmayr)

In my case all the heavy lifting is done by Picard (scripts) that produces these variations of 'composer' tags exactly to my liking.
Pretty much all MusicBee has to do is read them.
(and using some fairly simple virtual tags on them)
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on May 14, 2023, 02:07:07 PM
While we're on this topic... @Steven, would it be a problem for <Lyricist> to be given the same treatment?
Correct me if I'm wrong, but <Lyricist> also maps to something like "Display Lyricist"?

And while at it, could <Album Artists> also be added for 3.6?
It would make things more consistent overall, and free up a custom tag for me…
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on January 27, 2024, 10:17:23 AM
hiccup, I suddenly remembered this thread and I've come to collect my trophy, haha.

<Composers> will contain all 'composers', which in my case (using Picard) will automatically get populated...
Will <composers> be a writable tag? I got the impression that it would only be for display purposes in the virtual tag editor and other concerned areas.
If <composers> is to work the same as <artists> (as I've understood it), it will merely be a readable tag that contains all the individual <composer> tags.
Absolutely, it will be a regular tag just like all the others.
On v3.6, there is indeed now a <composers> field available for use in virtual tags, display fields, etc.
But one cannot actually write to this tag, it is read-only.

Forgetting all of that, is it working how you imagined it would for your use-case?
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on January 27, 2024, 10:34:43 AM
In fact, users are now prohibited from creating custom tags labelled <composers>, because it's now a native read-only tag.
In the update, I'm not sure how MusicBee addressed installations like yours that already had <composers> setup as a custom tag.

(https://i.imgur.com/d4OdX59.png)
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on January 27, 2024, 10:46:34 AM
On v3.6, there is indeed now a <composers> field available for use in virtual tags, display fields, etc.
But one cannot actually write to this tag, it is read-only.

Forgetting all of that, is it working how you imagined it would for your use-case?

Regrettably, no.

For me it is a regression, since as you pointed out in your other post, I already had a custom tag named 'Composers'.
That one was fully writable and independent from 'Composer'.
I need that for reasons I explained a couple of posts earlier.

Now that v3.6 has a read-only 'Composers' tag, I can no longer use my custom 'Composers' tag.

I really wish that for a future update we can have both 'Album Artists' and 'Composers' as fully functional, independent tags.
 
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on January 27, 2024, 10:58:48 AM
I really wish that for a future update we can have both 'Album Artists' and 'Composers' as fully functional, independent tags.
Haven't given much thought to the above as I reply (will come back on it).
But for now, I'm positive we don't have a "fully functional and independent" <composers> tag because it would necessitate a change in <artist> and <artists>,
and those two have always worked that way since forever and their behaviour cannot be changed this many years later.

<album artists> sounds like it has its own separate 'debate' (hence why I didnt mention it above). Will think more on these and revert with more opinions.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on January 27, 2024, 11:49:37 AM
<album artists> sounds like it has its own separate 'debate' (hence why I didnt mention it above). Will think more on these and revert with more opinions.
Here's my argumentation for having a dedicated Album Artists tag:
https://getmusicbee.com/forum/index.php?topic=29851.msg166102#msg166102

I am not sure why Steven has added 'Composers' for v3.6 in the read-only way that he did.
If it was as a fulfillment for my requests for such a tag, it's not what I requested/suggested.

And, I don't agree that 'Composers' and 'Album Artists' should (or could) function identical to the long existing 'Artists' tag.
'Artists' is a very different beast, in that it can also display performers etc., and not only multivalue tags from strictly 'Artist' alone.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on January 27, 2024, 12:47:25 PM
let's continue here for now: https://getmusicbee.com/forum/index.php?topic=40598
There seems to be a misunderstanding (on my part, or yours) on how these multivalue tags are supposed to work.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on January 27, 2024, 03:16:34 PM
@Mayibongwe:

For my classical MusicBee installation I am still using v3.5.
(and I will until v3.6 is officially released)

So I don't really have experienced this new Composers tag yet.
In case you are currently diving into the matter more deeply, could you explain what the benefit of this read-only implementation  of  Composers is exactly?
E.g. can it do anything that a simple virtual tag can not do?
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on January 27, 2024, 05:03:20 PM
could you explain what the benefit of this read-only implementation  of  Composers is exactly?
E.g. can it do anything that a simple virtual tag can not do?
Yes, with it, one's able to access the actual <composer> values (like <artists> which accesses the actual <artist> values)
Without <composers>, there'd be no way to access Wolfgang Amadeus Mozart on the below, since it would spit out the display composer instead:

Which circles back to your original question I suppose - "why is <composer> mapping to <display composer> and not composer itself?"
I haven't had an answer to that other than "that is how the neighbouring artist tags work. If the composer tags had to stray away from that behaviour, the artist tags might need to be changed as well for uniformity's sake - something which would be highly unlikely."

(https://i.imgur.com/4KCMgaV.png)
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on January 27, 2024, 05:19:38 PM
Yes, with it, one's able to access the actual <composer> values (like <artists> which accesses the actual <artist> values)
Without <composers>, there'd be no way to access Wolfgang Amadeus Mozart on the below, since it would spit out the display composer instead:
Thanks for this Mayibongwe.

But I don't understand. (could be me and a drink on a Saturday night)
How do you mean, "there'd be no way to access Wolfgang Amadeus Mozart on the below".
He is the composer, and he is in the Composer tag?

Display composer is indeed a story by itself. (and currently discussed elsewhere if I am not mistaken)

I did a very brief test loading one of my classical tracks in a v3.6 test install to test this new Composers tag, and what I feared seem to be true:
While the track contains several Composers tags (three of them), the v3.6 beta Composers tag only displays what is in the Composer tag. Not what is in the actual Composers tag.

This is bad.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Steven on January 27, 2024, 08:54:18 PM
I did add Composers as a tag in v3.6, so if its causing a problem i can remove it
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on January 27, 2024, 09:04:33 PM
I did add Composers as a tag in v3.6, so if its causing a problem i can remove it
The current implementation surely causes problems for me.
I would much rather have it changed to be a regular Composers tag.
Fully independent of the Composer tag.

But this is of course only my personal opinion.
Perhaps other users (that are actually using this feature and not just theorising about it) have something else to say about it.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on January 27, 2024, 09:08:06 PM
But I don't understand. How do you mean, "there'd be no way to access Wolfgang Amadeus Mozart on the below".
He is the composer, and he is in the Composer tag?
Right. He is the composer, and he is in the Composer tag.
However, what led you to create this topic to begin with is the answer to the above quote.
The field <Composer> in MusicBee is actually <Display Composer> behind the scenes.

By default, a 'display tag' will be set to whatever value is contained in the actual tag.
The moment you change that display tag, you lose access to the actual tag's value.

On your screenshot: imagine that <Display Composer> was set to "hiccup's tag".
Without <composers>, you wouldn't be able to access Wolfgang, as <composer> would only return "hiccup's tag".

I did add Composers as a tag in v3.6, so if its causing a problem i can remove it
We're at crossroads here because if <composers> is removed, that means folks who want access to the actual composers will never have access to that tag.
I myself do not make use of the composer tags as much, I'm merely sharing my observations - no strong opinions.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Steven on January 27, 2024, 09:10:46 PM
i have removed it for now
https://getmusicbee.com/patches/MusicBee36_Patched.zip
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on January 27, 2024, 09:26:06 PM
i have removed it for now
https://getmusicbee.com/patches/MusicBee36_Patched.zip
Thanks.

edit
I stand corrected for saying that it was added silently:
https://getmusicbee.com/forum/index.php?topic=39262.msg212160#msg212160

This 'display composer' stuff may be complicating things indeed.
(for regular users that is, I have Picard also writing that tag to my requirements)
It looks like I need to reread this thread from the beginning and do some more thorough testing.
It's probably good to refresh my memory and have a clearer overview on the matter before I speak again.
But I'm pretty sure I will persist in my opinion on the Composers tag.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on January 28, 2024, 04:38:50 PM
Correct me if I'm wrong, but <Lyricist> also maps to something like "Display Lyricist"?
To answer the above...It doesn't, at least not from what I can see in MusicBee's Tag Editor and Inspector.
Unlike artist and composer, <Lyricist> (or any other multivalue tag) has no display equivalent - the values you see on the field are the actuals.
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: Mayibongwe on January 28, 2024, 04:54:21 PM
@hiccup, something else just caught my eye:

On your earlier screenshot (https://getmusicbee.com/forum/index.php?topic=39262.msg220329#msg220329), you seem to have an <artists> tag (Christopher Hogwood) that you must have populated externally.
Like what had transpired with <composers> yesterday, you can't actually make use of that <artists> tag in MusicBee, can you?
In your virtual tags or anything, MusicBee doesn't retrieve the actual <artists> tag, does it? It merely returns values from <artist>?

Also a general FYI to anyone: Given that <artists> is a MusicBee-native tag, users are not allowed to define a custom tag labelled "Artists".
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on January 28, 2024, 10:30:13 PM
@hiccup, something else just caught my eye:
On your earlier screenshot (https://getmusicbee.com/forum/index.php?topic=39262.msg220329#msg220329), you seem to have an <artists> tag (Christopher Hogwood) that you must have populated externally.
It's interesting to see how focused and fascinated you are about that specific screenshot ;-)
Be aware that that is a screenshot from my 'classical' MusicBee installation, which gets it tags from Picard, and to be specific, a Picard install that I have tweaked specifically for classical music.
My 'non-classical' MusicBee install, and my 'non-classical' Picard install are doing things differently.
And, I do not use MusicBee for retrieving tags at all. Which probably is different from what you and most other MusicBee users are doing.

Our discussion the last few days did make me aware that my usage of the tags discussed, and my opinions on them don't necessarily align with what is good and sensible for the 'average' MusicBee user.
So I'll be digesting things for a while before I voice further opinions, wishes or recommendations.

I'll also take a better look at your last questions some time later, and will try to give some sensible answers.
I'm not sure if this would be the right topic for that though?
Title: Re: 'composer' incorrectly parsed in virtual tags
Post by: hiccup on January 29, 2024, 05:00:10 PM
@hiccup, something else just caught my eye:
On your earlier screenshot (https://getmusicbee.com/forum/index.php?topic=39262.msg220329#msg220329), you seem to have an <artists> tag (Christopher Hogwood) that you must have populated externally.
Like what had transpired with <composers> yesterday, you can't actually make use of that <artists> tag in MusicBee, can you?
Yes, I can...

My Picard classical writes that Artists tag.
In MusicBee you can then have a custom tag (just don't name it Artists) that references to that 'physical' tag.