On 2020-10-12 5:27 pm, Matthew Fong wrote:
I was engraving a piece of chant in modern notation recently, and
discovered that none of the custodes will draw a ledger for middle C
(C4)
or A5, notes beyond the 5-line staff. These notes do occur in chant and
polyphony.
Is there a workaround for this?
----
\layout { ragged-right = ##t }
\new Staff \with { \consists "Custos_engraver" } \relative c' {
\override Staff.Custos.neutral-position = #4
\override Staff.Custos.style = #'vaticana
c'1^"C4 custos missing ledger" \break
c,1^"A5 custos missing ledger" \break
a''1
}
Perhaps this:
%%%%
\version "2.20.0"
Custos_Ledger_Lines_engraver =
#(make-engraver
(acknowledgers
((custos-interface engraver custos source)
(let ((pad (case (ly:grob-property custos 'style)
((vaticana medicaea) 0.25)
((hufnagel) 0.15)
((mensural) 0)))
(sten (ly:grob-property custos 'stencil))
(nh (ly:engraver-make-grob engraver 'NoteHead custos)))
(ly:grob-set-property! nh 'non-musical #t)
(ly:grob-set-property! nh 'stencil
(grob-interpret-markup nh
(markup #:with-dimensions-from
#:pad-x pad
#:stencil sten #:null)))
(ly:grob-set-parent! nh X custos)
(ly:grob-set-parent! nh Y custos)))))
\paper { indent = 0 ragged-right = ##t }
\new Staff \with { \omit TimeSignature
\consists Custos_engraver
\consists \Custos_Ledger_Lines_engraver }
{ <a c'''>2. r4 \override Staff.Custos.style = #'vaticana \break
<a c'''>2. r4 \override Staff.Custos.style = #'medicaea \break
<a c'''>2. r4 \override Staff.Custos.style = #'hufnagel \break
<a c'''>2. r4 \override Staff.Custos.style = #'mensural \break
<a c'''>2. r4^\markup \transparent \draw-line #'(9 . 0) }
%%%%
The above hack does nothing more than add a fake NoteHead that overlaps
the Custos grob so that the LedgerLineSpanner does its magic.
-- Aaron Hill
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond