Each channel starts with a New channel event (64). The channel events after it describe that channel until the next New channel event. Many of them are only written when they differ from the default, so start each channel from defaults. Names follow the 1999 document; most were never explained further.
Events
| ID | Size class | Name | Holds |
|---|---|---|---|
| 0x00 (0) | Byte | Channel enabled | Whether the channel is switched on. |
| 0x02 (2) | Byte | Channel volume | The channel volume, as a byte. |
| 0x03 (3) | Byte | Channel pan | The channel pan, as a byte. |
| 0x04 (4) | Byte | MIDI channel | The MIDI channel the channel uses. |
| 0x05 (5) | Byte | MIDI note | A MIDI note number. |
| 0x06 (6) | Byte | MIDI patch | A MIDI program number. |
| 0x07 (7) | Byte | MIDI bank | A MIDI bank number. |
| 0x0D (13) | Byte | Stretch, old byte form | Time stretch, in the old byte form. |
| 0x0E (14) | Byte | Pitchable | Whether the sample follows the note pitch. |
| 0x0F (15) | Byte | Zipped | Whether the channel is shown zipped (collapsed). |
| 0x10 (16) | Byte | Delay flags | Flags for the channel’s delay. |
| 0x13 (19) | Byte | Use loop points | Whether the sample’s loop points are used. |
| 0x14 (20) | Byte | Loop type | How the sample loops. |
| 0x15 (21) | Byte | Channel type | What kind of channel this is. The values used in this era are not documented. |
| 0x16 (22) | Byte | Mixer insert | The mixer insert the channel plays through. |
| 0x40 (64) | Word | New channel | Starts a channel. |
| 0x45 (69) | Word | FX | A built-in effect setting. |
| 0x46 (70) | Word | Fade and stereo | Fade and stereo settings. |
| 0x47 (71) | Word | Cutoff | Filter cutoff. |
| 0x4A (74) | Word | Preamp | Preamp gain, which PyFLP dates to 1.2.12. |
| 0x4B (75) | Word | Decay | Decay time; PyFLP reads this ID as fade out, from 1.7.6. |
| 0x4C (76) | Word | Attack | Attack time; PyFLP reads this ID as fade in. |
| 0x51 (81) | Word | Random channel | Not described. |
| 0x52 (82) | Word | Mix channel | Not described. |
| 0x53 (83) | Word | Resonance | Filter resonance. |
| 0x55 (85) | Word | Stereo delay | Stereo delay, which PyFLP dates to 1.3.56. |
| 0x56 (86) | Word | FX 3 | A built-in effect setting. |
| 0x59 (89) | Word | Shift delay | Time shift setting. |
| 0x5E (94) | Word | Layer children | Child channels of a layer channel, from version 3.4. |
| 0x80 (128) | Dword | Colour | A colour. |
| 0x82 (130) | Dword | Echo | Echo setting. |
| 0x83 (131) | Dword | FX sine | A built-in effect setting. |
| 0x84 (132) | Dword | Cut group | Which channels this one cuts, and is cut by. |
| 0x85 (133) | Dword | Window height | A window height. |
| 0x87 (135) | Dword | Middle note | The root note of the sample. |
| 0x8A (138) | Dword | Delay resonance | Delay settings. |
| 0x8B (139) | Dword | Reverb | Reverb, which PyFLP dates to 1.4. |
| 0x8C (140) | Dword | Stretch | Time stretch. PyFLP marks its stretch event as new in 5.0. |
| 0x8D (141) | Dword | SS note | Not described. |
| 0x8E (142) | Dword | Fine tune | Fine tuning. |
| 0x8F (143) | Dword | Sampler flags | Sampler flags; PyFLP dates the resample and keep-on-disk flags to 2.5. |
| 0xC0 (192) | Text | Channel name | The channel’s name. |
| 0xC4 (196) | Text | Sample file name | The sample the channel plays, “stored as relative path”. |
| 0xD0 (208) | Data | MIDI controllers | Not described. |
| 0xD1 (209) | Data | Delay | Delay settings, as a block of binary data. |
| 0xD3 (211) | Data | Delay line | Not described. |
| 0xD7 (215) | Data | Channel parameters | A “block of various channel params”, which the document says “can grow”. |
| 0xDA (218) | Data | Envelope and LFO | One envelope and LFO, from version 2.5. |
| 0xDB (219) | Data | Channel levels | Volume, pan and related levels. Known from LMMS; when it appeared is not recorded. |
| 0xDD (221) | Data | Polyphony | Polyphony; PyFLP dates its portamento and slide settings to 3.3. |
| 0xE4 (228) | Data | Tracking | Keyboard tracking, from version 3.3. |
| 0xE5 (229) | Data | Level adjustments | Level adjustments, from version 3.3. |
| 0xE7 (231) | Text | Display group name | The name of a channel display group, from version 3.4. |
The channel parameters block
PyFLP notes when fields of the channel parameters block (215) first appeared, which shows the block growing through this era: a DC-removal switch at offset 9 from 2.5, ping-pong delay from 1.7.6 and “fat” delay from 3.4 in the delay flags at offset 10, an add-root setting at offset 63 from 3.4, an arpeggiator repeat at offset 92 from 4.5.2, and time-stretching fields at offsets 96 to 111 from 5.0. A reader should take the block’s length from the event and treat fields beyond it as absent.