Table of Contents

Class OrchestrationMapper

Namespace
Celeritas.Core.Orchestration
Assembly
Celeritas.dll

Maps engine-native notes to simple orchestrated parts and constrains pitches to ranges.

public static class OrchestrationMapper
Inheritance
OrchestrationMapper
Inherited Members

Methods

Map(NoteEvent[], OrchestrationOptions?)

Splits notes into a bass part and a harmony part at SplitPitch and shifts each note by octaves into its part's range. Rests are silence and are scored for neither part.

public static OrchestrationResult Map(NoteEvent[] notes, OrchestrationOptions? options = null)

Parameters

notes NoteEvent[]

The notes to orchestrate; rests are skipped.

options OrchestrationOptions?

The split point and the two part definitions; Default when null.

Returns

OrchestrationResult

The bass and harmony parts, each carrying the definition it was mapped with.

Remarks

The slot decides, not the kind. A note below SplitPitch goes to Bass and every other note to Harmony, whatever Kind either definition carries; the definitions are copied onto the result unchanged, so each OrchestratedPart reports the kind and name it was given. Swapping the two kinds moves no note. The mapper has always worked this way; it had not said so, and the kind read as though it were consulted.

Exceptions

ArgumentNullException

notes is null.