Many thanks David,
almost there...

On Wed, 2015-01-07 at 18:09 -0600, David Nalesnik wrote:
> Hi Graham,
> 
> 
> 
> On Wed, Jan 7, 2015 at 4:39 PM, Graham King <[email protected]>
> wrote:
> 
>         I'm trying to replace a note with one of two special glyphs,
>         depending on the note's position on the stave:  if on the
>         third line or above, stem down, otherwise stem up.  Is it
>         possible to extend the following code to detect automatically
>         (and independently of clef or transposition) which glyph
>         should be chosen?
>         
> 
> 
> Sure--try this:

Merged into my original example, to illustrate a problem:

\version "2.19.5"

#(define ((note-head-musicglyph name) grob)
(grob-interpret-markup grob (make-musicglyph-markup name)))
 
\score {
    \shiftDurations #-1 #0 {
        \relative c' {
            \time 4/2 
            c c c c
            \once \override NoteHead #'stencil = 
                #(lambda (grob)
                   (let ((pos (ly:grob-property grob 'staff-position)))
                     (if (>= pos 0)
                         (note-head-musicglyph "noteheads.dM2mensural")
                         (note-head-musicglyph
"noteheads.uM2mensural"))))
            c1 }}}

This works beautifully, except when the note is on a ledger line above
or below the stave, in which case the ledger line is lost and horizontal
spacing goes haywire.  Example attached.

_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to