Is it possible to tell the NoteNames engraver to print the name for
only the first note of a sequence of tied notes?
mymusic = { c'4 c' ~ c'2 }
\score {
<<
\new Voice \mymusic
\context NoteNames \mymusic
>>
}
Try that
%%%%%%%%%%%%%%%%%%%
tiedNoteToSkip = #(define-music-function (parser location music) (ly:music?)
(let ((prev-was-tie? #f))
(define (tied-note->skip evt)
(let ((elt (ly:music-property evt 'element))
(elts (ly:music-property evt 'elements))
(name (ly:music-property evt 'name)))
(cond ((and prev-was-tie? (eq? name 'EventChord))
(set! prev-was-tie? #f)
(skip-of-length evt))
((eq? name 'TieEvent)
(set! prev-was-tie? #t)
evt)
(else
(if (ly:music? elt) (ly:music-set-property! evt 'element
(tied-note->skip elt)))
(if (pair? elts) (ly:music-set-property! evt 'elements
(map tied-note->skip elts)))
evt))))
(tied-note->skip music)))
mymusic = { c'4 c' ~ c'2 }
\score {
<<
\new Voice \mymusic
\context NoteNames \tiedNoteToSkip \mymusic
>>
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%
Good Week-end.
Gilles
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user