Class TrackChunk
Represents a track chunk of a standard MIDI file.
  
  
  Inherited Members
Namespace: Melanchall.DryWetMidi.Core
Assembly: Melanchall.DryWetMidi.dll
Syntax
public sealed class TrackChunk : MidiChunkRemarks
See https://midi.org/standard-midi-files-specification for detailed MIDI file specification.
Constructors
TrackChunk()
Initializes a new instance of the TrackChunk.
  
  Declaration
public TrackChunk()TrackChunk(params MidiEvent[])
Initializes a new instance of the TrackChunk with the specified events.
  
  Declaration
public TrackChunk(params MidiEvent[] events)Parameters
| Type | Name | Description | 
|---|---|---|
| MidiEvent[] | events | Events to add to the track chunk. | 
Remarks
Note that End Of Track events cannot be added into the collection since it may cause inconsistency in a
track chunk structure. End Of Track event will be written to the track chunk automatically on
Write(string, bool, MidiFileFormat, WritingSettings).
  Exceptions
| Type | Condition | 
|---|---|
| ArgumentNullException | eventsisnull. | 
| ArgumentException | eventscontain an instance of EndOfTrackEvent; oreventscontainnull. | 
TrackChunk(IEnumerable<MidiEvent>)
Initializes a new instance of the TrackChunk with the specified events.
  
  Declaration
public TrackChunk(IEnumerable<MidiEvent> events)Parameters
| Type | Name | Description | 
|---|---|---|
| IEnumerable<MidiEvent> | events | Events to add to the track chunk. | 
Remarks
Note that End Of Track events cannot be added into the collection since it may cause inconsistency in a
track chunk structure. End Of Track event will be written to the track chunk automatically on
Write(string, bool, MidiFileFormat, WritingSettings).
  Exceptions
| Type | Condition | 
|---|---|
| ArgumentNullException | eventsisnull. | 
Fields
Id
ID of the track chunk. This field is constant.
  
  Declaration
public const string Id = "MTrk"Field Value
| Type | Description | 
|---|---|
| string | 
Properties
Events
Gets the collection of events contained in the track chunk.
  
  Declaration
public EventsCollection Events { get; }Property Value
| Type | Description | 
|---|---|
| EventsCollection | 
Methods
Clone()
Clones chunk by creating a copy of it.
  
  Declaration
public override MidiChunk Clone()Returns
| Type | Description | 
|---|---|
| MidiChunk | Copy of the chunk. | 
Overrides
GetContentSize(WritingSettings)
Gets size of TrackChunk's content as number of bytes required to write it according
to specified WritingSettings.
  
  Declaration
protected override uint GetContentSize(WritingSettings settings)Parameters
| Type | Name | Description | 
|---|---|---|
| WritingSettings | settings | Settings according to which the chunk's content will be written. | 
Returns
| Type | Description | 
|---|---|
| uint | Number of bytes required to write TrackChunk's content. | 
Overrides
ReadContent(MidiReader, ReadingSettings, uint)
Reads content of a TrackChunk.
  
  Declaration
protected override void ReadContent(MidiReader reader, ReadingSettings settings, uint size)Parameters
| Type | Name | Description | 
|---|---|---|
| MidiReader | reader | Reader to read the chunk's content with. | 
| ReadingSettings | settings | Settings according to which the chunk's content must be read. | 
| uint | size | Expected size of the content taken from the chunk's header. | 
Overrides
Remarks
Content of a TrackChunk is collection of MIDI events.
  Exceptions
| Type | Condition | 
|---|---|
| ObjectDisposedException | Method was called after the writer's underlying stream was disposed. | 
| IOException | An I/O error occurred on the writer's underlying stream. | 
| UnexpectedRunningStatusException | Unexpected running status is encountered. | 
| UnknownChannelEventException | Reader has encountered an unknown channel event. | 
| NotEnoughBytesException | Not enough bytes to read an event. | 
| InvalidChannelEventParameterValueException | Value of a channel event's parameter just read is invalid. | 
| MissedEndOfTrackEventException | Track chunk doesn't end with End Of Track event. | 
ToString()
Returns a string that represents the current object.
  
  Declaration
public override string ToString()Returns
| Type | Description | 
|---|---|
| string | A string that represents the current object. | 
Overrides
WriteContent(MidiWriter, WritingSettings)
Writes content of a TrackChunk.
  
  Declaration
protected override void WriteContent(MidiWriter writer, WritingSettings settings)Parameters
| Type | Name | Description | 
|---|---|---|
| MidiWriter | writer | Writer to write the chunk's content with. | 
| WritingSettings | settings | Settings according to which the chunk's content must be written. | 
Overrides
Remarks
Content of a TrackChunk is collection of MIDI events.
  Exceptions
| Type | Condition | 
|---|---|
| ObjectDisposedException | Method was called after the writer's underlying stream was disposed. | 
| IOException | An I/O error occurred on the writer's underlying stream. |