38enum class BassArrangement {
154 bool rootLowerCase{};
156 ChordSuffixClassification suffix;
159 std::optional<music_theory::Pitch>
bass;
160 bool bassLowerCase{};
161 std::optional<chord::BassArrangement> bassArrangement;
176 musx::dom::MusxInstance<musx::dom::details::ChordAssign>
assignment;
185std::optional<ChordSymbolClassification>
classifyChordSymbol(
const musx::dom::MusxInstance<musx::dom::details::ChordAssign>& assignment,
186 const musx::dom::MusxInstance<musx::dom::KeySignature>& keySignature, musx::dom::KeySignature::KeyContext keyContext);
194std::vector<ChordAssignmentClassification>
classifyChordAssignments(
const musx::dom::MusxInstanceList<musx::dom::details::ChordAssign>& assignments,
195 const musx::dom::MusxInstance<musx::dom::KeySignature>& keySignature, musx::dom::KeySignature::KeyContext keyContext);
std::optional< ChordSymbolClassification > classifyChordSymbol(const musx::dom::MusxInstance< musx::dom::details::ChordAssign > &assignment, const musx::dom::MusxInstance< musx::dom::KeySignature > &keySignature, musx::dom::KeySignature::KeyContext keyContext)
Classifies a Finale chord assignment using the effective key signature.
ChordSuffixClassification classifyChordSuffix()
Classifies a Finale chord with no displayed suffix as a major triad.
std::vector< ChordAssignmentClassification > classifyChordAssignments(const musx::dom::MusxInstanceList< musx::dom::details::ChordAssign > &assignments, const musx::dom::MusxInstance< musx::dom::KeySignature > &keySignature, musx::dom::KeySignature::KeyContext keyContext)
Classifies a list of Finale chord assignments, normally one staff's assignments in one measure.
Core public API for the Denigma conversion libraries.
Definition articulations.h:33
Classification paired with the Finale chord assignment that produced it.
Definition chords.h:174
musx::dom::MusxInstance< musx::dom::details::ChordAssign > assignment
Source chord assignment.
Definition chords.h:176
ChordSymbolClassification classification
Semantic classification of the assigned chord.
Definition chords.h:180
musx::util::Fraction position
Position of the chord from the start of its measure, as a fraction of a whole note.
Definition chords.h:178
Classified logical strings reconstructed from Finale chord-suffix elements.
Definition chords.h:126
bool hasUnrecognizedGlyphs
True when the suffix contains a private-use character that no known font mapping resolved.
Definition chords.h:141
bool stackDegrees
True when the suffix shows degrees stacked vertically instead of running left to right.
Definition chords.h:136
std::vector< chord::SuffixString > strings
The suffix's logical strings in Finale's source order. (See chord::SuffixString.)
Definition chords.h:128
std::string calcText() const
Concatenates the classified strings in Finale's source order.
bool hasOuterParentheses
True when a single pair of parentheses encloses the entire suffix text.
Definition chords.h:138
std::vector< chord::Degree > degrees
Degrees the suffix applies on top of quality, in source order.
Definition chords.h:132
std::optional< chord::Quality > quality
The recognized harmonic quality, or std::nullopt when the suffix text could not be parsed.
Definition chords.h:130
bool parenthesizeDegrees
True when the suffix shows degrees inside parentheses.
Definition chords.h:134
Target-neutral musical and display semantics of a Finale chord assignment.
Definition chords.h:151
music_theory::Pitch root
The written root spelling. A chord symbol has no octave, so only the note name and alteration are mea...
Definition chords.h:153
std::optional< music_theory::Pitch > bass
The written alternate-bass spelling, when the chord shows one. Its octave is not meaningful either.
Definition chords.h:159
One degree alteration that a chord suffix applies on top of its chord::Quality.
Definition chords.h:82
Type type
How the degree modifies the chord.
Definition chords.h:93
int alteration
Chromatic alteration in semitones: -1 for flat, 1 for sharp, 0 for none.
Definition chords.h:92
int value
Degree number relative to the root, such as 9, 11, or 13.
Definition chords.h:91
Type
How the degree modifies the chord.
Definition chords.h:85
@ Remove
The degree is omitted from the chord.
@ Alter
A degree already present in the chord is chromatically altered.
@ Add
The degree is added to the chord.
bool impliedByText
True when the suffix text already spells this degree out, such as the seventh in "7sus4".
Definition chords.h:94
One contiguous logical text string within a Finale chord suffix.
Definition chords.h:105
Position position
The string's position relative to the suffix baseline.
Definition chords.h:118
Position
Logical vertical position of a Finale chord-suffix string.
Definition chords.h:111
@ Inline
On the suffix baseline.
@ Above
Stacked above the suffix baseline.
@ Below
Stacked below the suffix baseline.
std::string text
The string's text as Unicode.
Definition chords.h:117