[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lyric sheet stylesheet] fixing lyric spacing
From: |
Kieren MacMillan |
Subject: |
[lyric sheet stylesheet] fixing lyric spacing |
Date: |
Fri, 7 Dec 2018 12:18:41 -0500 |
Hi all,
In the snippet below, I’m trying to develop some custom contexts so that people
can write out lyrics with chords (but no music).
Right now, I’m trying to fix two things:
1. I want to eliminate all LyricHyphens entirely, and present words as complete
words (rather than syllables). This would be solved, of course, if we had a
"first-class citizen" LyricWord grob (q.v. the discussion a few years ago
during Janek’s GSOC Lyrics work). Short of that, what can I do to squeeze out
all LyricHyphens and spaces between syllables?
2. I want lyrics to be naturally spaced (i.e., not affected at all by the
duration of the notes they are attached to). In the first line of output from
the snippet, there are spaces "Mary ____ had a ____ little lamb" etc. How can I
eliminate those?
Thanks,
Kieren.
%%% SNIPPET BEGINS
\version "2.19.80"
\paper {
indent = 0
ragged-right = ##t
system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6)
(padding . 2.5) (stretchability . 0))
score-system-spacing.padding = #12
}
\layout {
\context {
\ChordNames
\override ChordName.font-name = #"Alegreya Medium"
\override VerticalAxisGroup.staff-affinity = #DOWN
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 2.5) (minimum-distance . 2.5) (padding . 1.25)
(stretchability . 0))
}
\context {
\Lyrics
\override LyricText.font-name = #"Alegreya"
\override VerticalAxisGroup.staff-affinity = #UP
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 5.5) (minimum-distance . 5.5) (padding . 1.25)
(stretchability . 0))
}
\context {
\ChordNames
\name LyricSheetChords
\alias ChordNames
\inherit-acceptability LyricSheetChords ChordNames
\override VerticalAxisGroup.nonstaff-nonstaff-spacing =
#'((basic-distance . 1) (minimum-distance . 1) (padding . 1)
(stretchability . 0))
}
\context {
\Lyrics
\name LyricSheetLyrics
\alias Lyrics
\inherit-acceptability LyricSheetLyrics Lyrics
\override VerticalAxisGroup.staff-affinity = #UP
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 3) (minimum-distance . 3) (padding . 2)
(stretchability . 0))
\override LyricText.self-alignment-X = #-0.9
\override LyricSpace.minimum-distance = #0.625
\override LyricSpace.minimum-length = #0.5
}
}
theMelody = {
e'4 d' c' d'
e'4 4 4 4
d'4 4 e' d'
c'2 r4 d'
e'4 d' c' d'
e'4 4 4 4
d'4 4 e' d'
c'2. r4
}
theChords = \chordmode {
c2 f
c1
d2:m g
c1
c2 f
c1
d2:m g
c1
}
lyricsbreak = \tag #'lyricsheet { \bar "" \break }
theWords = \lyricmode {
Mar -- y had a lit -- tle lamb,
\lyricsbreak
Its fleece was white as snow.
\lyricsbreak
And ev -- ery -- where that Mar -- y went
\lyricsbreak
The lamb was sure to go.
}
\score {
\removeWithTag #'lyricsheet <<
\new ChordNames \theChords
\new Staff \new Voice = "melody" \theMelody
\new Lyrics \lyricsto "melody" \theWords
>>
\layout {
ragged-right = ##f
}
}
\score {
\keepWithTag #'lyricsheet <<
\new ChordNames \theChords
\new Devnull = "melody" \theMelody
\new LyricSheetLyrics \lyricsto "melody" \theWords
>>
\layout {
line-width = 6\in
indent = 2\in
short-indent = 2\in
\context {
\Score
\remove "Bar_number_engraver"
\remove "Bar_engraver"
}
}
}
%%% SNIPPET ENDS
________________________________
Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: address@hidden
- [lyric sheet stylesheet] fixing lyric spacing,
Kieren MacMillan <=