lilypond-user
[Top][All Lists]
Advanced

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

Re: Joining barlines at the ends of lines?


From: Andrew Giddings
Subject: Re: Joining barlines at the ends of lines?
Date: Wed, 16 Sep 2009 21:48:26 +0100

The easiest answer was :

\override  Score.SpanBar #'break-visibility = #'#( #t #f #t )

Aha!  Great -- I knew there'd be a way.

It wasn't _quite_ as simple as that, of course... To recap: I had a GrandStaff holding a ChoirStaff (of 2 staffs) and a PianoStaff (of 2 Staffs). So I changed the ChoirStaff to a StaffGroup, and added your override. It joined up the right-hand barlines across the StaffGroup nicely, but the PianoStaff lost its joined barlines everywhere else! So I had to add another override to restore them.

I had more trouble joining the StaffGroup's right-hand barlines to the PianoStaff's ones, though. I tried all sorts of sets and overrides, but had no luck until I changed the outer GrandStaff into another StaffGroup. That got the barlines right, but of course added an extraneous bracket at the left-hand side. So it took a further set to fix that. But I think I've got what I wanted!

In case anyone's interested, the \score block now looks like this:

    \new StaffGroup
    <<  \set StaffGroup.systemStartDelimiter = #'SystemStartBar
        \override Score.SpanBar #'break-visibility = #'#( #t #f #t )
        % ...other overrides...
        \new StaffGroup
        <<  % ...other sets...
            \new Staff = "upper"
            <<  \new Voice = "soprano" { \voiceOne \sopranoNotes }
                \new Voice = "alto" { \voiceTwo \altoNotes }
            >>
            \new Lyrics = "al" { s1 }
            \new Lyrics = "tl" { s1 }
            \new Staff = "lower"
            <<  \new Voice = "tenor" { \voiceOne \tenorNotes }
                \new Voice = "bass" { \voiceTwo \bassNotes }
            >>
            \new Lyrics = "bl" { s1 }

            \lyricsto "alto" \context Lyrics = "al" { \altoWords }
            \lyricsto "tenor" \context Lyrics = "tl" { \tenorWords }
            \lyricsto "bass" \context Lyrics = "bl" { \bassWords }
        >>
        \new PianoStaff
<< \override PianoStaff.SpanBar #'break-visibility = #'#( #t #t #t )
            \context Staff = "upper" { \pianoRHNotes }
            \context Staff = "lower" { \pianoLHNotes }
        >>
    >>

I'm sure there are better ways of doing this, so further suggestions are welcome!

(Although I'm a software developer, I haven't yet had time to study Lilypond beyond what I needed to produce some scores. And I don't know any Scheme/Guile. -- Yes, I know, I know! I read a little Haskell, but my first proper functional language is Scala which I'm getting into and finding very exciting. But I'm sure this isn't the place.)

Anyway, many thanks for your help! I'll try to find some time soon to look into your second suggestion.
        _
      / _|_
    /     |/_n_d_y




reply via email to

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