Unfortunely both two variants of this patch requires to
made changes to id3lib.
ID3v2.3.0 standard tells that allowed encodings are
two: iso-8859-1 or ucs-2. Numeric fields must be in
iso-8859-1. This patch sticks Grip to that requirements.
Both variants of patches adds function
ID3Field_SetEncoding() to c_wrapper.c in the id3lib
library.
I have noticed that ID3Field_SetUNICODE() incorrectly
exchanges the byte order of the data. I am sorry but I
have not big endian machine to test it better.
In one of variants Grip exchanges the byte positions of
the data before sending them to id3lib. In other
variant Grip inserts a BOM character at the begining of
the ucs-2 string and additional fix is made to id3lib
to check whether begins with a BOM symbol.
I have tested this with cyrillic characters by a hex
editor/viewer and a charset convertor, but i cannot
find any mp3 player supporting unicode to test.
I RECCOMEND to use this patch along with patch 1003525.
ID3v2 unicode support with fix to exchange unicode bytes in Grip
ID3v2 unicode support with fix in id3lib to check whether ucs-2 string allready begins with a BOM.
Logged In: YES
user_id=800933
In version 0.2 one variable name has been changed.
In version 0.3 one unnecessary memory chunk has been removed.
Logged In: YES
user_id=800933
Here are the patch variants
grip-3.2.0-id3v2_unicodebom-newframes_woempty-0.1.patch.gz
grip-3.2.0-id3v2_unicode-newframes_woempty-0.1.patch.gz
depending to patch
1013972 Adding more ID3v2 frames
because their mutual conflictings.
Logged In: YES
user_id=800933
Please use the id3lib patches #1015188 and #1015186 along
with the *bom* versions of this patch, as they are more
completed.
http://sourceforge.net/tracker/index.php?func=detail&aid=1015188&group_id=979&atid=300979
http://sourceforge.net/tracker/index.php?func=detail&aid=1015186&group_id=979&atid=300979
Logged In: YES
user_id=800933
Here are the patch updates
grip-3.2.0-id3v2_unicodebom-newframes_woempty-0.2.patch.gz
grip-3.2.0-id3v2_unicode-newframes_woempty-0.2.patch.gz
depending to version 0.2 of patch
1013972 Adding more ID3v2 frames
because of their continued conflicting.