lilypond-user
[Top][All Lists]
Advanced

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

Re: slurs, shape en linebreaks


From: David Nalesnik
Subject: Re: slurs, shape en linebreaks
Date: Thu, 5 Mar 2020 07:36:25 -0600

Hi Martin,

On Thu, Mar 5, 2020 at 6:21 AM Martin Tarenskeen
<address@hidden> wrote:
>
>
> Fixed typo in attachment, question unchanged.
>
>
> On Thu, 5 Mar 2020, Martin Tarenskeen wrote:
>
> >
> > Hi,
> >
> > If a slur is crossing a linebreak, using the \shape function doesn't work
> > properly anymore.

Are you meaning there is some sort of regression, or that it never
worked the way you'd like?

> > I work around this by splitting the slur in two, and then
> > use \shape twice to tweak the end of the first and the start of the second
> > part of the slur to make it look like one slur. See attached.
> >

You can address the parts individually in one \shape invocation.  See
code below.

> > Is there an easier and/or better way to do this? My method has a 
> > disadvantage
> > that it only works if the linebreak doesn't change - in the example a \break
> > is used. But when using automatic linebreak formatting the break may change
> > if the score is changed, or if a new lilypond version chooses a different
> > linebreak.
> >

There is always going to be manual tweaking depending on LilyPond's
layout choices, because \shape is simply a fine-tuning of those
choices.  I suppose it would be nice to have a conditional somehow
attached--only tweak in the case of brokenness.  I imagine you could
use \alterBroken for this--\shape simply adds an offset to calculated
control-points, so use \alterBroken with Slur.control-points.

Does the following help any?

\score {
  \new Staff {
    \relative c' {
      \shape #'(
                 () ; leave first piece, or unbroken alone
                 ((-2.5 . 1.5) (0 . 0.5) (0 . 0) (0 . 0))
                 ) Slur
      c4( d e f | g a b c |
      %\break
      b a g f | e d c1 2) |
      c4( d e f | g a b c |
      \break
      b a g f | e d c1 2) |
    }
  }
  \layout {}
}



reply via email to

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