lilypond-user
[Top][All Lists]
Advanced

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

Re: is it possible to glue two staff's together? (hymn solution)


From: Ted Walther
Subject: Re: is it possible to glue two staff's together? (hymn solution)
Date: Tue, 16 Oct 2007 17:47:17 -0700
User-agent: Mutt/1.5.16 (2007-06-11)

Rene, thank you for that example.  It works nicely, except on lines
where the refrain is by itself.  On those lines, the extra space is
inserted even though it isn't needed.  Here is the output PDF:

http://hymns.reactor-core.org/lilypond/refrain-rene.pdf

I changed the value 7.4 to 8 to get the refrain nicely centered.

Han-Wen hasn't posted anything in a while; is he on vacation?  I guess
at this point I should ask, what would be involved in a coding fix, and
how much would it take to sponsor it?

I am thinking of two options right now.

Either a \new GlueStaff, which "glues" staves together inside it.

Or a new option to the Lyrics context so that its vertical alignment
ignores any other Lyrics contexts which don't overlap the Lyrics in the
horizontal direction.

Either of those options would be most satisfactory.  I regret I don't
know lilypond internals any better, so I could suggest something easier
to implement.

Ted

On Tue, Oct 16, 2007 at 12:04:04PM +0200, Ren? Brandenburger wrote:
Hi Ted,

yesterday I had some time to look at your issue again,
here is a snippet, which works fine, the only caveat is that the refrain
also takes up the same amount of space in e new line.

\version "2.11.19"
\header {
        title = "Wir feiern heut ein Fest"
}
\include "italiano.ly"
verseun = \lyricmode { \set stanza = "1. "
Wir fei -- ern heut ein Fest, und kom -- men hier zu -- sam -- men.
        Wir fei -- ern heut ein Fest,
        weil Gott uns al -- le liebt
}
versedeux = \lyricmode { \set stanza = "2. "
Wir fei -- ern heut ein Fest, und sin -- gen mit -- ein -- an -- der.
        Wir fei -- ern heut ein Fest,
        weil Gott uns al -- le liebt
}
versetrois = \lyricmode { \set stanza = "3. "
Wir fei -- ern heut ein Fest, und dan -- ken f??r die Ga -- ben
        Wir fei -- ern heut ein Fest,
        weil Gott uns al -- le liebt
}
verserefrain = \lyricmode { \set stanza = "Refrain: "
        Her -- ein, her -- ein!
        Wir la -- den al -- le ein.
        Her -- ein, her -- ein!
        Wir la -- den al -- le ein.
}
staffSoprano = \new Staff  {
        \time 4/4
        \tempo 4 = 96
        \set Staff.midiInstrument="voice aahs"
        \key sol \major
        \clef treble
        \relative do' {
                \context Voice = "melodySop" {
\partial 8 *1 re8 |
                        si'16 si8. sol8 fad mi4 r8 sol8 |
                        fad16 fad8. sol8 la si sol r8 re8 |
                        si'16 si8. sol8 fad mi4 r8 sol8 |
fad8 fad sol16 la sol8 ~ sol4 r8 }
                \context Voice = "repeatSop" {
                        \repeat volta 2 {
\partial 8 * 1 re8 |
                                si'4 re8 do4. r8 si8 |
                                la8 la si16 do si8 ~ si4 r8 re,8 |
                                si'4 re8 do4. r8 si8 |
                                la8 la sol16 fad sol8 ~ sol4 r8
                        }
                }
                %\bar "|."
        }
}
\score {
        <<
        \staffSoprano
        \context Lyrics = "verseUn" \lyricmode  { \lyricsto "melodySop"
\verseun }
        \context Lyrics = "verseDeux" \lyricmode  { \lyricsto "melodySop"
\versedeux }
        
        %% refrain %%
        \context Lyrics = "verseRefrain" \lyricmode  {
                %% move down, you probably have to play with the 7.4 to get it 
aligned
the way you want
                \override VerticalAxisGroup #'minimum-Y-extent = #'(-0 . 7.4)
\lyricsto "repeatSop" \verserefrain }
        
        \context Lyrics = "verseTrois" \lyricmode  { \lyricsto "melodySop"
\versetrois }
        \context Lyrics = "versetrois" \lyricmode  { \lyricsto "melodySop"
\versetrois }
        
        >>
        \layout
{ \context {
     \Lyrics
     \override LyricSpace #'minimum-distance = #0.6
     \override LyricText #'font-size = #-1
   }
 }
}

\score
{
 \unfoldRepeats \staffSoprano
 \midi {
 }
}

\paper {
}



--
           There's a party in your skull.  And you're invited!

Name:    Ted Walther
Phone:   778-320-0644
Email:   address@hidden
Skype:   tederific
Address: 3422 Euclid Ave, Vancouver, BC V5R4G4 (Canada)




reply via email to

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