lilypond-user
[Top][All Lists]
Advanced

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

Re: Lyrics, barlines and whiteout


From: Kim Bastin
Subject: Re: Lyrics, barlines and whiteout
Date: Thu, 08 May 2008 20:08:26 +1000
User-agent: Thunderbird 2.0.0.14 (Windows/20080421)

Thanks for your reply. I went with 2.10.33 as the "stable" version, but
if 2.11 is usable, I might try it. Is it possible to have both
coexisting on the same system? (Windows XP)

I removed the \markup {...} construct from the first line of lyrics and
removed Bar_engraver from the Lyrics context. The result in 2.10.33 is
unbroken barlines running through the text. What happens in 2.11? One
wouldn't want gaps in the barlines at the end of systems.

James E. Bailey wrote:
I was going to say that I didn't see a problem with doing the file without the bar lines in the text and removing the bar engraver, and then I realised that you're using 2.10.33. While I can't speak for that version, in 2.11, it works fine without the workaround. I would highly recommend 2.11. Especially if you're just starting. It makes lilypond a lot more usable.

Am 08.05.2008 um 08:36 schrieb Kim Bastin:

I'm a pretty new Lilypond user, about a week old in fact, so please be gentle.

As a learning exercise I have been entering a keyboard arrangement of one of Reger's Geistliche Gesänge, including the lyrics, which I had previously done in Sibelius (opening bars appended as Morgengesang.ly).

I have persuaded the lyrics to mask the barlines where they overlap by embedding the affected syllables in the construct

\markup { \whiteout \pad-markup #0.5 höch }

-- which works but makes ugly and confusing code. I tried writing a function:

mask = #(define-music-function (parser location syllable) (string?)
 #{
   \markup { \whiteout \pad-markup #0.5 $syllable }
 #})

but the result is a log full of errors and no compile. I'm probably attempting something I'm not ready for. (Anyone care to correct it?)

However, rather than hunt for overlapping syllables, it would be more efficient if some equivalent of \whiteout and \pad-markup #0.5 could be applied to the lyrics globally. I've looked unsuccessfully for a way of doing this. Is there one? I suppose it would involve overriding properties, but I can't identify the relevant ones.

Thanks


%charset=utf-8
\version "2.10.33"
\include "english.ly"

\paper {
    paper-width = 215\mm
    paper-height = 310\mm
}

#(set-global-staff-size 17)

\header {
 tagline = ##f
 composer = "Max Reger"
 title = "Morgengesang"
}


upper = {
 \clef treble
 \key ef \major
 \time 4/4 \partial 4
    << \relative ef' \new Voice = "1" {
            \voiceOne <ef c'>4 |
            \oneVoice <f af f'>4 <f bf f'> <ef g bf>2 |
            \voiceOne <ef g ef'>2 df'8 c \oneVoice <ef, bf' df>4 |
%b3
            <ef af c>2 r4 <af ef'> |
            <gf bf gf'>2. <f af f'>4 |
            \voiceOne ef' <bf df> c8 df \oneVoice <gf, bf>4 |
%b6
            <f a>2 r4 <d! f> |
            <d f g>4 <c ef a> \voiceOne <d b'> \oneVoice <ef c'> |
<f af! d>4 \voiceOne <ef c'> \oneVoice <f bf> <ef c'>8 <f d'> |
%b9
            <g bf ef>4 <a f'> <g b g'> \voiceOne c |
            <f, d'>4 <ef ef'> \oneVoice <f af f'> \voiceOne c' |
            <ef, ef'> <ef af> g f |
%b12
            \oneVoice <bf, ef>2. r4 |
            <c ef>2 <ef g>4 \voiceOne g8 af |
\oneVoice <df, f bf>4 \voiceOne <df bf'> \oneVoice <ef gf c> <c f c'> |
%b15
<d! f bf>4\fermata \voiceOne c'8 d \oneVoice <ef, g ef'>4 \voiceOne <ef ef'> |
            \oneVoice <a d>4 \voiceOne <g bf> c8 bf af4 |
            \oneVoice <e g>2 <f a>4 <f b> |
%b18
\voiceOne <ef c'>4 \oneVoice <f af! d> \voiceOne ef' <bf g'> |
            \oneVoice <af c f>4 \voiceOne ef' \oneVoice <d, fs a d>2 |
            \voiceOne g4 a \oneVoice <bf g d bf> \voiceOne <bf g> |
%b21
            \oneVoice <a f! c>4 <b g f d> <c g ef> \voiceOne <c af> |
            \oneVoice <b g d>2 r4 \voiceOne <d bf> |
            \oneVoice <ef bf g ef>4 \voiceOne <f bf,> <g bf,> <c, af> |
%b24
\oneVoice <d! bf f>4 \voiceOne ef \oneVoice <d a d,>\fermata <g, d b> |
            <a g c,>4 <b f d> <c af ef> <d af> |
            \voiceOne <d bf!>4 <e c> \oneVoice <f f,> \voiceOne bf, |
%b27
            <c g c,>4 \oneVoice <d af> <ef! bf g> \voiceOne <e c> |
            \oneVoice <f c af f>4 \voiceOne <bf, bf,> <c af> d8 ef |
            <bf g!>4 \oneVoice <c g c,> \voiceOne <df af> <d d,> |
%b30
            <ef ef,>4 bf <af f>8[ <g ef!~>] f8.[ ef16] |
            \oneVoice <ef bf>2.\fermata \bar "|."
        }

        \relative ef' \new Voice {
            \voiceTwo af8 g |
            s1 |
            c4. bf8 <f af>4 s4 |
%b3
            s1 |
            s1 |
            <<    { gf4. f8 af4 s }
                    \new Voice {
                        \voiceThree
                        \shiftOff
\once \override Beam #'positions = #'(1 . 1.2) {gf8 af} s4 s2
                        \shiftOn
                    }
            >> |
%b6
            s1 |
            s2 g8 f s4 |
            s4 af8 g s2 |
%b9
            s2 s4 af8 g |
            bf!2 s4 g8 f |
            af8 bf af f \tieUp ef ~ <c! ef>4 \tieDown <bf d>8 |
%b12
            s1 |
            s2 s4 <c ef> |
s4 \once \override Beam #'positions = #'(-3.3 . -3.5) { bf'8 af } s2 |
%b15
            s4 <f af> s4 c'8 bf |
            << { s4 g8 f! ef4. d8 }
                \new Voice { \voiceFour s2 g4 s4 }
            >> |
            s1 |
%b18
\once \override Beam #'positions = #'(-3.0 . -3.2) { c8 bf! } s4 g2 |
            s4 <af c>8 <g bf> s2 |
            << { g4. fs8 s4 ef8 d | }
\new Voice { \voiceFour \once \override NoteColumn #'force-hshift = #-0.65 d2 }
            >>
%b21
            s2 s4 f8 ef8 |
            s2 s4 <d f>8 <f af> |
            s4 f8 af g4. f8 |
%b24
            s4 <af c>8 bf s2 |
            s1 |
            g8 f e g s4  g8 <af f d> |
%b27
            c8 bf s4 s4 <af e>8 g |
            s4 <g ef!>8 <f d> <ef c> <d bf> <c' gf>4 |
            d,8 df s4 f8 <ef! c'> <g bf> <f af> |
%30
g8 af <f d> <df g> << { c4 } { s8 \once \override Stem #'transparent = ##t ef~ } >> ef16 c d8 |
            s2.
        }
    >>
}

lower = {
 \clef bass
 \key ef \major
 \time 4/4 \partial 4
 <<
     \relative ef \new Voice {
         \oneVoice <af c>4 |
            <df, af' ef'> <bf bf' df> <ef bf'>2 |
            \voiceOne c'4 g \oneVoice <f af> <g bf> |
%b3
            <af c>2 r4 <af c> |
            <gf df'>2. \voiceOne df'8 c |
            bf4 bf ef4. df8 |
%b6
            \oneVoice <f, c'>2 r4 <bf, bf'> |
            \voiceOne bf'4 ef,8 c' b g \oneVoice <af! c>[ <g bf>] |
            <f af>8 <g bf> <af c>4 <bf d> \voiceOne ef8 d |
%b9
            <bf ef~>4 <c ef>8 d \oneVoice <ef, g ef'>4 <af c ef> |
            <af bf>4 <g bf c> <f b d> \voiceOne <g c> |
            \oneVoice <c, af' c>4 \voiceOne ef8 f g af f16 g af8 |
%b12
            \oneVoice <ef g>2. r4 |
            \oneVoice <af, ef' af>2 <ef' bf'>4 <c ef> |
            <bf bf'>4 \voiceOne bf' \oneVoice <ef, bf'> <f a> |
%b15
            <bf, f' bf>4\fermata <f' af! c> <c c'> \voiceOne <c'> |
            \oneVoice <fs, a d> <g d'> \voiceOne c4. b8 |
            \oneVoice <c, g' c>2 \voiceOne <f c'>4 f8 g |
%b18
            <af c>4 \oneVoice <f af b> <c' ef> <bf d> |
            \voiceOne c8 bf c ef \oneVoice <d, a'>2 |
            <bf g'>4 <a d> <g g'> <ef' g> |
%b21
            f8 ef <d f>4 <c c'> <f c'> |
            g2 r4 <bf bf,> |
            <bf c,>4 <bf d,> <df bf e,> \voiceOne <c af>8 <f c> |
%b24
            \oneVoice bf,4 \voiceOne ef \oneVoice <a, fs>\fermata <g f> |
            <g ef>4 <g d> <c af!>8 <bf! g> \voiceOne <af f'>[ ef'] |
            \oneVoice <d bf g>4 <c bf c,> <af df,> <bf d,> |
%b27
\voiceOne \once \override Beam #'positions = #'(5.2 . 5.7) ef,8 g f af ef' <f df> c4 |
            c8 d! s4 s2 |
            g,4. bf8 \oneVoice <af! f>4 <bf, bf'>8 b |
%b30
\voiceOne g'8 c \oneVoice <bf! d,>[ <g e>] <af f>4 \voiceOne f16 g <af f>8 |
            \oneVoice <g ef>2.\fermata
        }

        \relative ef \new Voice {
            \voiceTwo s4 |
            s1 |
            c2 s2 |
            s1 |
            s2. df4 |
            ef8 f gf4 <af c> <ef bf'> |
            s1 |
            ef8 d c4 g' s4 |
            s2 s4 <af bf> |
            g4 f s2 |
            s2 s4 ef8 d |
            s4 <cf af'> <bf bf'> <bf bf'> |
            s1 |
s1 |
            s4 gf'8 f s2 |
            s2 s4 af8 g |
            s2 af4 f |
            s2 f8 ef <d d'>4 |
            af'8 g s4 s2 |
            <af f'>4 <c, c'> s2 |
            s1 |
            s1 |
            s1 |
            s2 s4 f |
            s4 af8 g s2 |
            s2 s4 f |
            s1 |
            <ef c'>4 <f f'> g c,8 bf |
            af4 g af <a a'> |
            bf4 e s2 |
            c4 s s <bf bf'> |
            s2.
        }
    >>
}

% There has to be a less cumbersome way of blanking out barlines!!!
text = \lyricmode {
Du4 \markup { \whiteout \pad-markup #0.5 höch } -- stes Licht,2 e -- wi4 -- ger \markup { \whiteout \pad-markup #0.5 Schein, }2. Du4 Gott2. und4 \markup { \whiteout \pad-markup #0.5 treu } -- er Her -- re mein,2. von4 dir der Gna -- den \markup { \whiteout \pad-markup #0.5 Glanz } aus -- gaht und \markup { \whiteout \pad-markup #0.5 leuch }2. -- tet4 \markup { \whiteout \pad-markup #0.5 schön, }2 leuch4 -- tet schön gleich früh und \markup { \whiteout \pad-markup #0.5 spat. }1 \markup { \whiteout \pad-markup #0.5 Das }2 ist4 der Her -- re Je -- sus \markup { \whiteout \pad-markup #0.5 Christ, }
     der ja die gött -- lich Wahr -- heit ist,2
der4 mit sein’r Lehr hell2 __ \markup { \whiteout \pad-markup #0.5 scheint }4 und leucht,2
     bis __ er4 die Her -- zen zu ihm zeucht.2.
Er4 ist der gan -- zen \markup { \whiteout \pad-markup #0.5 Wel } -- te Licht, da -- bei ein je -- der \markup { \whiteout \pad-markup #0.5 klar } -- lich sicht, den hel -- len schö -- nen \markup { \whiteout \pad-markup #0.5 lich } -- ten Tag, an __ \markup { \whiteout \pad-markup #0.5 dem } er se -- lig, se -- lig wer -- den \markup { \whiteout \pad-markup #0.5 mag. }2.
}

\score {
 \new GrandStaff <<
        \new Staff { \upper }
%        \new Lyrics \lyricsto "1" \text
%        \new Lyrics \text
        \new Lyrics { \set associatedVoice = #"1" \text }
        \new Staff { \lower }

 \layout {
   \context { \GrandStaff \accepts "Lyrics" }
   \context {
       \Lyrics
           \consists "Bar_engraver"
%            \consists "Separating_line_group_engraver"
%            \override BarLine #'transparent = ##t
        }
 }
}
_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user











reply via email to

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