bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: No ledger for custodes beyond 5-line staff


From: Aaron Hill
Subject: Re: No ledger for custodes beyond 5-line staff
Date: Tue, 13 Oct 2020 00:35:02 -0700
User-agent: Roundcube Webmail/1.4.9

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

Attachment: custos-ledger.cropped.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]