bug-lilypond
[Top][All Lists]
Advanced

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

Re: autochange with multiple voices


From: David Kastrup
Subject: Re: autochange with multiple voices
Date: Tue, 18 Aug 2015 09:33:26 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Nik Repka <address@hidden> writes:

>> I'm not top posting.
>
> I am attempting to make a scales sheet for piano.  I need to use autochange
> simultaneously in two voices.  
>
> I am using the syntax from this snippet page:
> http://www.lilypond.org/doc/v2.15/Documentation/snippets-big-page#keyboards-using-autochange-with-more-than-one-voice.
>
> The issue I am having is that autochange only works on the top voice,
> and it drags the lower voice up into the top staff.  Here is the code:

You only ever get one voice.  The result of \autochange is a complete

<< \context Staff = "up" { }
   \context Staff = "down" {}
>>

hierarchy with the code and context changes somewhere inside.  Putting a
\new Voice around all that will not achieve anything useful.  You wrote:

>       << \new Staff = "up"
>          <<
>            \new Voice {
>            \voiceOne
>            \autochange

...

Here is how to keep the basic framework but have it resulting in
separate voices:

\version "2.18.2"

scaleRH = \relative c' {c d e f g a b c c b a g f e d c
g a b c d e fis g g fis e d c b a g}

scaleLH = \relative c {c d e f g a b c c b a g f e d c 
g a b c d e fis g g fis e d c b a g}


\score {
   \new PianoStaff 
    
      << \context Staff = "up"
         <<
           \autochange
           \new Voice {
           \voiceOne
    
           \scaleRH 
           
           }
           \autochange
           \new Voice {
           \voiceTwo

           \scaleLH 
           }
         >>

      \context Staff = "down" { 
          \clef bass
      }
      >>
}
Note that I'm not using \new Staff ... here in order not to create a
staff competing with the one delivered by \autochange, but rather
\context Staff in order to mesh with what might already be created.

-- 
David Kastrup

reply via email to

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