Hello,
How can I stop the repeated chord name after the line break?
I thought the break-visibility settings for ChordName would work, for example setting the beginning-of-line-invisible value to false:
\override Score.ChordName.break-visibility = ##(#t #t #f)
but that does not have any effect at all.
The reason this does not have any effect is that the code executed when chordChanges is set to ##t changes the break-visiblity of the specific chord name (sets it to beginning-of-line-visible). And that code is in C++, not Scheme, so I don't know how to override it.
I guess one could write a Scheme engraver for ChordName to replace the built-in one.
You should also raise an issue on the issues list asking for an enhancement. The enhancement would need to add some additional property (or change the existing property from a simple boolean), because we'd need to separately control hiding of repeated chord names only when not at the beginning of the line, and always hiding repeated chord names.
I actually think the best way to do it would be to change the chordChanges property from a boolean to a break-visibility. I can see that being quite easy to do.
In the meantime, as a workaround, you might just wish to fill up your chordmode with a bunch of s chords, and only put the chords in where you want them displayed:
\version "2.20.0"
harmonies = \chordmode {
d2 c
\break
% I don't want the repeated c chord name to display after the line break
s d
}
\new ChordNames {
\harmonies
}
HTH,
Carl