On Sun 23 Sep 2018 at 14:35:59 (-0700), Aaron Hill wrote:
> On 2018-09-23 1:43 pm, Noeck wrote:
> > > > Txt = \lyricmode { Ah Ah __ \repeat unfold 2 { \skip 1 } Ah Ah }
> > > > 
> > > 
> > > Try using "" or any invisible markup instead of the skips.
> > 
> > That did not work here. But this ugly hack does:
> > 
> > \lyricmode { Ah Ah __ \markup \with-color #white " " _ Ah Ah }
> > 
> > Actually, the color does not matter. But only an empty markup or a
> > space
> > is not enough.
> 
> My solution to this sort of thing is to make sure that only notes that
> have lyrics assigned are in the voice in question when using
> \addlyrics or \lyricsto.  The two "extra" notes would be put into
> their own voice so nothing tries to bind to them.
> 
> %%%%
> \version "2.18.2"
> A = \relative g' { g2 g( g g) << { s2 s } \\ { \oneVoice g2 g } >> g g }
> Txt = \lyricmode { Ah Ah __ Ah Ah }
> \score { \A \addlyrics { \Txt } \layout {} }
> %%%%

That's adds a lot of complexity. I prefer a simpler approach:

%%
\version "2.18.2"

A = \relative g' { g2 g( g g) g g g g }
n = \lyricmode { "" }

Txt = \lyricmode { Ah Ah __ \n _ Ah Ah }

\score { \A \addlyrics { \Txt } \layout {} }

nbsp = \markup \char ##x00A0 % safer alternative than the literal char (which 
does work)
n = \lyricmode { \nbsp }

Txt = \lyricmode { Ah Ah __ \n _ Ah Ah }

\score { \A \addlyrics { \Txt } \layout {} }
%%

The first method can emit warning messages so I use the second,
defined in a library \include.

You only need one melisma stopper, and I then use _ for subsequent notes as

  … a melisma __ \n
  \repeat unfold 83 _
  Next lyric …

is so tidy, and easily edited.

Cheers,
David.

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to