"\\" für Multi-Value-Tags funktioniert nur bei manueller Eingabe

Das Last.fm Web Source Script von Dano habe ich testweise so modifziert, dass es die Genres nicht mit Komma, sondern mit `\\´getrennt zurückliefert. Obwohl das dann optisch genauso aussieht wie bei manueller Eingabe, findet die Umwandlung in ASCII-Null beim Speichern nun nicht mehr statt:

Man sieht deutlich, dass alle drei Genre als auch die doppelten Backslashes angezeigt werden. Bei korrekter Speicherung mit ASCII-Null würde von metamp3 aber nur das erste Genre angezeigt und die beiden anderen gar nicht.

Der Screenshot sagt gar nichts darüber aus, wie die GENRE Daten in der Datei gespeichert sind.
Wie du festgestellt hast, so kann metamp3 mit "multi-value" Tagfeldern nicht umgehen.
Das bedeutet, dass metamp3 nur einen bzw den ersten Wert von TCON/GENRE anzeigt.
Das ist hier in diesem Fall ein Tagfeld mit einer Textzeichenkette nach dem Muster "aaa\\bbb\\ccc".

Sind in der Testdatei wirklich drei Tagfelder GENRE enthalten?
GENRE=aaa
GENRE=bbb
GENRE=ccc
Oder ist in der Testdatei nur ein Tagfeld GENRE mit dem Text "aaa\\bbb\\ccc" enthalten?

Wenn du die Datei mittels WebSourceScript gefüllt hast und damit das GENRE Feld mit dem Wert "aaa\\bbb\\ccc" sozusagen maschinell erzeugt wurde ...
... dann solltest du anschließend diese Datei nochmal speichern ...
und kontrollieren, ob nun drei GENRE Tagfelder vorhanden sind.

Ist das Thema "Multi-value Tagfeld mit Websourcescript" nicht schon mehrmals besprochen worden?
Web sources framework
Web Source Framework
/t/11880/1
[WS] Discogs (pone mod)
Multiple value separator

DD.20140126.1659.CET

Es sind in keinem Fall drei Tags TCON vorhanden, sondern immer nur eines. Wie du schon richtig geschrieben hattest, wird eben lediglich der doppelte Backslash durch ein ASCII Nullzeichen ersetzt. Mehr passiert da nicht.

Offenbar tritt der Fehler nicht immer auf. Als ich das jetzt nochmal mit einer ansonsten jungfräulichen Datei (d.h. eine, die sonst keine anderen Tags enthielt) probiert habe, hat es diesmal geklappt:

Wenn die ASCII Null geschrieben wird, wird dann eben auch nur das erste Genre angezeigt:

Daraus kann nun, denke ich zumindest, zweifelsfrei den Rückschluss ziehen, dass es im Fehlerfall ein TCON Feld mit literalen Backslashes war - was auch zutrifft:

Zur weiteren Fehlereingrenzung:

Ich habe das jetzt auf derselben, anfangs jungfräulichen Datei nochmal ausprobiert und den Fehler reproduzieren können:

  1. Metal Archives Script ausgeführt
  2. MusicBrainz Script ausgeführt
  3. Last.fm Script ausgeführt

Dritte Runde:

  1. Alle Tags entfernen
  2. MusicBrainz Script ausgeführt
  3. Last.fm Script ausgeführt

=> Fehler tritt weiterhin auf

Vierte Runde

  1. Alle Tags entfernen
  2. Last.fm Script ausgeführt

=> Fehler tritt weiterhin auf

Es fällt mir nun sehr schwer, den Fehler beim Last.fm Script zu suchen, da es ja anfangs funktioniert hat (siehe ganz oben in diesem Post).

Der Hinweis von dir zu dem ggf. notwendigen Ctrl+S bringt uns aber weiter. Ich hatte ja in dem anderen Thread heute bereits dargelegt, dass Mp3tag nach Ausführen des Last.fm Scripts automatisch speichert, d.h. diese Messagebox kommt von alleine:

Es ist nun nicht einsichtig, dass man anschließend nochmal ausdrücklich speichern muss, da ja gerade erst gespeichert wurde. Für mich ist das kein Feature, sondern ein Fehler.

Das wurde bisher auch niemals bezweifelt oder anders dargestellt.
Ein ID3_TCON Feld kann mehrere Textwerte enthalten, jeweils durch eine binäre Null separiert.
Für ein solches "multi-value" Tagfeld zeigt Mp3tag im Dialog "Erweiterte Tags..." für jeden Wert ein separates Tagfeld GENRE.

DD.20140126.1735.CET

Entschuldige, aber du hattest ausdrücklich danach gefragt (Gernre = TCON):

Im übrigen scheint das hier tatsächlich dem Sachverhalt aus diesem Thread zu entsprechen.