Class ChunksCollection
Collection of MidiChunk objects.
Inherited Members
Namespace: Melanchall.DryWetMidi.Core
Assembly: Melanchall.DryWetMidi.dll
Syntax
public sealed class ChunksCollection : ICollection<MidiChunk>, IEnumerable<MidiChunk>, IEnumerable
Properties
Count
Gets the number of chunks contained in the collection.
Declaration
public int Count { get; }
Property Value
Type | Description |
---|---|
int |
IsReadOnly
Gets a value indicating whether the ChunksCollection is read-only.
Declaration
public bool IsReadOnly { get; }
Property Value
Type | Description |
---|---|
bool |
this[int]
Gets or sets the chunk at the specified index.
Declaration
public MidiChunk this[int index] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
int | index | The zero-based index of the chunk to get or set. |
Property Value
Type | Description |
---|---|
MidiChunk | The chunk at the specified index. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | index is less than 0; or index is equal to or greater than
Count. |
ArgumentNullException | value is null . |
Methods
Add(MidiChunk)
Adds a chunk to the end of the collection.
Declaration
public void Add(MidiChunk chunk)
Parameters
Type | Name | Description |
---|---|---|
MidiChunk | chunk | The chunk to be added to the end of the collection. |
Remarks
Note that header chunks cannot be added into the collection since it may cause inconsistency in the file structure.
Header chunk with appropriate information will be written to a file automatically on
Write(string, bool, MidiFileFormat, WritingSettings).
Exceptions
Type | Condition |
---|---|
ArgumentNullException | chunk is null . |
AddRange(IEnumerable<MidiChunk>)
Adds chunks the end of the collection.
Declaration
public void AddRange(IEnumerable<MidiChunk> chunks)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<MidiChunk> | chunks | Chunks to add to the collection. |
Remarks
Note that header chunks cannot be added into the collection since it may cause inconsistency in the file structure.
Header chunk with appropriate information will be written to a file automatically on
Write(string, bool, MidiFileFormat, WritingSettings).
Exceptions
Type | Condition |
---|---|
ArgumentNullException | chunks is null . |
Clear()
Removes all chunks from the ChunksCollection.
Declaration
public void Clear()
Contains(MidiChunk)
Determines whether the ChunksCollection contains a specific chunk.
Declaration
public bool Contains(MidiChunk item)
Parameters
Type | Name | Description |
---|---|---|
MidiChunk | item | The chunk to locate in the ChunksCollection. |
Returns
Type | Description |
---|---|
bool | true if chunk is found in the ChunksCollection; otherwise, false . |
CopyTo(MidiChunk[], int)
Copies the elements of the ChunksCollection to an Array,
starting at a particular index.
Declaration
public void CopyTo(MidiChunk[] array, int arrayIndex)
Parameters
Type | Name | Description |
---|---|---|
MidiChunk[] | array | The one-dimensional Array that is the destination of the elements copied from ChunksCollection. The array must have zero-based indexing. |
int | arrayIndex | The zero-based index in array at which copying begins. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | array is null . |
ArgumentOutOfRangeException | arrayIndex is less than 0. |
ArgumentException | The number of elements in the source ChunksCollection
is greater than the available space from arrayIndex to the end of the destination
array. |
GetEnumerator()
Returns an enumerator that iterates through the ChunksCollection.
Declaration
public IEnumerator<MidiChunk> GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<MidiChunk> | An enumerator for the ChunksCollection. |
IndexOf(MidiChunk)
Searches for the specified chunk and returns the zero-based index of the first
occurrence within the entire ChunksCollection.
Declaration
public int IndexOf(MidiChunk chunk)
Parameters
Type | Name | Description |
---|---|---|
MidiChunk | chunk | The chunk to locate in the ChunksCollection. |
Returns
Type | Description |
---|---|
int | The zero-based index of the first occurrence of chunk within the entire ChunksCollection, if found; otherwise, –1. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | chunk is null . |
Insert(int, MidiChunk)
Inserts a chunk into the collection at the specified index.
Declaration
public void Insert(int index, MidiChunk chunk)
Parameters
Type | Name | Description |
---|---|---|
int | index | The zero-based index at which the chunk should be inserted. |
MidiChunk | chunk | The chunk to insert. |
Remarks
Note that header chunks cannot be inserted into the collection since it may cause inconsistency in the file structure.
Header chunk with appropriate information will be written to a file automatically on
Write(string, bool, MidiFileFormat, WritingSettings).
Exceptions
Type | Condition |
---|---|
ArgumentNullException | chunk is null . |
ArgumentOutOfRangeException | One of the following errors occurred:
|
InsertRange(int, IEnumerable<MidiChunk>)
Inserts a set of chunks into the collection at the specified index.
Declaration
public void InsertRange(int index, IEnumerable<MidiChunk> chunks)
Parameters
Type | Name | Description |
---|---|---|
int | index | The zero-based index at which the chunk should be inserted. |
IEnumerable<MidiChunk> | chunks | The chunk to insert. |
Remarks
Note that header chunks cannot be inserted into the collection since it may cause inconsistency in the file structure.
Header chunk with appropriate information will be written to a file automatically on
Write(string, bool, MidiFileFormat, WritingSettings).
Exceptions
Type | Condition |
---|---|
ArgumentNullException | chunks is null . |
ArgumentOutOfRangeException | One of the following errors occurred:
|
Remove(MidiChunk)
Removes the first occurrence of a specific chunk from the collection.
Declaration
public bool Remove(MidiChunk chunk)
Parameters
Type | Name | Description |
---|---|---|
MidiChunk | chunk | The chunk to remove from the collection. The value cannot be null . |
Returns
Type | Description |
---|---|
bool | true if chunk is successfully removed; otherwise, false . This method also returns
false if chunk was not found in the collection. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | chunk is null . |
RemoveAll(Predicate<MidiChunk>)
Removes all the chunks that match the conditions defined by the specified predicate.
Declaration
public int RemoveAll(Predicate<MidiChunk> match)
Parameters
Type | Name | Description |
---|---|---|
Predicate<MidiChunk> | match | The Predicate<T> delegate that defines the conditions of the chunks to remove. |
Returns
Type | Description |
---|---|
int | The number of chunks removed from the ChunksCollection. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | match is null . |
RemoveAt(int)
Removes the chunk at the specified index of the collection.
Declaration
public void RemoveAt(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The zero-based index of the chunk to remove. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | index is less than 0; or index
is equal to or greater than Count. |