[Top][All Lists]
[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