nicfit/eyeD3

Apple's "grouping"

WGroleau opened this issue · 2 comments

Apple's Music.app (formerly iTunes) has a "Grouping" tag that I would like to be able to read/remove/alter by shell script.

exiftool can read it. I think the tag they use is GRP1; od -xc & sdiff show:

2230420      6d61    726f    0a2e    5247    3150    0000    0b00    0000  | 2230420      6d61    726f    0a2e    5054    3145    0000    0c00    0000
           a   m   o   r   .  \n   G   R   P   1  \0  \0  \0  \v  \0  \0   |            a   m   o   r   .  \n   T   P   E   1  \0  \0  \0  \f  \0  \0
2230440      6c00    6e61    3a67    7020    3b74    5400    4550    0031  | 2230440      5900    756f    6556    7372    6f69    006e    5054    3245
          \0   l   a   n   g   :       p   t   ;  \0   T   P   E   1  \0   |           \0   Y   o   u   V   e   r   s   i   o   n  \0   T   P   E   2

id3/apple.py includes
GRP1_FID = b"GRP1" but it is not displayed.

I see the apple.py comment

Here lies Apple frames, all of which are non-standard. All of these would have
been standard user text frames by anyone not being a bastard, on purpose.

I might suggest  :-)  …
Don't assume malice when it could just be stupidity.
Don't assume stupidity when it could be just ignorance.
Don't assume ignorance when it could just be misunderstanding.
Blessed are the peacemakers.  :-)

I was not aware of the text-frame option, but this didn't work:

WGroleau@MBP ~ % eyeD3 --encoding utf8 --to-v2.4 --text-frame 'GRP1:lang\\: el;' /Users/WGroleau/Downloads/FPB.mp3
/Users/WGroleau/Downloads/FPB.mp3                                             [ 1.49 MB ]
------------------------------------------------------------------------------------------
Setting b'GRP1' text frame to 'lang\: el;'
Invalid frame-id for text frame