Inconsistencies between read and write id3v2 tags and more

Think you found a bug in getID3()? Post here with details.
Post Reply
corwin
User
Posts: 4
Joined: Sun Feb 11, 2007 12:12 am
Location: So Ca

Inconsistencies between read and write id3v2 tags and more

Post by corwin » Sun Feb 11, 2007 12:08 pm

1. Reading we have:

track_number
text

but writing we have:

tracknumber
user_text

The main reason I think this is such a problem is if a person wants to add a custom tag thay should be able to read the tags, assign the tags to write, ie:

$arr = $getID3->analyze($file);
....
$TagData = $arr['tags']['id3v2'];
$tagwriter->tag_data = $TagData;

2. When writing it should error if you pass a bogus tag instead of ignore it and have $tagwriter->WriteTags() return true.

ie:

$TagData['album'][] = 'I get used';
$TagData['ImAHappyTag'][] = 'happy in oblivion';
$TagData['EveryOneIgnoresMe'][] = 'Like I don't exist';
....
Successfully wrote tags

3. setting $tagwriter->overwrite_tags = true; does not work, it just breaks it with the following error message:

Failed to write tag! WriteID3v2() failed with message(s):<PRE><UL><LI>Frame not allowed in ID3v2.3: ALBUM</LI><LI>Frame "ALBUM" is NOT allowed</LI><LI>$this->GenerateID3v2FrameData() failed for "ALBUM"</LI><LI>$this->GenerateID3v2Tag() failed</LI></UL></PRE>

$TagData contains ONLY the following (album is not set, only in the file itself):
Array
(
[user_text] => Array
(
[0] => 8d38c4bc679ec1719036648711c223ec
)

If I strip all tags in the mp3 first then it is successful. It would make sense that if the data passed was the same OR in the case of album not specified that it would leave the original value.

Michael

Post Reply