-
Notifications
You must be signed in to change notification settings - Fork 7
Description
These are not issues, per se, rather requests. Thanks in advance.
-
Add a modifier, such as a semicolon, to append to keys which allow multiple lines or values (GENRE, COMMENT, POPM, …), as opposed to replacing any value previously set with the the new. See the example in the next item.
-
Add support writing POPM. I suggest:
"POPM":"johndoe@RATED.COM:192:62"
E.g., to replace current POPM values:
id3 -2 -wPOPM "johndoe@RATED.COM:2:62" …
E.g., to append to current POPM, i.e., add a second:
id3 -2 -wPOPM ";janedoe@RATED.COM:2:4" …
-
Replace line feed with Unicode (U+000D/U+000A) or PCRE (\R) representatives. This will allow writing multi-line COMM values. The \R matches the user's environment, \r\n or \n.
-
These all pertain to the verbose output (dump) and write options. I suggest modifying the format a little, allowing the output to a file in a standard way and reading in the same file.
a) I suggest "a key and value on one line" format for the metadata dump file (a little JSON-ish). Note that for key which allow multiple lines or values (GENRE, COMMENT, POPM, …), a prefixed semicolon appends attached value as opposed to swapping the attached new with any previously set.
{
"id3mt": "0.81",
"file_name": "test.mp3",
"metadata": "ID3v2.3",
"TIT2": "08—THIS TOWN",
"TPE1": "06—FRANK SINATRA",
"TALB": "02—ALBUM",
"TRCK": "19",
"TORY": "2003",
"TCON": "GENRE1;GENRE2",
"TCON": ";GENRE3",
"TEXT": "18—LYRICIST",
"TPE4": "16—MIXER",
"TOAL": "21—ALBUMORIG",
"TOPE": "23—ARTISTORIG",
"TOLY": "28—LYRICISTORIG",
"TSO2": "51—ALBUMARTISTSORT",
"TXXX:ASIN": "24000078",
"TXXX:BAND": "14—BAND",
"TXXX:CATALOGNUMBER": "26—CATALOGNO",
"TXXX:itunesadvisory": "4",
"TXXX:TEST3": "60—TEST",
"COMM::eng": "13—COMMENT_LINE1U+000DU+000A13—COMMENT_LINE2U+000DU+000A13—COMMENT_LINE3U+000DU+000A",
"POPM":"johndoe@RATED.COM:192:62",
"POPM":";janedoe@RATED.COM:1:2"
}
b) Provide a means to output a dump file from an audio file. For example,
id3 -2 -vf test.mp3 >>> test.tags … with contents as (a) above.
I realize that a users can currently do: id3 -v test.mp3 > test.tags
c) Provide a means to input a dump file to an audio file. For example,
id3 -2 -wf test.mp3 >>> uses contents of test.tags, or explicitly specify dump file,
id3 -2 -wf "test.tags" test.mp3