2.86f - Displaying UNSYNCEDLYRICS language

CHG: don't display language identifier and description for UNSYNCEDLYRICS if both are default ('eng' and empty).

I am used to change all my language descriptions in UNSYNCEDLYRICS to "xxx" instead of a particular language. I do this with a replace-action.

Since version 2.86f this is not possible any more.

I also have a column with the definition $left(%unsyncedlyrics%,3) which show me the defined language of
UNSYNCEDLYRICS. This too does not work anymore.

I also have some actions that depend on the 2 pipes in UNSYNCEDLYRICS, i.e. replacing "||Instrumental" to "||[Instrumental]".

So for at least for me it looks not like a good idea to impliment this new "feature", which only makes sense in a way that some users are not longer irritated by "eng" displayed in their unsyncedlyrics-mask.
I think there should be at least a tag %uslt_language% which allows to display, filter and change the language.

Or is there a possibility to change the language which I don't see?

1 Like

You can still use xxx|| and by that set the language identifier to xxx and the description to an empty string.

The change you've quoted above simply means, that it's not displayed anymore if it's set to default (language identifier is eng and description is empty). The idea behind this is to reduce the amount of confusion this feature and the magic behind it gave in the past.

You probably need to adapt your actions to check for the pipe symbol, e.g.,
$if($eql($strchr(%unsyncedlyrics%,'|'),4),$left(%unsyncedlyrics%,3),'eng')

The idea behind this is to reduce the amount of confusion this feature and the magic behind it gave in the past.

Personally I think it is more confusing that the content of %unsyncedlyrics% seems to change depending on the langugage indentifier. Mp3Tag now behaves different wether the language identifier is default or not.

If I look for $left(%unsyncedlyrics%,5) with the default-identifier it show the first 5 characters of the lyrics-text.
If I use the same for a not default-identifier it shows "xxx||".
So in actions I always have to take into account that there maybe a default and a non-default indentifier.

To me that looks like inconsistent behaviour, because not only the display of the content has changed but the content of the variable %unsyncedlyrics% presents itself different.

3 Likes

I understand your concerns and will most likely change this back to the previous behavior with the next development build.

Thanks for the feedback!

1 Like

I've reverted that change with Mp3tag v2.86h Development Build.

Hello @Florian, I was just wondering perhaps you could make this legacy feature a toggle-able option? (which defaults to hide language code (suitable for most average users), but toggle-able to allow advanced users like @poster to define their own language code), this can probably make everyone happy.

Another big reason is:
The Comments frame and Unsynced Lyrics frame both have the same frame structure (as can be seen and compared in both two referenced ID3v2 standards links), but the Comments frame hides the language code, whereas the Unsynced Lyrics frame doesn't. This seems kinda inconsistent for two frames with the same structure, so adding the previosly mentioned toggle-able option can solve that problem.

My another related post: About the Language Code for Comment and Unsynced Lyrics

There is a practical difference between comment-tags and the UNSYNCEDLYRICS-tag.

COMMENT:
Windows explorer only shows comments if the language identifier corresponds to the OS-localisation.
iTunes only shows comments if the language tag is "eng".
So setting the language tag globally according to preferences makes sense.

UNSYNCEDLYRICS:
There are users (not me) who want to set the language identifier in UNSYNCEDLYRICS according to the language of the lyrics. For these you would need the opportunity to edit the language-identifier for individual files. If you want to change the language-identifier at the moment there is a need to show it in the tag-field, so you can edit it manually.

The solution in 2.86f was problematic because the content of the placeholder %unsyncedlyrics% was inconsistent.

I think that for people that want to change the UNSYNCEDLYRICS-language-identifier individually it would be the best solution to invent a pseudo-tag-field "unsyncedlyrics_language_identifier" and make it editable. This would allow to hide the language identifier without loosing the possibility to edit it.
But there is still the question which content the placeholder %unsyncedlyrics% should have, with or without identifier.

1 Like

I think the toggle-able option (e.g. checkbox) feature could solve all the things you mentioned (in a relatively simple way), let me break it down:

Toggle off the language code (maybe the default):
so that you can -

which is suitable for the average user, and "reduce the amount of confusion this feature and the magic behind it gave in the past." according to Florian. Honestly, it also kinda just looks cleaner.

Toggle on the language code:
so that you can -

for those more advanced users.

As for:

Sorry that earlier I didn't express it clearly, which probably made you misunderstand me. The toggle-able option is supposed to always hide/display the language code, regardless of whether it's the same as the default or not. (thus it's always consistent and won't be problematic)