Hello list
Triggered by my recent problem with a strange notion of Lilypond, due to which
it seems to prefer an even number of pages for a score in a multi-score
work, I wanted to try and fix that in another document of mine.
This work (namely Bach’s Mass in B minor, BWV 232) has 27 pieces, hence I
wanted to make it as easy as possible to work on single pieces at a time, but
also to compile the whole thing.
So, of course, each piece is in an own file again. But this time, I wanted to
have everything that is needed to load a piece in one single line (so they can
be switched on and off the easiest).
As a result, the piece files now contain the entire score block, plus variable
definitions for all staves and lyrics to be used within the \score. However
there is one problem - I can't use this approach with bookparts, because I
can't define variables within a bookpart (I get unknown string error). The
obvious solution to this would be of course to not use variables, but write
everything into the \score directly. This has at least the problem of having
to duplicate parts that are common to all staves.
But still, I am curious: how do you structure your bigger projects (both in
terms of physical files as well as logical structure) in order to remain
flexible in case you decide to change something globally? I'm only producing
choir sheets, so I have no need for separate versions of the files like
instrument parts.
I attached one piece and the main file, adapted to be a working minimal
example. ;-)
--
Gruß | Greetings | Qapla'
Kids in the back seat cause accidents. Accidents in the backseat cause kids.
\version "2.12.2"
%\include "titling.ly" % more elaborate title page
\include "deutsch.ly"
#(set-global-staff-size 14.14)
\paper {
#(set-paper-size "a4")
top-margin = 1.3 \cm
bottom-margin = 1.6 \cm
default-paper-size = "a4"
between-system-padding = 0\cm
line-width = 17.5\cm
ragged-last-bottom = ##f
}
\layout { indent = #0 }
%\book {
\header {
title="Mass in B minor"
composer="Johann Sebastian Bach"
}
\markuplines \table-of-contents
%}
\pageBreak
%part="1. Kyrie eleison" \tocItem \markup \part \include "01.ly"
%part="3. Kyrie eleison" \tocItem \markup \part \include "03.ly"
%part="4. Gloria in excelsis" \tocItem \markup \part \include "04,05.ly"
%part="25. Osanna repetatur" \tocItem \markup \part \include "25.ly"
part="27. Dona nobis pacem" \tocItem \markup \part \include "27.ly"
\version "2.12.2"
\include "deutsch.ly"
tags=#'clefold
part="27. Dona nobis pacem"
control={
\set Score.skipBars = ##t
\set Score.skipTypesetting = ##f
\override Score.RehearsalMark #'self-alignment-X = #left
\time 2/1\mark\markup{\part}
\set Staff.timeSignatureFraction = # '(2 . 2)
s\breve
s\breve * 45
\bar "|."
}
SopranStaff={
\set Staff.instrumentName="S"
\set Staff.shortInstrumentName="S"
<<
\control
\new Voice="Sopran" \relative c'' {
\tag #'clefold {\clef soprano}
\tag #'clefnew {\clef treble}
\key h \minor
\autoBeamOff
\set Score.skipBars = ##t
R\breve * 2
r2 a( h) cis
d \melisma cis4 h cis \melismaEnd a d2~
d cis h1
% Seite 5 Takt 6
a2 r r1
r2 d1 cis2
d4 \melisma cis8[ h] a[ h g a] h[ a h c] h[ c h a]
% Seite 6, Takt 9
g4 \melismaEnd e a2 d, r
r1 r2 a'(
h) cis d \melisma cis4 h
cis \melismaEnd fis, fis'2~ \melisma fis4 e8[ d] e2~
e4 d2 \melismaEnd g4 cis, e d( cis)
% Seite 7, Takt 14
h1 r
r d(
e2) fis g \melisma fis4 e
fis \melismaEnd d g1 fis2
e1 d
% Seite 8, Takt 19
r r2 e~
e dis e4 \melisma d8[ c] h[ c a h]
c[ h c d] c[ e d c] h4 \melismaEnd cis d2
g,4 r cis1 h2
% Seite 9, Takt 23
e4 e a,2 a4 r fis'2~
fis eis fis4 \melisma e8[ d] cis[ d h cis]
d[ cis d e] d[ fis e d] cis4 \melismaEnd cis fis2
h,2 r r d(
% Seite 10, Takt 27
e) fis g \melisma fis4 e
fis \melismaEnd d g1 fis2
e d~ d4 h2 h4
a a h2 e,4 r a2(
h) cis d \melisma cis4 h
% Seite 11, Takt 32
cis \melismaEnd a d1 cis2
h1 a
R\breve
d1( e2) fis
g \melisma fis4 e fis \melismaEnd d g2~
% Seite 12, Takt 37
g fis e1
d2 d1 cis2
d8[ \melisma e d cis] h[ cis a h] cis[ d h cis] dis[ e cis dis]
e1~ e4 d!8[ cis] d[ e fis d]
% Seite 13, Takt 42
g1~ g2 \melismaEnd fis
e\breve
d2 r4 d \melisma e2~ e8[ fis e d]
cis4 \melismaEnd a fis'1 \melisma e2~
e4 \melismaEnd a, d2~ d4 cis8[ h] cis2
d\breve\fermata
}
>>
}
SopranLyrics=\lyricmode {
Do -- na no -- bis pa -- cem, pa --
cem, pa -- cem, do --
na no -- bis, do -- na no -- bis pa -- cem, do -- na no --
bis, do -- na no -- bis pa -- cem, pa -- cem,
pa -- cem, do -- na no -- bis pa -- cem,
do -- na no -- bis pa -- cem, do -- na no -- bis, do --
na no -- bis pa -- cem, pa -- cem, __ do -- na no -- bis pa -- cem, do -- na no --
bis pa -- cem, pa -- cem, do -- na no -- bis pa --
cem, pa -- cem, pa -- cem, do --
na pa -- cem, do -- na, do -- na no -- bis pa -- cem.
}
AltStaff={
\set Staff.instrumentName="A"
\set Staff.shortInstrumentName="A"
<< \control
\new Voice="Alt" \relative c' {
\tag #'clefold {\clef alto}
\tag #'clefnew {\clef treble}
\key h \minor
\autoBeamOff
\set Score.skipBars = ##t
R\breve
r1 r2 d(
e) fis g \melisma fis4 e
fis \melismaEnd d g1 fis2
e1 d
% Seite 5, Takt 6
r1 r2 a'~
a gis a4 \melisma g8[ fis] e[ fis d e]
fis[ e fis g] fis[ g fis e] d4 \melismaEnd h fis'2
% Seite 6, Takt 9
h, r r1
r2 d( e) fis
g \melisma fis4 e fis \melismaEnd h, h'2~ \melisma
h4 a2 \melismaEnd d4 g, h a( g)
fis1 r
% Seite 7, Takt 14
r a(
h2) cis d \melisma cis4 h
cis \melismaEnd a d1 cis2
h1 a2 d,(
e) fis g \melisma fis4 e
% Seite 8, Takt 19
fis \melismaEnd d a'1 g2
fis1 e2 g~
g fis g4 \melisma fis8[ e] d[ e cis d]
e[ d e fis] e[ g fis e] d4 \melismaEnd e fis2
% Seite 9, Takt 23
h,2 e2~^\markup{todo} e4 d cis a'
gis1 fis2 r
r d( e) fis
g \melisma fis4 e fis \melismaEnd d g2~
% Seite 10, Takt 27
g fis e1
d2 r r4 d'2 d4
cis cis d8[( cis h a] g4) d g2~
g4 fis d2( e) fis
g \melisma fis4 e fis \melismaEnd d g2~
% Seite 11, Takt 32
g fis e1
d r2 d(
e) fis g \melisma fis4 e
fis \melismaEnd d g1 \melisma fis2~
fis4 e8[ d] a'2~ a4 g8[ fis] h2 \melismaEnd
% Seite 12, Takt 37
a a gis a~
a gis a8[ \melisma e fis gis] a[ h gis a]
h4 \melismaEnd fis h2~ h4 e, a2
e4 r cis'2~ cis4 h8[ ais] h2~
% Seite 13, Takt 42
h4 h e,2 d d(
e) fis g \melisma fis4 e
fis h2 \melismaEnd h4 e, \melisma gis h2~
h4 \melismaEnd e, a2~ a4 d, g!2~ \melisma
g4 fis8[ e] fis4 \melismaEnd h fis( e8[ d] e2)
fis\breve\fermata
}
>>
}
AltLyrics=\lyricmode {
Do -- na no -- bis pa -- cem, pa -- cem,
pa -- cem, do -- na no --
bis, do -- na no -- bis pa -- cem, do -- na no -- bis,
do -- na no -- bis pa -- cem, pa -- cem, do -- na no --
bis pa -- cem, pa -- cem, pa -- cem, do -- na no --
bis, do -- na no -- bis pa -- cem, do -- na no -- bis pa --
cem, pa -- cem, do -- na no -- bis, do -- na pa -- cem, do -- na no -- bis pa --
cem, pa -- cem, do -- na no -- bis pa --
cem, do -- na pa -- cem, do -- na, do -- na no -- bis pa -- cem, do --
na no -- bis, do -- na no -- bis pa -- cem, do -- na no -- bis pa -- cem.
}
TenorStaff={
\set Staff.instrumentName="T"
\set Staff.shortInstrumentName="T"
<<
\control
\new Voice="Tenor" \relative c' {
\tag #'clefold {\clef tenor}
\tag #'clefnew {\clef "G_8"}
\key h \minor
\autoBeamOff
\set Score.skipBars = ##t
r1 r2 a(
h) cis d \melisma cis4 h
cis \melismaEnd a d1 cis2
h1 a
r r2 d2~
% Seite 5, Takt 6
d cis d4 \melisma cis8[ h] a[ h g a]
h[ a h cis] h[ d cis h] a4 \melismaEnd e a2
d,1 r
% Seite 6, Takt 9
r2 a'( h) cis
d \melisma cis4 h cis \melismaEnd fis, fis'2~ \melisma
fis4 e2 \melismaEnd a4 d, fis e( d)
cis1 r
d( e2) fis
% Seite 7, Takt 14
g \melisma fis4 e fis \melismaEnd d a'2~
a g fis1
e2 a,( h) cis
d \melisma cis4 h cis \melismaEnd a d2~
d cis h1
% Seite 8, Takt 19
a2 e'4 e dis( h2) h4
c2( h) g r
r1 r2 h~
h ais h4 \melisma a8[ g] fis[ g e fis]
% Seite 9, Takt 23
g[ fis g a] g[ h a g] fis4 \melismaEnd g a2
d,4 d'( cis) cis cis d e2
a, r r a(
h) cis d \melisma cis4 h
% Seite 10, Takt 27
cis \melismaEnd a d1 c2
c( h) a1
r2 a( h) cis
d \melisma cis4 h cis \melismaEnd a d2~
d cis h4 \melisma fis' e d
% Seite 11, Takt 32
cis e d fis h,2 \melismaEnd a~
a g a h
g a( h) cis
d \melisma cis4 h cis \melismaEnd a d2~ \melisma
d4 cis8[ h] e2~ e4 \melismaEnd a, d2(
% Seite 12, Takt 37
e) d4( cis) h2 cis
d4( cis) h2 e2. e4
fis d e2~ e4 e fis2
h, fis'~ \melisma fis8[ g fis e] fis4 \melismaEnd d
% Seite 13, Takt 42
d2( cis4) a a2 a
r a( h) cis
d( e4) fis h,2 \melisma e~
e4 \melismaEnd cis2 d8[( cis] h4 a) h( g)
a( h8[ cis] d4) h a1
a\breve\fermata
}
>>
}
TenorLyrics=\lyricmode {
Do -- na no -- bis pa -- cem, pa -- cem, pa --
cem, do -- na no -- bis,
do -- na no -- bis pa -- cem, do -- na no -- bis, do -- na
no -- bis pa -- cem, pa -- cem, do -- na no -- bis pa -- cem, pa --
cem, do -- na no -- bis pa -- cem, pa -- cem, do --
na no -- bis pa -- cem, do -- na no -- bis, do -- na no --
bis pa -- cem, pa -- cem, do -- na no -- bis pa -- cem, do --
na __ no -- bis pa -- cem, do -- na no -- bis pa -- cem, do --
na no -- bis pa -- cem, do -- na no -- bis pa -- cem, pa -- cem, do -- na
no -- bis pa -- cem, do -- na no -- bis pa -- cem, do -- na no -- bis pa -- cem.
}
BassStaff={
\set Staff.instrumentName="B"
\set Staff.shortInstrumentName="B"
<< \control
\new Voice="Bass" \relative c {
\clef bass
\key h \minor
\autoBeamOff
\set Score.skipBars = ##t
r2 d( e) fis
g \melisma fis4 e fis \melismaEnd d g2~
g fis e1
d1 r
r2 a'1 gis2
% Seite 5, Takt 6
a4 \melisma g!8[ fis] e[ fis d e] fis[ e fis g] fis[ g fis e]
d4 \melismaEnd h e2 a,1
r r2 d2(
% Seite 6, Takt 9
e) fis g \melisma fis4 e
fis \melismaEnd h, h'2~ \melisma h4 a2 \melismaEnd d4
g, h a( g) fis1
R\breve
r2 h1 ais2
% Seite 7, Takt 14
h8[ \melisma cis a! h] cis[ d h cis] d[ cis d e] d[ e d cis]
h1~ h4 cis \melismaEnd d2
a g4( fis) e2 a
d,( e) a,1~
a2 ais8[ \melisma h gis ais] h[ cis ais h] cis[ d h cis]
% Seite 8, Takt 19
d[ cis d e] c[ h c d] h4 \melismaEnd h e2
a, h e r
R\breve
r1 r2 d2~
% Seite 9, Takt 23
d cis d4 \melisma cis8[ h] a[ h gis a]
h[ a h cis] h[ d cis h] a4 \melismaEnd h cis2
fis,4 r h'2~ h4 a g fis
e2( a) d, r
% Seite 10, Takt 27
R\breve
r1 d(
e2) fis g \melisma fis4 e
fis \melismaEnd d g1 fis2
e( a) d,4 r h'2~ \melisma
% Seite 11, Takt 32
h4 cis \melismaEnd d( h) g e a2
d, r r1
R\breve
r1 a(
h2) cis d \melisma cis4 h
% Seite 12, Takt 37
cis \melismaEnd a d1 cis2
h1 a2 a'~
a gis a8[ \melisma h a g] fis[ g e fis]
gis[ a fis gis] ais[ h gis ais] h1~
% Seite 13, Takt 42
h4 a!8[ g] a[ h cis a] d4 a d2~
d \melismaEnd c h1~
h2 a gis1
a4 a2 d,4 g!( fis g) e
fis2. \melisma g4 a2 a, \melismaEnd
d\breve\fermata
}
>>
}
BassLyrics=\lyricmode {
Do -- na no -- bis pa -- cem, pa -- cem, pa -- cem,
do -- na no -- bis, do --
na no -- bis pa -- cem, do -- na no -- bis pa -- cem,
pa -- cem, do -- na no -- bis pa -- cem, __ do --
na no -- bis pa -- cem, pa --
cem, do -- na no -- bis, do -- na no -- bis pa -- cem,
do -- na no -- bis pa -- cem, pa -- cem, do --
na no -- bis pa -- cem, do -- na no --
bis pa -- cem, pa -- cem, pa -- cem, do --
na no -- bis pa -- cem, do -- na no -- bis pa -- cem.
}
\score {
\keepWithTag \tags
\new ChoirStaff <<
\new Staff="Sopran" \SopranStaff
\new Lyrics \lyricsto "Sopran" \SopranLyrics
\new Staff="Alt" \AltStaff
\new Lyrics \lyricsto "Alt" \AltLyrics
\new Staff="Tenor" \TenorStaff
\new Lyrics \lyricsto "Tenor" \TenorLyrics
\new Staff="Bass" \BassStaff
\new Lyrics \lyricsto "Bass" \BassLyrics
>>
\layout {
page-count = 3
system-count = 12
}
}
_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user