bug-lilypond
[Top][All Lists]
Advanced

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

Re: alignAboveContext problems together with \lyricsto


From: Valentin Villenave
Subject: Re: alignAboveContext problems together with \lyricsto
Date: Sat, 26 Apr 2008 17:26:19 +0200

2008/4/26 Peter Kaplan <address@hidden>:

>  Below is a snippet showing the lyrics being pushed up and away from the upper
>  divisi of the lower staff due to a Staff.VerticalAxisGroup #'minimum-Y-extent
>  command. My sense is that there must be an alternative way to vertically 
> space
>  staves that does not disrupt the spatial relationship between a staff and its
>  lyrics. Yes?

Oh-kaaaay...

Took me quite a while to understand your problem.

1) Here is how minimum-Y-extent works: the first number (negative) is
the amount of space you want below the Staff, while the second number
(positive) is the amount of space you want above the Staff. By
default, a Staff takes (-3 . 3), that means three space units below,
three space units above.

2) you can set the extent of every context you want. Even Lyrics (see below).

3) it is equivalent to type

\new WhatEver \with { \override SomeProperty #'blablah = #'foo } { a b c d }

or

\new WhatEver { \override WhatEver.SomeProperty #'blablah = #'foo }

Same goes for \set. When you type

\new Lyrics \with {alignAboveContext = #"bas" } \lyricsto "bary"
 { \set alignAboveContext = #"bas"

You actually set it twice.

4) From my three previous points, you can guess that if you want the
tenor's Lyrics not to be too close from the tass' lyrics, you can
easily use

\override Lyrics.VerticalAxisGroup #'minimum-Y-extent = #'(-3  . 1)

(notice that I use a bigger negative number, since I want to add space
*below* the line).

5) Your coding style is very hard to read, if I may. You might want to
indent your lines, use more space; but above all, you're using way too
many << >> signs... These signs are only needed when some events must
occur at the same time; when only one thing is happening (e.g. a
melody inside a Voice), the { } braces are enough -- and you'll have
less chances to get lost in your code!

6) There's no need to type \bar "|" (as far as i can remember, I've
even never used \bar "|" ).

7) Here's your code, as I would type it. Hope this helps!

%%%%%%%%%%%%%%%%%%%%%

\score {
  \new ChoirStaff  <<

      \new Staff {
    %    \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-5 . 3)
        \clef bass \key f \major \time 2/4
        \new Voice = "ten" {
            f2\( a4\) a8 bes c'4. c'8  }
      }

      \new Lyrics \with {
        \override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 0)}
          \lyricsto "ten" { they, Pay -- ing God hom -- age, }

      \new Staff = "bas" {
          \clef bass \key f \major
          \new Voice = "bassus" { f,4
            << \new Voice = "bary" {
                \voiceOne \stemUp f8 g a8( g) g f e8 d e g } {
                \voiceTwo \stemDown f8 c f8( e) e d a,4. a,8 }
            >>
            }
      }

    \new Lyrics \with {
            alignAboveContext = #"bas"
           \override VerticalAxisGroup #'minimum-Y-extent = #'(0 . 0)}
         \lyricsto "bary" {
            Pay -- ing hom -- age to God, they had for
         }

    \new Lyrics \lyricsto "bassus" {
            ass, Pay -- ing hom -- age to God, they
    }
  >>
}

%%%%%%%%%%%%%%%%%%


Cheers,
Valentin




reply via email to

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