For now, the capo position is a ChordName style setting. In the
future, it can be enhanced to allow capo position to be changed
within a score, using something like TempoMap or TimeSigMap.
If capo position is non-zero, the chord to be played with capo
applied is shown in brackets after the standard chord.
Signed-off-by: lasconic <lasconic@gmail.com>
Adds support for X, Y, horizontal alignment, and vertical alignment.
Improves compatibility for 1.3 scores, which relies on text style Y to
set chord height, also allows for chord symbols centered over notes (see
#10355).
Changes to chord symbol text style were not taking effect until reload.
This change forces a render() call on all chord symbols if the text
style changes.
Adds support for "/" within chordnames if the portion after the "/" is
not convertible to tpc and hence not a valid bass note. This allows for
C6/9 to be rendered as such. I look at the *last* slash when deciding
how to proceed, so C6/9/E is handled correctly.
Allow "sym" declarations in chord description file to take string
values, support class="note" to differentiate "b" used as note name from
"b" used as flat (also "mi" for note name versus minor), allow lower
case letter on its own to imply minor if lowerCaseMinorChords is set by
using "=" as a special hidden abbreviation.
Problem had to do with determining correct transposition. Fix is to
always represent Harmony objects as concert pitch in clipboard. Convert
to on copy, convert from on paste. This is the same strategy used for
Chord/Note objects.
A new method is provided generate a chordname directly from a MusicXML
harmony object. This chordname is then parsed and rendered just as for a
chordname typed directly into the score.
A chord description object is now generated for each (unique) unrecognized
chord, and MusicXML tags are generated during parsing for inclusion in the
chord description. This allows unrecognized chords to be exported to
MusicXML using the same mechanisms as recognized chords.
This allows a chord or sequence of chords to be indicated as optional
or alternative, and avoids the need to add the parentheses as text
or extra chords.
Scores created via bb import were saving empty <name> tags, which was
not ideal. They now create valid <name> tags. Test was not expecting
any <name> tags at all, so it has been updated.