Mp3tag adding pipe characters to lyrics in some cases

bug-fixed

#1

Just came across some files with no language code in the USLT field just "00 00 00" in hex editor. Maybe this is not allowed? but anyway I guess some software does it. Other programs (e.g. Foobar2000, iTunes, dbPowerAmp) read and write these tags successfully without modifying the language code.

Problem with Mp3tag is when the field is initially read it displays with 2 leading pipe chars e.g.

||My beautiful lyric

When the file is written the pipe chars are interpreted as part of the lyric and it becomes

eng||||My beautiful lyric

Can you make Mp3tag "play nice" with these files also please?


#2

I would say that deleting user input would be a bug.
The way MP3tag behaves now leads to a valid format in the field and safeguards the user input.
You could instead find out how the invalid format got into the field in the first place and/or correct it before you add further lyrics.

See also this thread which describes why the pipe characters are now kept:


#3

Mp3tag added those pipe symbols on rewriting the USLT frame, so it's a bug.

I've fixed that and further improved the handling of USLT language identifiers with Mp3tag v2.91e.

Thanks for reporting!


#4

With 2.91e I find now that nothing is written in front of the lyrics field, regardless whether there were pipes or language identifiers or nothing at all.
I thought that adding the pipes and the default language identifier was to make sure that lyrics were shown even if the user forgot them - so right now it is much easier to get no display of lyrics at all in the players.
If this is intentional I do not see a real improvement.


#5

I'm now trying the same what those example files showed: writing no language identifier and no description in case nothing is explicitly specified by the user.

If you're writing something like

eng||Lyrics or eng|Description|Lyrics it should be written correctly.

Please be more specific regarding "the players".


#6

Player(s) are my most beloved WMP - this "player" either wants a language identifier in the same language as the OS or the good ole "xxx||".
For my test song I just entered the following cases:
1)
Lost in Praha WDR 3 Hörspiel | 11.03.2018 | 53:02 Min.
-> no display in WMP
2)
||Lost in Praha WDR 3 Hörspiel | 11.03.2018 | 53:02 Min.
-> no display in WMP
3)
xxx||Lost in Praha WDR 3 Hörspiel | 11.03.2018 | 53:02 Min.
-> text shows as lyrics in WMP
4)
deu||Lost in Praha WDR 3 Hörspiel | 11.03.2018 | 53:02 Min.
-> text shows as lyrics in WMP
5)
eng||Lost in Praha WDR 3 Hörspiel | 11.03.2018 | 53:02 Min.
-> no display in WMP (as expected as the OS is set to German GUI and not to English)


#7

I've fixed this with Mp3tag v2.91f. It now uses the language identifier that is specified at "Options > Tags > Advanced" as default in case no specific identifier is provided.


#8

Yes, this is almost like before.
Yet I am not sure, if the OP is satisfied with it as
||Lost in Praha WDR 3 Hörspiel | 11.03.2018 | 53:02 Min.
becomes
eng||||Lost in Praha WDR 3 Hörspiel | 11.03.2018 | 53:02 Min.
which is almost like


#9

It is different than the OPs case. The file had the language identifier set to null 0x00 0x00 0x00 so it was displayed wrongly as ||Lyrics. Now Mp3tag detects such conditions and displays it as eng||Lyrics (and instead of eng, whatever default language identifier is configured).

If you enter ||Lyrics in Mp3tag, it's considered user input and as you've pointed out above


#10

Thank you, got it now.


#11

Thanks Florian! eng|| :sunny: :smile: :ok_hand:t2:


closed #12

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.