lilypond-user
[Top][All Lists]
Advanced

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

Re: Hiding slurs but retaining melismata


From: Jean Abou Samra
Subject: Re: Hiding slurs but retaining melismata
Date: Sat, 3 Jul 2021 17:34:51 +0200 (CEST)

> Le 03/07/2021 09:53, Lukas-Fabian Moser <lfm@gmx.de> a écrit :
> 
> 
> Hi Brent,
> 
> Am 03.07.21 um 09:40 schrieb Brent Annable:
> > Hi everybody,
> > I'm preparing some choral motets, and so far I have used slurs to tell
> > the lyric engine where to put the melismata. I am finding the page a
> > little too cluttered, so bow I want to see what the score would look
> > like without the slurs in it.
> > When I use \hide Slur, they disappear but the layout and spacing is
> > the same; obviously the engraver still creates them, they just aren't
> > shown. When I remove the engraver, the lyric engine no longer
> > recognises them so the syllables all end up in the wrong place.
> > Is there a way to tell Lilypond to use the slur indications to
> > position the lyrics, but to tell the slur engraver not to generate them?
> \hide'ing is too weak (it just makes the slurs transparent), \remove'ing
> the Slur_engraver is too much (the slurs cease to exist). \omit'ting is
> the right thing in between: The stencil is removed, so the slur won't be
> printed and won't take up space, but the lyrics engine still "sees" the
> slur.
> 
> So:
> 
> \version "2.22.1"
> 
> \layout {
> \omit Slur
> }
> 
> \relative {
> g'4.( f8 e d c d)
> e4 c
> }
> \addlyrics {
> Me -- lis -- ma
> }
> 
> Another, somewhat brutal alternative would be to re-define the meaning
> of ( and ):
> 
> \version "2.22.1"
> 
> "(" = \melisma
> ")" = \melismaEnd
> 
> \relative {
> g'4.( f8 e d c d)
> e4 c
> }
> \addlyrics {
> Me -- lis -- ma
> }
> 
> Lukas


Hi all,

Unfortunately, \omit isn't always as effective as one might think. Observe the 
following example:

\version "2.22.0"

\layout {
  \omit Slur
%  \override Slur.Y-extent = ##f
%  \override Slur.vertical-skylines = ##f
}

\relative {
    g'4.\shape #'((0 . 0) (0 . -5) (0 . -5) (0 . -5)) ( f8 e d c d)
    \break
    e4 c
}
\addlyrics {
    Me -- lis -- ma
}

This is because for slurs (as well as certain other grobs like staff symbols), 
extents and skylines are not computed from the stencil directly, but rather 
from inner data that is faster to process (here, the control points of the 
Bézier curve). A fix is shown above, setting them to ##f.

In this specific case, I'd use the "(" = \melisma technique Lukas devised.

Best,
Jean



reply via email to

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