Re: Undertie in lyrics to show no breath

2022-07-22 Thread Valentin Petzel
Hello Mancunius,

personally I like to do such things like this:

\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
}

startTie =
#(define-music-function (m) (ly:music?)
   #{
 <<
   \once\set tieWaitForNote = ##t
   \tweak staff-position #1
   \tweak transparent ##t
   c''-\tweak direction #DOWN ~
   $m
 >>
   #})

endTie =
#(define-music-function (m) (ly:music?)
   #{
 <<
   \tweak staff-position #1
   \tweak transparent ##t
   c''
   $m
 >>
   #})

\layout {
  \context {
\Lyrics
\consists Note_heads_engraver
\consists Tie_engraver
  }
}

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- \startTie um, \endTie
O __ sa -- _ crum con -- ví -- vi -- um
}

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

The main problem here is that this will align the tie to the actual position, 
not to the right/left edges of the LyricsText. For this it would be quite 
simple to do some engraver magic that sets appriate hook for such alignment.

Cheers,
Valentin

Am Mittwoch, 20. Juli 2022, 12:34:58 CEST schrieb mancunius:
> 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}
> 
>   }
> }



signature.asc
Description: This is a digitally signed message part.


Re: Undertie in lyrics to show no breath

2022-07-22 Thread Thomas Morley
Am Mi., 20. Juli 2022 um 15:18 Uhr schrieb mancunius :
>
> 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



Re: Undertie in lyrics to show no breath

2022-07-22 Thread David Wright
On Fri 22 Jul 2022 at 12:52:17 (+0200), mancunius wrote:
> On 22 Jul 2022, at 10:41, Jean Abou Samra  wrote:
> > Le 22/07/2022 à 10:27, Simon Albrecht a écrit :
> >> On 20/07/2022 12:34, mancunius wrote:
> >>> 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.
> >> 
> >> This is because the markup command \undertie requires an argument and so 
> >> it is applied to the following syllable.
> >> 
> >> What I would suggest is a dotted or dashed slur between the notes like 
> >> this:
> >> 
> >> { \once\dashedSlur cs( d) }

> > Well, as David W. mentioned, there is predefined syntax with "~" to create 
> > a tie. Its length is fixed, however.
> > 
> > { c'1 1 }
> > \addlyrics { aah~ aah }
> > 
> > Do you think it's conventional to make the tie extend to the next syllable?
> 
> Thank you for the replies. The lyric tie doesn’t need to extend to the next 
> syllable, but it looks odd when appended to the left syllable at the same 
> time as displacing it; it looks like an error, 

Sure, I pointed that out; and as I implied, for precision you need to
make adjustments in X position. It just depends on who's the target
of your engraving.

> especially if the left syllable were to stretch across more than one note as 
> in the revised example below.

Well that actually solves the alignment problem, because it forces
left-alignment of the lyric.

> The purpose of a dotted slur between the notes is ambiguous, so I’d rather 
> not take that route.

… and when the piece is strophic, it doesn't actually specify which
verses carry over, particularly if the engraver wishes to preserve,
but contradict, the text's punctuation (as here).

> My preference is to have a lyric tie equally spaced between the two 
> syllables: it looks elegant and its purpose is clear.

I suppose a scheme expert might be able to hack that out of a fake
lyric hyphen rendered as a slur.

(Technically, these are lyric slurs, of course.)

But my preference is attached, because that's the syllable affected.
That said, if there's a new line involved, I prefix the second
syllable with a slur too, as a reminder when the eye has moved ahead.
Again, adjustments ….

Anyway, when following a tied note, perhaps pick a method that suits.
There's a snippet attached (the ! example is just to document that the
padding argument is optional).

Cheers,
David.
\language "english"
\include "extender.ily"
extendSlur =  #(extend "‿" 0.2)
extendBang =  #(extend "!")

global = { \key d \major }

soprano=\relative c'{
r4 cs cs a 
d e cs fs ~
fs %\breathe 
b, fs' fs8 fs
a4. a8 g4 fs
}

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- um, \extendSlur
O sa -- crum con -- ví -- vi -- um, con
}

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

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- "um,__‿"
O sa -- crum con -- ví -- vi -- um, con
}

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

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- "um,__ ~"
O sa -- crum con -- ví -- vi -- um, con
}

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

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- "um, ~"
O sa -- crum con -- ví -- vi -- um, con
}

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

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- um, \extendBang
O sa -- crum con -- ví -- vi -- um, con
}

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

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- um,~ __
O sa -- crum con -- ví -- vi -- um, con
}

\score {
\new Staff <<
\global
\new Voice="v1"
{
\clef "treble"
\soprano
}
\new Lyrics \lyricsto "v1" {\sopranotext}
>>
}
\version "2.22.1" % 

Re: Undertie in lyrics to show no breath

2022-07-22 Thread mancunius
Thank you for the replies. The lyric tie doesn’t need to extend to the next 
syllable, but it looks odd when appended to the left syllable at the same time 
as displacing it; it looks like an error, especially if the left syllable were 
to stretch across more than one note as in the revised example below.

The purpose of a dotted slur between the notes is ambiguous, so I’d rather not 
take that route.

My preference is to have a lyric tie equally spaced between the two syllables: 
it looks elegant and its purpose is clear.



\version "2.20.0"
\language "english"

global = 
{
\key d \major 
}

soprano=\relative c'{
r4 cs cs a 
d e cs fs ~
fs %\breathe 
b, fs' fs8 fs
a4. a8 g4 fs
}

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- um,~ __
O sa -- crum con -- ví -- vi -- um, con
}

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



> On 22 Jul 2022, at 10:41, Jean Abou Samra  wrote:
> 
> 
> 
> Le 22/07/2022 à 10:27, Simon Albrecht a écrit :
>> Hi mancunius,
>> 
>> On 20/07/2022 12:34, mancunius wrote:
>>> 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.
>> 
>> This is because the markup command \undertie requires an argument and so it 
>> is applied to the following syllable.
>> 
>> What I would suggest is a dotted or dashed slur between the notes like this:
>> 
>> { \once\dashedSlur cs( d) }
>> 
>> Unfortunately there is no mechanism for creating a tie between different 
>> lyric syllables _yet_. However, LilyPond is very open to customisation and 
>> maybe some of the wizards on this list could help. This is the method I 
>> hoped might work:
>> 
>> 
>> \version "2.20.0"
>> 
>> \layout {
>>   \context {
>> \Lyrics
>> \consists "Slur_engraver"
>>   }
>> }
>> 
>> startLyricSlur = (
>> stopLyricSlur = )
>> 
>> \score {
>>   <<
>> {  2 4( 4) }
>> \addlyrics {
>>   um, \startLyricSlur
>>   O __ \stopLyricSlur
>> }
>>   >>
>> }
>> %%
>> 
>> and I don’t know whether it’s a short or a long way from working…
> 
> 
> Well, as David W. mentioned, there is predefined syntax with "~" to create a 
> tie. Its length is fixed, however.
> 
> { c'1 1 }
> \addlyrics { aah~ aah }
> 
> Do you think it's conventional to make the tie extend to the next syllable?
> 
> Best,
> Jean
> 



Re: Undertie in lyrics to show no breath

2022-07-22 Thread Jean Abou Samra




Le 22/07/2022 à 10:27, Simon Albrecht a écrit :

Hi mancunius,

On 20/07/2022 12:34, mancunius wrote:
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.


This is because the markup command \undertie requires an argument and 
so it is applied to the following syllable.


What I would suggest is a dotted or dashed slur between the notes like 
this:


{ \once\dashedSlur cs( d) }

Unfortunately there is no mechanism for creating a tie between 
different lyric syllables _yet_. However, LilyPond is very open to 
customisation and maybe some of the wizards on this list could help. 
This is the method I hoped might work:



\version "2.20.0"

\layout {
  \context {
    \Lyrics
    \consists "Slur_engraver"
  }
}

startLyricSlur = (
stopLyricSlur = )

\score {
  <<
    {  2 4( 4) }
    \addlyrics {
      um, \startLyricSlur
  O __ \stopLyricSlur
    }
  >>
}
%%

and I don’t know whether it’s a short or a long way from working…



Well, as David W. mentioned, there is predefined syntax with "~" to 
create a tie. Its length is fixed, however.


{ c'1 1 }
\addlyrics { aah~ aah }

Do you think it's conventional to make the tie extend to the next syllable?

Best,
Jean




Re: Undertie in lyrics to show no breath

2022-07-22 Thread Simon Albrecht

Hi mancunius,

On 20/07/2022 12:34, mancunius wrote:
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.


This is because the markup command \undertie requires an argument and so 
it is applied to the following syllable.


What I would suggest is a dotted or dashed slur between the notes like this:

{ \once\dashedSlur cs( d) }

Unfortunately there is no mechanism for creating a tie between different 
lyric syllables _yet_. However, LilyPond is very open to customisation 
and maybe some of the wizards on this list could help. This is the 
method I hoped might work:



\version "2.20.0"

\layout {
  \context {
    \Lyrics
    \consists "Slur_engraver"
  }
}

startLyricSlur = (
stopLyricSlur = )

\score {
  <<
    {  2 4( 4) }
    \addlyrics {
      um, \startLyricSlur
  O __ \stopLyricSlur
    }
  >>
}
%%

and I don’t know whether it’s a short or a long way from working…

Best, Simon




Re: Undertie in lyrics to show no breath

2022-07-20 Thread David Wright
On Wed 20 Jul 2022 at 11:34:58 (+0100), mancunius wrote:
> 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)

You might try:

O sa -- crum con -- ví -- vi -- um_~
O __ sa -- _ crum con -- ví -- vi -- um

± the comma.

Note that the alignment of the um is slightly affected,
if you're after precision.

Cheers,
David.



Undertie in lyrics to show no breath

2022-07-20 Thread mancunius
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}
>>
}
}