On Sep 9, 2004, at 8:55 PM, Cedric Tefft wrote:
Accordingly, it's not possible to access the V1 and V2 information as separate tags with the file interface. If you really want to do this, you can use the tag parsing and rendering routines to maintain separate tag structures and data, but you'll have to read and write the data from the file yourself.
I'm preared to do this if necessary, however it occurs to me that what I'll end up doing is rewriting, almost verbatim, functions that already exist in libid3tag (new_file() and the like). The only reason I couldn't use the library functions is that they aren't exported to the API. This seems like a bit of a waste since I have to link to the library anyway.
Would you be willing to accept a few patches which expose a bit more of the library's internals to the API?
I'll consider it, but it seems you should not have to duplicate much functionality. Once you have a tag structure containing the desired V1 data, it is very easy to render and apply to a file.
Simply disable the ID3_TAG_OPTION_ID3V1 option on the file interface's primary tag and the file interface will ensure the V1 tag is absent when the tags are updated. You can then directly append to the file whatever V1 tag data you prefer.