[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