lilypond-user
[Top][All Lists]
Advanced

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

How to slur into a split voice past a volta repeat


From: H. S. Teoh
Subject: How to slur into a split voice past a volta repeat
Date: Fri, 6 Mar 2015 12:03:15 -0800
User-agent: Mutt/1.5.23 (2014-03-12)

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



reply via email to

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