LIST INFO chunk
A LIST chunk is a chunk that holds other chunks. With the list type
INFO it holds the file’s text tags: one small chunk per tag, each a
four-letter ID and a string.
Fields
| Offset | Size | Type | Name | Description |
|---|---|---|---|---|
| 0 | 4 | char[4] | ckID | LIST |
| 4 | 4 | u32 | ckSize | the size of everything after this field |
| 8 | 4 | char[4] | listType | INFO |
| 12 | varies | chunks | tags | tag chunks, each an ID, a size and a NUL-terminated string, padded to an even length |
The text encoding is not fixed. Older files use ASCII or the system code page, and some current software writes UTF-8.
Tag IDs
| ID | Meaning | ID | Meaning |
|---|---|---|---|
INAM | title | IENG | engineer |
IART | artist | ITCH | technician |
IPRD | product, often the album | ISFT | software that made the file |
ICMT | comments | ISRC | source |
ICRD | creation date | ISBJ | subject |
IGNR | genre | IKEY | keywords |
ICOP | copyright | IARL | archival location |
An example
00000000 4C 49 53 54 12 00 00 00 49 4E 46 4F 49 4E 41 4D LIST....INFOINAM
00000010 05 00 00 00 53 6F 6E 67 00 00 ....Song..
The tag INAM has a size of 5: the four letters of Song and
the NUL. Five is odd, so a pad byte follows. The list’s size, 18, counts the list type
(4), the tag’s header (8), its text (5) and the pad byte (1).
Labels for cue points
A second kind of list, LIST adtl, holds text for the
cue points: a
labl chunk names a cue point, a note chunk adds a comment, and
an ltxt chunk marks a region of a given length.