lilypond-user
[Top][All Lists]
Advanced

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

Re: Undertie in lyrics to show no breath


From: Thomas Morley
Subject: Re: Undertie in lyrics to show no breath
Date: Fri, 22 Jul 2022 19:25:48 +0200

Am Mi., 20. Juli 2022 um 15:18 Uhr schrieb mancunius <mancunius@icloud.com>:
>
> Hello. In the following example I want the undertie to be placed between the 
> 2 “O sacrum convivium” lines of lyrics, to indicate that no breath should be 
> taken by the singers - as per the normal choral convention. (cf. the 
> commented-out \breathe command in the music itself.) As it currently 
> compiles, the undertie is placed beneath the word “O” of the second phrase. 
> How do I adjust it so that it becomes a link between the 2 phrases, not part 
> of one of them? (I’ve attached a screenshot of what I would like to achieve)
>
> Thanks,
>
> mancunius
>
> \version "2.20.0"
> \language "english"
>
> global =
> {
> \key d \major
> }
>
> soprano=\relative c'{
> r2 r4 fs
> b4 b8 b d2 ~
> d4 cs cs %\breathe
> d ~
> d8 cs b4 b as
> b2. fs4
> fs2 r2
> }
>
> sopranotext=\lyricmode{
> O sa -- crum con -- ví -- vi -- um, \markup\undertie
> O __ sa -- _ crum con -- ví -- vi -- um
> }
>
> \score {
> {
> \new Staff <<
> \global
> \new Voice="v1"
> {
> \clef "treble"
> \soprano
> }
> \new Lyrics \lyricsto "v1" {\sopranotext}
> >>
> }
> }
>

Probably:

\version "2.20.0"
\language "english"

withLyricTie =
  \with {
    \consists "Text_spanner_engraver"
    \override TextSpanner.direction = #DOWN
    \override TextSpanner.bound-details.left.attach-dir = #0
    \override TextSpanner.bound-details.left.padding = 0
    \override TextSpanner.bound-details.right.attach-dir = 0
    \override TextSpanner.bound-details.right.padding = 0
    \override TextSpanner.outside-staff-priority = ##f
    \override TextSpanner.padding = 0.2
    \override TextSpanner.stencil =
      #(grob-transformer 'stencil
        (lambda (grob orig)
          (let* ((left-info (ly:grob-property grob 'left-bound-info))
                 (left-padding (assoc-get 'padding left-info))
                 (right-info (ly:grob-property grob 'right-bound-info))
                 (right-padding (assoc-get 'padding right-info))
                 (stil-x-ext (ly:stencil-extent orig X)))
         (make-tie-stencil
           (cons (+ (car stil-x-ext) left-padding) 0)
           (cons (- (cdr stil-x-ext) right-padding) 0)
           0.1
           DOWN))))
  }

global =
    {
    \key d \major
    }

soprano=\relative c'{
    r2 r4 fs
    b4 b8 b d2 ~
    d4 cs cs \breathe
    d ~
    d8 cs b4 b as
    b2. fs4
    fs2 r2
}

sopranotext=\lyricmode{

%% Adjust with below, change values to taste.
\override TextSpanner.bound-details.left.padding = 0.25
\override TextSpanner.bound-details.right.padding = 0.25

O sa -- crum con -- ví -- vi -- um,\startTextSpan
O\stopTextSpan __ sa -- _ crum con -- ví -- vi -- um
}

\score {
    {
    \new Staff <<
    \global
    \new Voice="v1"
        {
        \clef "treble"
        \soprano
        }
    \new Lyrics \with \withLyricTie \lyricsto "v1" {\sopranotext}
    >>
    }
}


Cheers,
  Harm



reply via email to

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