Die Dateizugriffsroutinen habe ich von der "Vorgänger-
Unit" UltimaTag von tommie-lie übernommen (Links dazu finden sich im Kommentar der
Unit). Also der Teil, der für das neue Schreiben in die Datei verantwortlich ist: alten id3v2Tag entfernen/überschreiben, ggf. die Audiodaten in einem temp-File cachen und hinterher wieder alles zusammenbauen. StreamToStream ist also nicht von mir, sondern von tommie-lie. Auch einige andere Dinge wie die Int28-Int32-Konvertierungen sind von ihm. Seine Teile kann man in der Regel an den englischen Kommentaren erkennen
. Ich musste nur einiges ändern, weil in Ultima-Tag (genauso wie in der ATL), nur bestimmte Informationen gelesen wurden, und nur diese dann in der Version 2.3 wieder geschrieben wurden. Da ich unbekannte Frames auf jeden Fall erhalten wollte, blieb mir nichts anderes übrig, als Schreibunterstützung für alle drei Subversionen zu implementieren. Mehr hab ich eigentlich gar nicht gemacht (obwohl das ne Menge Arbeit war
).
Den Teil mit dem Kopieren habe ich bei der Entwicklung unangetastet gelassen. Zuerst, weil mir das zu kompliziert erschien, und am Ende aus Bequemlichkeit. Das Prinzip erschien mir sinnvoll, und wenn es da andere Methoden zu gibt - kann sein.