Bear with me; this is a complicated thing to show.

Suppose I insert \override Score.Hairpin #'minimum-length = #n (n being a number) in a global position. If n is sufficiently large (in my experience, between 5 and 10) in combination with moderately large systems, systems start linebreaking in places I don't want. \noBreak doesn't help much; it just delays the linebreaking for one measure.

The example below, though complicated, demonstrates this. (I reduced it as best I could!) When compiled as is, you get the correct output: 10 measures break 4 measures. Now decomment the second line in the tempochange block, and rebuild. The output will change to 5 measures break 5 measures break 4 measures. Note that I couldn't reproduce the results with one or two instruments; three was the minimum.

Is this a bug? I felt worried about decarling everything undesirable I see 'not my fault'...:P

%%% code starts here %%%

\version "2.3.19"

#(set-global-staff-size 13)
\include "english.ly"

spacing = {
        s1 | s1 | s1 | s1 | s1 | s1 | s1 | s1 | s1 | s1 | \break
        s1 | s1 | s1 | s1 | \break
}

tempochange = {
        \override Score.MetronomeMark   #'transparent = ##t
        % \override Score.Hairpin #'minimum-length = #10
        \override Score.Hairpin  #'extra-offset = #'(0 . -1)
}

StaffA = \relative c'' {
        \clef "treble"
        \key c \minor
        \time 4/4
        
        r8 g!\< bflat r\! r\> eflat eflat, r\!
        r e[ r f r\< g r aflat]
        r c[ r dflat r e r f]\!
        < f, dflat' aflat' >4 r r g,(\<
        c2\!\< b4 c)\!
        aflat2.(\> g4)\!
        r aflat( aflat g)
        r4 r8 d''8 eflat r r c
        bflat r r c dflat r r bflat
        aflat r r cflat fflat r r\< g,
        aflat r r cflat fflat\! r r aflat
        
        R1*2

r32 g,,[( a b c8])~ c32[( b c d eflat8])~ eflat32[( d eflat f g8])~ g32[( f g aflat! bflat8])
}


StaffB = \relative c'' {
\clef "treble"
\key c \minor
\time 4/4

r8 g,!\< bflat r\! r\> eflat eflat r\!
r e[ r f r\< g r aflat]
g,[ g' aflat, aflat'] dflat,[ dflat' dflat, dflat']\!
< aflat, f' dflat' >4 r r g(\<
c2\!\< b4 c)\!
aflat2.(\> g4)\!
r aflat( aflat g)


r4 r8 d'8 eflat r r c
bflat r r c dflat r r bflat
aflat r r cflat fflat r r\< g
aflat[ aflat, cflat cflat'] fflat[\! fflat, aflat aflat']

R1*2

r32 g,,[( a b c8])~ c32[( b c d eflat8])~ eflat32[( d eflat f g8])~ g32[( f g aflat! bflat8])~
}


StaffC = \relative c' {
\clef "alto"
\key c \minor
\time 4/4

g!8[\< g bflat bflat]\! eflat[\> eflat eflat, eflat]\!
r8 e[ r f]\< e[ e' f, f']
e,[ e' f, f'] g,[ g' g, g']\!
< f, dflat' aflat' >4 r r g(\<
c2\!\< b4 c)\!
aflat2.(\> g4)\!
<< { f4( eflat aflat g) } \\ { dflat4( c d e) } >>


r8 c'[ d d] eflat![ eflat c c]
bflat[ bflat c c] dflat[ dflat bflat bflat]
aflat[ aflat cflat cflat] fflat[\< fflat g, g]
aflat[ aflat cflat cflat] fflat[\! fflat aflat aflat]
e,2.~ e32[(\< fsharp gsharp a] gsharp[ a b c])\!
e,2~ e32[(\< f! g! aflat! g aflat bflat c]) f,[( g aflat bflat aflat bflat c dflat])\!
g,8[~ g32 g( a b] c8)[~ c32( b c d] eflat8)[~ eflat32( d eflat f] g8)[~ g32( f g aflat!])
}



\score { \simultaneous { \new Staff << \tempochange \spacing \StaffA >> \new Staff << \StaffB >> \new Staff << \StaffC >> }

        \paper {
                \context { \RemoveEmptyStaffContext }
        }
}

%%% no more code %%%

Will Oram
spamguy ^^AT^^ foxchange.com // william.oram ^^AT^^ cwru.edu // AIM spamguy21




_______________________________________________
lilypond-user mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to