lilypond-user
[Top][All Lists]
Advanced

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

Different behavior of \partcombine + \change Staff in 2.19


From: Shevek
Subject: Different behavior of \partcombine + \change Staff in 2.19
Date: Sun, 12 Nov 2017 20:39:24 -0700 (MST)

In order to cleanly manage wind parts sharing staves in an orchestral score,
I have been using a pattern like the following throughout my projects:

\paper {
  indent = 2.5\cm
  short-indent = 1.5\cm
}

global = {
  s1*4
  \break
  s1*4
  \break
  s1*4
}

bsnI = \relative {
  \tag #'score {
    \partcombineApart
    \oneVoice
    \dynamicDown
  }
  R1 |
  \resetRelativeOctave c
  c4 d e f |
  g4 f e d |
  R1 |
  \tag #'score \partcombineUnisono
  \resetRelativeOctave c
  c4 d e f |
  g4 f e d |
}

bsnII = \relative {
  \tag #'score {
    \change Staff = "Bsn2"
    \oneVoice
  }
  \resetRelativeOctave c
  c4 d e f |
  g4 f e d |
  R1*2 |
  c4 d e f |
  g4 f e d |
}

\score {
  \new StaffGroup \with {
    instrumentName = "Bassoon  "
    shortInstrumentName = "Bsn.  "
  } <<
    \new Staff = "Bsn1" \with {
      instrumentName = \markup\column { "1" "2" }
      shortInstrumentName = \markup\column { "1" "2" }
      \clef bass
    } << \global \partcombine \bsnI \bsnII >>
    \new Staff = "Bsn2" \with {
      instrumentName = "2"
      shortInstrumentName = "2"
      \clef bass
      \override VerticalAxisGroup.remove-empty = ##t
      \override VerticalAxisGroup.remove-first = ##t
    } \global
  >>
  \layout {
    \context {
      \StaffGroup
      \override InstrumentName.self-alignment-X = #0
    }
    \context {
      \Staff
      \override InstrumentName.self-alignment-X = #1
    }
  }
}

If you compile this in 2.18, it works beautifully because after the
beginning, no further Staff changes are required — the partcombiner
automatically pulls the second part into the primary staff whenever it is
set to unisono, soloII, or chords mode. In 2.19, however, you'll see that
the unison passage displays on both staves, while still putting "a2" above
the primary staff. This changed behavior breaks a tremendous amount of my
code in a way that isn't easy to cleanly fix. Is this change intended? Is
there a way I can salvage the old behavior?

By the way, if you compile my example code above, you might notice "warning:
cannot find context to switch to," yet the actual output finds a context to
switch to just fine. Is there a way to get rid of this? I get hundreds of
these whenever I compile my projects, and it makes it hard to find genuine
errors.

Thanks.



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html



reply via email to

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