> ## Documentation Index
> Fetch the complete documentation index at: https://chart-spec.enchor.us/llms.txt
> Use this file to discover all available pages before exploring further.

# MidiTrackChunk

An `MTrk` chunk, decoded into events: one within the header's track count, or one of the `MTrk` chunks that follow
those, up to a chunk of another kind (`pastHeaderCount`), which Clone Hero reads too (C20: R15) and `parseMidi` never
reads. A chunk that can't be decoded keeps the events before the fault, and what the reader threw there as
`unreadable`: within the count, only for a fault after a whole end of track, since `readMidiTokens` throws any other.
A profile that reads the chunk up to the fault throws it.

## Extends

* `MidiChunkFrame`

## Properties

| Property | Type | Description | Inherited from |
| - | - | - | - |
|  `bodyStart` | `number` | Offset of the body. | `MidiChunkFrame.bodyStart` |
|  `end` | `number` | Offset after the chunk's last byte. | `MidiChunkFrame.end` |
|  `events` | [`MidiEventToken`](https://chart-spec.enchor.us/scan-chart/api/index/interfaces/MidiEventToken)\[] | - | - |
|  `id` | `string` | The chunk type, decoded from its id bytes as `parseMidi` decodes them. | `MidiChunkFrame.id` |
|  `kind` | `"track"` | - | - |
|  `length` | `number` | The body length the length field declares, as `parseMidi` reads it: `NaN` when the file ends inside the field. | `MidiChunkFrame.length` |
|  `lengthStart` | `number` | Offset of the 4-byte length field. | `MidiChunkFrame.lengthStart` |
|  `pastHeaderCount?` | `true` | - | - |
|  `start` | `number` | Offset of the id, the chunk's first byte. | `MidiChunkFrame.start` |
|  `unreadable?` | \{ `thrown`: `unknown`; } | - | - |
| `unreadable.thrown` | `unknown` | - | - |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.