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 21:55:06 +1000
User-agent: Thunderbird 2.0.0.14 (Windows/20080421)

I see. Version 2.10 will do this too, if you uncomment the lines

  \consists "Separating_line_group_engraver"
  \override BarLine #'transparent = ##t

But it's not what I want: I'm specifically trying to get the masking-out behaviour, without having to apply it syllable by syllable. (No accounting for taste, I know ;)
        
James E. Bailey wrote:
in 2.11, the text is typeset between the bars. That is, the text fits between the bars, and there's no need to white out part of the bar line to accommodate the text.
Am 08.05.2008 um 12:08 schrieb Kim Bastin:

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





_______________________________________________
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]