Dear Lilyponders, Many years ago, Aaron Hall wrote a function that would allow a cluster of notes to be grouped together like a chant neume in modern notation, and effectively represent a single note. In essence, a melisma.
However, I've noticed that I'm unable to use LyricText.self-alignment-X to shift these notes/melismas relative to the Lyrics when I add a bit of rubric notation, like a dagger. The preference is that the notes/melisma start at the center of the text. There is no problem when it's just a single note. Only when using this function. Any idea what I might be missing, or other things to try? Many thanks, Matt *Sort of MWE:* \version "2.24.4" \language "english" % % multiNoteNeume: Solution to note spacing issue (authored by Aaron Hall) % [LINK] https://lists.gnu.org/archive/html/lilypond-user/2020-10/msg00083.html % multiNoteNeume = #(define-music-function (notes) (ly:music?) ;; Adjust this number to support longer runs of notes. (define denominator 11) (let ((dur (ly:make-duration 2 0 1 denominator)) (count 0) (last '())) (for-some-music (lambda (m) (if (music-is-of-type? m 'rhythmic-event) (begin (set! count (1+ count)) (set! last m) (ly:music-set-property! m 'duration dur) #t) #f)) notes) (if (ly:music? last) (ly:music-set-property! last 'duration (ly:make-duration 2 0 (- denominator (1- count)) denominator))) notes)) redDagger = \markup { \with-color #red † } daggerAndGo = \markup { \override #'(word-space . 0.5) \line { { \redDagger } Go } } customLayout = \layout { ragged-last = ##t \context { \Staff \override TimeSignature.stencil = ##f \override BarLine.extra-spacing-width = #'(0 . 2) } \context { \Voice \override Stem.stencil = ##f } \context { \Lyrics lyricMelismaAlignment = #CENTER } } % end layout \score { \new Staff << \new Voice = "Cantus" << \relative c' { \multiNoteNeume {c'4 (b)} \bar "||" \multiNoteNeume {c4 (b)} \bar "||" c \bar "||" } >> \new Lyrics \lyricsto "Cantus" { Go % This is the model \tweak LyricText.self-alignment-X #1 \daggerAndGo % No shifting of lyrics at all \tweak LyricText.self-alignment-X #0.47 \daggerAndGo % Single note works } >> \customLayout } % end score % Paper settings #(set! paper-alist (cons '("content-size" . (cons (* 3.25 in) (* 7 in))) paper-alist)) zerospacing = #'((basic-distance . 0) (minimum-distance . 0) (padding . 0) (stretchability . 0)) \paper { tagline = ##f #(include-special-characters) page-breaking = #ly:one-page-breaking #(set-paper-size "content-size") left-margin = 0.0\in top-margin = 0.0\in right-margin = 0.0\in bottom-margin = 0.0\in system-system-spacing = #'((basic-distance . 11) (minimum-distance . 11) (padding . 0) (stretchability . 0)) score-system-spacing = #'((basic-distance . 11) (minimum-distance . 11) (padding . 0) (stretchability . 0)) score-markup-spacing = \zerospacing markup-system-spacing = \zerospacing markup-markup-spacing = \zerospacing top-system-spacing = \zerospacing top-markup-spacing = \zerospacing last-bottom-spacing = \zerospacing }
