lilypond-user
[Top][All Lists]
Advanced

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

Re: Lyric and Stanza collision


From: Fred Leason
Subject: Re: Lyric and Stanza collision
Date: Mon, 5 Feb 2007 20:26:00 -0600

Thanks for responding. Agreed, I did not follow your advice exactly and in this email I have included a complete example.

I used the text \markup for two reasons. First, it would still be nice to know the specific verse number and the verses don't always start at "1." Second, I am trying to leave the music part as unmarked as possible and place as many markings as possible in Lyrics. This is because I use the music over and over again. A more complete example of what I am doing is at http://homepage.mac.com/ fleason/psalm99box.ly

My question here can be illustrated more simply.

I would like the notes for the reciting tone (the first note of each phrase associated with many words) to align with the first lyrics text. In this example, the notes align with the \box and \dynamic. The nice thing about the \set stanza was it printed the stanza number to the left of the first lyric text and the first note did align with the first lyric text. If it were just the stanza, then the rehearsal mark would solve the problem, but I would like to include the \dynamic as well. You can see from the psalm99box.ly example above, the dynamic varies from verse to verse whereas the A B pattern is very repetitive.

I realize that this is a unique application that twists the normal use of lilypond a bit out of shape. Lilypond would handle everything routinely if I were to write all the music out. But like most musicians and programmers, I am lazy and want to make this as easy for myself as possible. There is a new Psalm every week. I very much appreciate your help.

Here is a simple example:

<begin lilypond>

\version "2.11.13"

divisioMinima = {
\once \override BreathingSign #'stencil = #ly:breathing- sign::divisio-minima

% Workaround: add padding. Correct fix would be spacing engine handle this.
  \once \override BreathingSign  #'extra-X-extent = #'(-1.0 . 0)

  \breathe
}
divisioMaxima = {
\once \override BreathingSign #'stencil = #ly:breathing- sign::divisio-maxima
  \once \override BreathingSign  #'Y-offset = #0

% Workaround: add padding. Correct fix would be spacing engine handle this.
  \once \override BreathingSign  #'extra-X-extent = #'(-1.0 . 0)

  \breathe
}
#(set-default-paper-size "letter" )

global = {
        \key c \major
        \set Staff.whichBar = ""
        \set Score.timing = ##f
\override Score.RehearsalMark #'break-visibility = #begin-of-line- invisible
        \override Score.PaperColumn #'keep-inside-line = ##t
}

trebMusicA = {
                \fatText s4_"A" \noBreak
                <e' c'>2 <g' d'>4
                \divisioMinima
                <b d'>2 <e' cis'>4
                \divisioMaxima
        }

bassMusicA = {
                s4 <a f>2  <a c>4
                \divisioMinima
                <f a,>2 <a a,>4
                \divisioMaxima
        }       
                
allWords = \lyricmode
        {
\once \override LyricText #'self-alignment-X = #LEFT \markup{\box 1 \raise #2.0 \dynamic f The LORD is King; let the people} tremble;* \once \override LyricText #'self-alignment-X = #LEFT \markup{ \raise #2.0 \dynamic mf he is enthroned upon the cherubim;❜ let thē earth} shake.
}


\score {

        \context ChoirStaff <<
           \context Staff = women <<

                                \context Voice =
                                women { \oneVoice \global
                                        \trebMusicA
                                }
           >>
                        \context Lyrics = women \lyricsto women \allWords
                        \context Staff = men <<
                        \clef bass
                        \context Voice =
                                basses { \oneVoice \global
                                        \bassMusicA
                                }
           >>
        >>

        \layout {
                indent=0\in
                line-width=8\in
                indent = 0.0
                packed = ##f
                ragged-right = ##t
                ragged-last = ##t
                barAlways = ##t

                \context {
                        \Staff
                                \remove "Time_signature_engraver"
                                \override Stem #'transparent = ##t
                        }
                \context {
                        \Voice
                                \override Stem #'length = #0
                        }
                }
}

<end lilypond>

On Feb 5, 2007, at 1:43 PM, Mats Bengtsson wrote:

I think you misunderstood my reply. I didn't say that you
should use text \markup commands, but that you should
use Rehearsal marks, i.e. use the \mark command, just
as you already have done for the "REFRAIN" indication
in your original example.

Also, it's much easier to understand a question if you include
a complete example that can be ran directly in LilyPond
instead of just a few lines taken out of context.

  /Mats

Fred Leason wrote:






reply via email to

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