lilypond-user
[Top][All Lists]
Advanced

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

Cresc. Length Forces Line Breaks


From: Will Oram
Subject: Cresc. Length Forces Line Breaks
Date: Mon, 27 Sep 2004 23:23:23 -0400

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





reply via email to

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