Search code examples
lilypond

What is this Lilypond warning: "no viable initial configuration found: may not find good beam slope"?


This code:

\version "2.18.2"

lh = { \change Staff = "down" \stemUp }
rh = { \change Staff = "up" \stemDown }

\new PianoStaff <<
  \new Staff = "up" {
    \new Voice {
      \numericTimeSignature
      \lh a16
      \rh e' a'
      \lh a
      \rh e' a'
      \lh a
      \rh e' a'
      \lh a
      \rh e' a'
      \lh a
      \rh e' b' e'

      \lh a
      \rh e' a'
      \lh a
      \rh e' a'
      \lh a
      \rh e' a'8.
      \lh b16 c'
      \rh e' g' b'
    }
  }
  \new Staff = "down" \with { \clef "bass" \numericTimeSignature }
    { \skip 1 \skip 1 }
>>

Produces this output when compiling:

$ lilypond test.ly 
GNU LilyPond 2.18.2
Processing `test.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
test.ly:27:15: warning: no viable initial configuration found: may not find good beam slope
      \lh b16 
              c'
Layout output to `test.ps'...
Converting to `./test.pdf'...
Success: compilation successfully completed

And this generally good looking graphical output:

enter image description here

My question is about the "warning":

  • "no viable initial configuration found: may not find good beam slope"

Is this having an ill effect? Is it possible to get better beam slopes? To my eyes, the fourth beat beams maybe should be going up instead of down (but what do I know?).

Is my code a good way to express this musical idea in lilypond? Is there a better way?


Solution

  • Nice response from the mailing list: https://lists.gnu.org/archive/html/lilypond-user/2018-06/msg00141.html

    The beam slope can be overridden per-case like: \once \override Beam.positions = #'( 5 . 5.5)