Platzhalter `_id3v2_character_encoding` teilweise nicht gesetzt

bug-fixed

#1

Ich habe eine Spalte mit dem Wert
%_tag% %_id3v2_character_encoding%.

Meine Einstellung bei Extras -> Optionen -> Tags -> MPEG fürs Schreiben ist
ID3V1, ID3v2.3 und UTF-16.

Wenn ich für eine Datei ohne Tags bei einigen Feldern einige Tag-Felder fülle. zeigt die o.a. Spalte manchmal nur ID3v1 ID3v2.3 an. Teilweise wird zusätzlich ISO-8859-1 angezeigt.
Erst wenn andere Felder gefüllt werden wie z.B. das Feld TITLE wechselt die Anzeige auf UTF-16.

Beispiele:
Nur Feld GENRE füllen: ID3v1 ID3v2.3
Nur Feld TRACK füllen: ID3v1 ID3v2.3 ISO-8859-1
Nur Feld YEAR füllen: ID3v1 ID3v2.3 ISO-8859-1
Nur Benutzerdefinierte Felder füllen: ID3v1 ID3v2.3
Zusätzlich ein Feld (alternativ TITLE oder ARTIST oder ALBUMARTIST oder ALBUM usw.): ID3v1 ID3v2.3 UTF-16
Nur Felder YEAR, TRACK, GENRE, benutzerdefinierte Felder: ID3v1 ID3v2.3 ISO-8859-1


#2

Das mit dem Character-Encoding bei ID3v2 ist so eine Sache, da das Encoding nämlich nicht auf Tag-Ebene, sondern auf Feld-Ebene festgelegt wird.

So gibt es bestimmte Felder die als ISO-8859-1 geschrieben werden müssen, auch wenn andere z.B. als UTF-16 geschrieben werden. Dazu gehören z.B. TRACK und YEAR.

Ich hab das Ganze in Mp3tag so implementiert, dass nur falls die Standardfelder wie TITLE oder ARTIST nicht vorhanden sind, das Encoding von z.B. TRACK und YEAR angezeigt wird.

Ich würde das zur nächsten Version jetzt noch insofern anpassen, dass auch bei Genre und bei benutzerdefinierten Feldern das Encoding ausgelesen wird.


#3

Ich habe das mit Mp3tag v2.93a nun wie beschrieben umgesetzt.