[Top][All Lists]

[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"
           \new Voice {
           \new Voice {


      \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]