lilypond-user
[Top][All Lists]
Advanced

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

Re: How to slur into a split voice past a volta repeat


From: Thomas Morley
Subject: Re: How to slur into a split voice past a volta repeat
Date: Fri, 6 Mar 2015 21:53:49 +0100

2015-03-06 21:03 GMT+01:00 H. S. Teoh <address@hidden>:
> I ran into a rather complicated typesetting problem in one of my piano
> pieces. Conceptually, the music goes like this:
>
>         g8( fis | << g2)
>                   \\ r4 <ees bes g>16 ... % and so on
>                   >>
>
> The slur needs to cross into the first split voice inside the <<...>>,
> but I can't find any sane way in lilypond to do this. From what I read
> online and in the docs, there is no way to slur something across a voice
> boundary. So I settled on this compromise solution:
>
>         << { g8( fis | g2)  ... }
>         \\ { s4      | r4 <ees bes g>16 ... }
>         >>
>
> So far so good... except that the barline there actually needs to be the
> boundary of a volta repeat. This is where it completely breaks down.
> Conceptually, it should look something like this:
>
>         g8( fis |
>         \repeat volta 2 {
>                 << g2) ...
>                 \\ r4 <ees bes g>16 ...
>                 >>
>
>                 ...
>         }
>
> but obviously, there is no sane way to do this in lilypond. Or is
> there??  The slur now needs to cross not only a split voice, but also a
> volta boundary.  If I attempt to run lilypond on the above code, it
> produces a big mess in the output, because the outer '(' joins up with a
> wrong ')' many bars into the music -- since lilypond doesn't recognize
> that the matching ')' is actually inside the split voice -- and produces
> a long slur that slashes across the notes in the split voices.  Total
> disaster.
>
> Is there any way to remedy this? Or, barring that, is there a way to
> suppress the displaying of the volta repeat (e.g. move the g8 fis figure
> inside the repeat and put alternatives at the end to line things up) and
> manually place the repeat marks where they conceptually lie?
>
>
> T
>
> --
> "Real programmers can write assembly code in any language. :-)" -- Larry Wall
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user


Please (re-)read and _follow_
http://www.lilypond.org/website/tiny-examples.html


\new Voice = "me"
\relative c'' {
    f1(
    \repeat volta 2 {
      <<
        \context Voice = "me" { \voiceOne g1) }
        \\
        { b,2. }
      >>
    c1
    }
}


-Harm



reply via email to

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