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