]> git.donarmstrong.com Git - lilypond.git/blob - input/mutopia/J.S.Bach/baerenreiter-sarabande.ly
(score_body): disallow \bookpaper in \score.
[lilypond.git] / input / mutopia / J.S.Bach / baerenreiter-sarabande.ly
1 \version "2.3.17"
2
3 % #(ly:set-point-and-click 'line-column)
4
5 forcedLastBreak =  { \break }
6
7 %% We want this to perfectly match the Baerenreiter spacing.
8 %% If we're not using 6 systems, there's definately a problem.
9 #(define (assert-system-count smob n)
10   (let ((systems (length (ly:spanner-broken-into
11                           (ly:grob-original
12                            (ly:grob-system smob))))))
13     (if (not (equal? n systems))
14         (error
15         ;;(warn
16         (string-append "Got " (number->string systems)
17                              " systems (expecting " (number->string n))))))
18             
19
20 \header {
21   title = "Solo Cello Suite II"
22   piece ="Sarabande"
23   composer = "Johann Sebastian Bach (1685-1750)"
24   editor = "August Wenzinger"
25   source= "B\\\"arenreiter Urtext"
26
27   texidoc = "The B\\\"arenreiter edition of the Cello Suites is the
28 most beautifully typeset piece of music in our collection of music (we
29 both own one. It is also lovely on French Horn). This piece does not
30 include articulation, but it does follows the same beaming and
31 linebreaking as the printed edition. This is done in order to
32 benchmark the quality of the LilyPond output.
33
34 As of lilypond 1.5.42, the spacing and beam quanting is almost
35 identical.
36
37 There are two tweaks in this file: a line-break was forced before
38 measure 25, we get back the linebreaking of Baerenreiter.  The stem
39 direction is forced in measure 24. The last beam of that measure is up
40 in Baerenreiter because of context. We don't detect that yet.
41
42 Note that the Barenreiter edition contains a few engraving
43 mistakes. The second line begins with measure 6 (but prints 5). The |:
44 half way in measure 13 has been forgotten.
45  "
46 }
47
48
49 sarabandeA =  \context Voice  \relative c {
50   \override Staff.NoteCollision  #'merge-differently-dotted = ##t
51
52   
53   << { d8. e16 e4.\trill d16 e } \\
54     { d4 a2 } >>
55   <d, a' f'>4.  e'8[ d c] |
56   bes[ g'] f[
57      e16(f] g[ a bes d,)] |
58   cis4.\trill b8[ a g] |
59
60   %% check spacing without accs: 
61   %%    c4.\trill bes8[ a g] |
62   
63   << { d'8. e16 e4.\trill d16 e |
64       f4. d8[ e f] }
65     \\
66     { <a, f>4 a2 <a d,>4.  } >> |
67
68   %%7
69   g'8 bes16(a) c(bes) a(g) d'8 f, |
70   <<  e4.\trill
71     \\ <c, g'>4 >>
72   d'8[ c bes]
73
74   %%9
75   << { f'8 g16(a) a4. g16(f)  |
76       g8 a16(bes) bes4. c16(d) }
77     \\
78     { a,4 <bes d >4. r8 bes4 <g f'>2  }
79   >> |
80
81   %% 11
82   e'8[ f] c,[ g'] f'[ e] |
83   f4 f,2 |
84   << {  a'4 a4.\trill bes8 
85        c bes16 a } \\
86     { f8[ es] es4. r8 d4 } >>
87
88   fis8.\trill es16 d8 c |
89   bes[ g']
90   a,[ fis']
91   es'[ d] |
92   
93   %%16
94   < bes d, g, >4.\trill a8[ g f!] |
95   e bes a f' g a |
96   d, as g es' f g |
97   cis,[ bes'] a[ g16 f] e!8[ f16 d] |
98   cis8 e16 a a,8. g'16 f8(e) |
99   
100   %%21
101   << { d e16(f) f4. e16(d) |
102       e8 f16(g) g4. a16(bes) |
103       a8 cis16 d d,8 e16 f32 g f8\trill e16(d) } \\
104     { bes4 g2 |
105       g4 <bes cis,>4. s8 |
106       <d a f>8 r r g, a4 } >>
107   |
108   \stemUp
109   d4 d,16 a'( b cis d e f g) |
110   \stemNeutral
111   \forcedLastBreak
112   %%25
113   << { a16(b c b) c4. b16(a) |
114       b cis d cis d4. e16(f) | }
115     \\
116     { f,4 fis4. s8 |
117       <d g,>4 gis4.   } >>
118   \voiceOne
119   d'16(cis  d) f,
120   a,8[ e']
121   \oneVoice
122   d'[ cis] |
123   %%  d4 d,,2 |
124   d4
125   \override NoteHead
126     #'after-line-breaking-callback
127  = #(lambda (smob) (assert-system-count smob 6))
128   d,,2 |
129 }
130
131
132 sarabandeCelloGlobal = {
133   \time 3/4
134   \key f \major
135   \clef bass
136   \repeat "volta" 2 {
137     s2.*12
138   } \repeat "volta" 2 {
139     s2.*16
140   }
141 }
142
143 sarabandeCelloScripts = {
144 }
145
146 sarabandeCelloStaff = \context Staff <<
147   \sarabandeA
148   \sarabandeCelloGlobal
149   \sarabandeCelloScripts
150 >>
151
152 % size perversions
153 smallerPaper = \paper {
154     \context { \Staff
155                   fontSize = #-1
156                   \override StaffSymbol  #'staff-space = #0.8
157                   }
158     \context { \Score
159                    \override SpacingSpanner #'spacing-increment = #0.96
160                 }
161         
162     indent = 5.6 \mm
163     linewidth = 146.8 \mm
164 }
165
166 \bookpaper {
167   raggedbottom = ##t
168   indent = 7. \mm
169   linewidth =183.5 \mm
170   betweensystemspace = 25\mm 
171   betweensystempadding = 0\mm
172 }
173
174 \score{
175   \sarabandeCelloStaff
176   \midi{ \tempo 4 = 40 }
177   \header{
178     opus= "" 
179     piece ="Sarabande" }
180 }
181
182 %%% Local variables:
183 %%% LilyPond-indent-level:2
184 %%% End:
185