Logic for converting frames between versions is really annoying and as I'm finding, not robust. To simplify things (and simplify the usage for users), make the version of ID3v2 tag objects immutable. In order to change versions, create a new tag and copy the old tag into it. The copy logic should handle any conversion between frame types.
Logic for converting frames between versions is really annoying and as I'm finding, not robust. To simplify things (and simplify the usage for users), make the version of ID3v2 tag objects immutable. In order to change versions, create a new tag and copy the old tag into it. The copy logic should handle any conversion between frame types.