Transposition class
Written-to-sounding transposition of a transposing instrument.
MusicXML <transpose>; MEI <staffDef @trans.diat @trans.semi>.
A B-flat clarinet is Transposition(diatonic: -1, chromatic: -2): written
C4 sounds B-flat 3.
Why the pitch is not rewritten at import
The notated pitch is what the engine draws, so it has to stay written; the transposition is a property of the INSTRUMENT and is applied when the score is turned into sound. Rewriting the pitches at import would produce a correct-sounding, wrong-looking score.
Before 2.7.1 the declaration was parsed into Score.metadata and nothing
read it: applyMusicXmlTransposition existed but was never called from
lib/, test/ or example/, so a B-flat clarinet part played back a major
second high with the information sitting inertly beside it.
Constructors
Properties
- chromatic → int
-
Semitones to add to the written pitch to obtain the sounding pitch,
EXCLUDING octaveChange.
final
- diatonic → int
-
Diatonic steps to add to the written pitch to obtain the sounding pitch.
final
- doubled → bool
-
MusicXML
<double/>: the part is doubled an octave away.final - doubledAbove → bool
-
MusicXML 4.0
<double above="yes"/>: the doubling is an octave UP.final - hashCode → int
-
The hash code for this object.
no setteroverride
- isConcertPitch → bool
-
True when this declaration leaves the pitch unchanged.
no setter
- octaveChange → int
-
Extra octaves added on top of chromatic.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- semitones → int
-
Total semitone offset from written to sounding pitch.
no setter
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override