lilypond-devel
[Top][All Lists]
Advanced

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

Text on broken lyric extenders


From: Dan Eble
Subject: Text on broken lyric extenders
Date: Mon, 27 Mar 2017 17:48:43 -0400

Here’s a proof of concept that I don’t currently have time to develop.  I think 
it would be nice if ly::lyric-extender::print worked this way by default, so 
that a user only had to set LyricExtender.text to get this behavior.

Regards,
— 
Dan

\version "2.19.54"

%% Print a lyric extender with text at the beginning where the
%% extender is broken.  This can be useful after a break (see Behind
%% Bars, p.452).
#(define (dfe-lyric-extender-print grob)
  (let ((line (ly:lyric-extender::print grob)))
   (if (ly:grob-property grob 'text)
    (let* ((x-ext (ly:stencil-extent line X))
           (text (stencil-whiteout-box (lyric-text::print grob))))
     (ly:stencil-add
      line
      (ly:stencil-translate text (cons (interval-start x-ext) 0))))
    line)))

\layout {
  \context {
    \Lyrics
    \override LyricExtender.stencil = #dfe-lyric-extender-print
  }
}

ooo = \lyricmode {
  \once \alterBroken text #'(#f "(oo)") LyricExtender
  Ooo __
}

<<
  \new Voice = "mel" \fixed c' { c1 d e f | \break g a b g }
  \new Lyrics \lyricsto "mel" { \ooo _ _ _ _ _ _ _ }
>>




reply via email to

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