|
From: | Volodymyr Prokopyuk |
Subject: | Re: Guidance on the repeated slur in \volta 2 |
Date: | Fri, 28 Oct 2022 17:51:30 +0200 |
Le 27/10/2022 à 23:06, Volodymyr Prokopyuk a écrit :
> Hello,
>
> When working with the manually shaped slurs using the \tweak
> control-points approach, I've got the right output, but with the
> following programming error: bounds of this piece aren't breakable
> that always happens when the shaped slur is attached to the last note
> in a measure.
>
> *Minimal failing example*
>
> \version "2.23.14"
>
> \relative {
> \repeat volta 2 {
> g'1( |
> \alternative {
> \volta 1 { g2 g) | }
> \volta 2 {
> g2 g
> \tweak control-points
> #'((-5.5 . -3.0) (-3.5 . -3.0) (-1.5 . -3.0) (-0.3 . -2.0))
> ( <>)
> \bar "|."
> }
> }
> }
> }
>
>
> The output is rendered, but with the below programming error
>
> GNU LilyPond 2.23.14 (running Guile 2.2)
> Processing `shaped-slur.ly <http://shaped-slur.ly>'
> Parsing...
> Interpreting music...
> Preprocessing graphical objects...
> Finding the ideal number of pages..
> Fitting music on 1 page...
> Drawing systems...
> shaped-slur.ly:10:9: programming error: bounds of this piece aren't
> breakable.
>
> \tweak control-points
> shaped-slur.ly:10:9: continuing, cross fingers
> Converting to `shaped-slur.pdf'...
> Success: compilation successfully completed
>
> *Minimal working example*
> *
> *
> However,/if there is a rest/ after the note with the attached shaped
> slur, there is no programming error
>
> \version "2.23.14"
>
> \relative {
> \repeat volta 2 {
> g'1( |
> \alternative {
> \volta 1 { g2 g) | }
> \volta 2 {
> g2 g4
> \tweak control-points
> #'((-5.5 . -3.0) (-3.5 . -3.0) (-1.5 . -3.0) (-0.3 . -2.0))
> ( <>) r
> \bar "|."
> }
> }
> }
> }
>
> What is the reason for the programming error in the failing example?
> Is there a way to get the output from the failing example, but without
> the programming error?
This sounds like this issue in the LilyPond bug tracker:
https://gitlab.com/lilypond/lilypond/-/issues/6232
When you do
\version "2.23.80"
{ c'( <>) c' }
this is equivalent to
\version "2.23.80"
{ c'( c') }
In other words, using the empty chord <> attaches the event at
the same moment as the notes that follow this empty chord. Now,
in
{ c'( <>) }
you are conceptually attaching the end of the slur to some
non-existent note after the end of the piece. I understand
the request that it should work, but I think it's not very
surprising that it doesn't work.
If I were you, I would just use \repeatTie and \shape.
You are already using \shape, so the default layout
of \repeatTie that looks like a tie and not like a slur
is not so problematic.
Best,
Jean
[Prev in Thread] | Current Thread | [Next in Thread] |