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
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user