SUMMARY Neither the gui or the cli seem to be able to save/convert tags on mp3 files with id3v2.2.0 tags. Conversion from id3v1 and id3v2.4 seems fine, but id3v2.2 does not. There is no indication either from printed error message or return code from kid3-cli, or from the gui that there was any problem or what the cause was, the file just remains unchanged. STEPS TO REPRODUCE FOR CLI 1. Run "kid3-cli -c to23 <filename>" on an mp3 with an id3v2.2 tag. STEPS TO REPRODUCE FOR GUI 1. Configure kid3 to save id3v2.3.0 tags 2. Load an mp3 file with id3v2.2 tag 3. Click "Save" OBSERVED RESULT The file remains unchanged with an id3v2.2 tag. There is also indication of a problem. EXPECTED RESULT The tag should be updated to id3v2.3.0 (as configured/specified) SOFTWARE/OS VERSIONS kid3-cli and kid3: 3.9.3-1 (Debian bookworm amd64) ADDITIONAL INFORMATION
I cannot reproduce this. I have tested with various files from different sources. I can modify the tag and after saving, they are converted to ID3v2.3. I have tested both with the Id3libMetadata and the TaglibMetadata plugins. Could you please test with the following file: https://github.com/taglib/taglib/blob/master/tests/data/id3v22-tda.mp3 If the problem is still there, you could provide an example file showing the problem. The beginning of the file containing the ID3v2.2 tag would be sufficient.
Reading the issue again, I want to add the following note: You have to modify the file to save it. You can also change a frame and then change it back to the original value, but it must be marked as modified. Then you can save it. The functions from the Tools menu "Convert ID3v2.3 to ID3v2.4" and "Convert ID3v2.4 to ID3v2.3" are NOT for ID3v2.2, they do exactly what their names say.
I can understand why the gui might not change the tag without modifying one of the fields, but I would still expect the cli to do it based on the documentation/help. I will attach the header of a problematic file.
Created attachment 164492 [details] test id3v2.2 header
Thanks for the example file. I cannot see any problems with the file, you just have to save it and it will be ID3v2.3.0. Also in the CLI, only modified files are saved, so you will have to make some modification. The save operation will automatically be done by kid3-cli when it terminates and there are modifications. So you could for example use kid3-cli -c copy -c remove -c paste test.mp3 This is actually what is done by the "Rewrite Tags" action, which can be used from the UI. By the way, the documentation for the "to23" CLI function is "Convert ID3v2.4 to ID3v2.3", so this will only work if the existing tag is ID3v2.4.