• Projects
  • Imprint
  • Archives
  • Categories
  • Important ID3Lib Bug fixes

    2012 - 04.30

    Important update of the ID3Lib to fix some bugs that can lead to corrupted files on save. So please update the library as soon as possible! The download can be found on the project page.

    Tags:

    2 Responses to “Important ID3Lib Bug fixes”

    1. Muetze1 says:

      Hallo Richard,

      das Problem liegt an den Frames. Es wurden in der ID3v2.x Spezifikation öfter Frames neu definiert und dafür andere als veraltet markiert. Dadurch sind nicht alle Frames unter allen Versionen der ID3v2.x speicherbar. Jedes Frames hat die Eigenschaft ValidVersions, welche angibt unter welchen ID3v2.x Version das jeweilige Frame speicherbar ist. Wenn nun die Frames in die Datei gespeichert werden soll, dann überprüft die Library nun, ob es eine Version gibt, unter der alle Frames gespeichert werden können. Wenn dabei keine gemeinsame Version gefunden werden kann oder diese nicht der angegebenen Version entspricht (Parameter beim Save()), dann wird die von Dir genannte Meldung ausgegeben. Das alte Testprojekt gibt z.B. zu jeder Frame die ValidVersions mit aus. Da kann man also gut erkennen, welches Frame Probleme bereitet.

      Die Änderung sind notwendig, damit ich dem ID3v2.x Standard entspreche. Leider wurde vorher von den Nutzern der Bibliothek darauf keine Rücksicht genommen und es wurden immer wieder fehlerhafte Dateien gespeichert. Viele andere Tagger nehmen darauf keine Rücksicht und entsprechen somit nicht dem Standard. Ich habe aber mit der Einführung des Zwangs zur gültigen Version auch eine Funktionalität geschaffen, welche dabei helfen soll. In der TID3v2Class gibt es die Methode TransferToVersion(). Diese versucht alle Informationen in jeweils unter der angegebenen Version verfügbaren Frames zu transferieren. Als Ergebnis wird zurück gegeben, ob dies erfolgreich war. Wenn die Funktion nicht erfolgreich zurückkehrt, dann kann man sich überlegen, ob man die nicht kompatiblen Frames selbst konvertiert (z.B. in Kommentarframes oder nutzerspezifische Frames) oder einfach nach Rückfrage beim Nutzer entfernt. Die Frames sind durch die ValidVersions Eigenschaft leicht identifierbar.

      Ich bitte in dem Zusammenhang auch um Dateien bzw. Frames die auftreten, welche noch nicht konvertiert werden. Diese werde ich dann versuchen entsprechend nachzuziehen. Ansonsten, falls es weiterhin Probleme gibt, einfach melden. Ich denke man findet schon eine Lösung.

      Viele Grüße,
      Thomas

    2. subotai says:

      Hallo Muetze1,

      irgendwie schaffe ich es nicht, ein Frame hinzuzufügen. In Deinem Beispielprogramm funktioniert das Hinzufügen von Frames leider auch nicht mehr, oder ich stelle mich zu doof an. Sobald ich speichern möchte, kommt die Fehlermeldung: At least one frame is not compatible with version… . Es spielt keine Rolle, welche Version ich setze.

      Danke! Viele Grüße

      Richard

    Your Reply

    Comment Spam Protection by WP-SpamFree