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