Struct SecondaryDominant
Secondary dominant chord (V or V7) targeting a diatonic degree. This is intentionally modeled as chromatic (non-diatonic) harmony.
public readonly record struct SecondaryDominant : IEquatable<SecondaryDominant>
- Implements
- Inherited Members
Constructors
SecondaryDominant(KeySignature, ScaleDegree, DiatonicChordType)
Secondary dominant chord (V or V7) targeting a diatonic degree. This is intentionally modeled as chromatic (non-diatonic) harmony.
public SecondaryDominant(KeySignature Key, ScaleDegree TargetDegree, DiatonicChordType Type)
Parameters
KeyKeySignatureThe home key.
TargetDegreeScaleDegreeThe diatonic degree the dominant resolves to.
TypeDiatonicChordTypeWhether the dominant is a triad or a seventh chord.
Properties
Key
The home key.
public KeySignature Key { get; init; }
Property Value
RomanNumeral
Roman-numeral text (e.g. "V7/ii", "V7/V"). The target's case follows its diatonic quality in Key: lowercase for minor/diminished targets (ii, iii, vi, vii), uppercase for major targets (IV, V).
public string RomanNumeral { get; }
Property Value
Root
Root of the secondary dominant, a fifth above TargetRoot.
public PitchClass Root { get; }
Property Value
TargetDegree
The diatonic degree the dominant resolves to.
public ScaleDegree TargetDegree { get; init; }
Property Value
TargetRoot
Pitch class of the target degree's root in Key.
public PitchClass TargetRoot { get; }
Property Value
Type
Whether the dominant is a triad or a seventh chord.
public DiatonicChordType Type { get; init; }
Property Value
Methods
Symbol(bool)
Chord symbol for this secondary dominant (e.g. "A7").
public string Symbol(bool preferSharps = true)
Parameters
preferSharpsboolWhether to spell accidentals as sharps rather than flats.