Files from this era store the playlist in one of two ways. The 1999 format gives every placed pattern its own small event. Later files gather all items into one data event of fixed-size records. A reader should handle both, because no source records which version made the change.
One event per item
Event 129 is a dword: a 16-bit position followed by a 16-bit pattern number.
| Offset | Size | Type | Name | Description |
|---|---|---|---|---|
| 0 | 2 | u16 | Pos | Where the pattern is placed. LMMS reads it in bars. |
| 2 | 2 | u16 | PatNum | The pattern number. LMMS subtracts one to get the pattern. |
Many items in one event
Event 233 holds a run of records. PyFLP notes that channel items, such as audio clips, appear in it from version 2.0.1, and pattern items only from version 7.0. That suggests that in this era event 233 holds channel clips while patterns stay in event 129, but no source says so directly.
LMMS’s old importer reads 28-byte records from this event: the position in the first four bytes, the length in bytes 8 to 11, and a pattern code in the low 12 bits of bytes 12 to 15. PyFLP reads 32-byte records instead, with the layout it uses for FL Studio 20. Which size files from this era use is not recorded, so divide the event size by both.
How many playlist tracks these versions have, and how the track of an item is stored, is not documented.