]> git.donarmstrong.com Git - lilypond.git/blob - input/mutopia/J.S.Bach/baerenreiter-sarabande.ly
* scm/output-gnome.scm (placebox): Shield affine-relative.
[lilypond.git] / input / mutopia / J.S.Bach / baerenreiter-sarabande.ly
1 \version "2.3.4"
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 = "J.S. Bach"
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      \once \override Slur #'excentricity = #2.5
58      e16(f] g[ a bes d,)] |
59   cis4.\trill b8[ a g] |
60
61   %% check spacing without accs: 
62   %%    c4.\trill bes8[ a g] |
63   
64   << { d'8. e16 e4.\trill d16 e |
65       f4. d8[ e f] }
66     \\
67     { <a, f>4 a2 <a d,>4.  } >> |
68
69   %%7
70   g'8 bes16(a) c(bes) a(g) d'8 f, |
71   <<  e4.\trill
72     \\ <c, g'>4 >>
73   d'8[ c bes]
74
75   %%9
76   << { f'8 g16(a) a4. g16(f)  |
77       g8 a16(bes) bes4. c16(d) }
78     \\
79     { a,4 <bes d >4. r8 bes4 <g f'>2  }
80   >> |
81
82   %% 11
83   e'8[ f] c,[ g'] f'[ e] |
84   f4 f,2 |
85   << {  a'4 a4.\trill bes8 
86        c bes16 a } \\
87     { f8[ es] es4. r8 d4 } >>
88
89   fis8.\trill es16 d8 c |
90   bes[ g']
91   a,[ fis']
92   es'[ d] |
93   
94   %%16
95   < bes d, g, >4.\trill a8[ g f!] |
96   e bes a f' g a |
97   d, as g es' f g |
98   cis,[ bes'] a[ g16 f] e!8[ f16 d] |
99   cis8 e16 a a,8. g'16 f8(e) |
100   
101   %%21
102   << { d e16(f) f4. e16(d) |
103       e8 f16(g) g4. a16(bes) |
104       a8 cis16 d d,8 e16 f32 g f8\trill e16(d) } \\
105     { bes4 g2 |
106       g4 <bes cis,>4. s8 |
107       <d a f>8 r r g, a4 } >>
108   |
109   \stemUp
110   d4 d,16 a'( b cis d e f g) |
111   \stemBoth
112   \forcedLastBreak
113   %%25
114   << { a16(b c b) c4. b16(a) |
115       b cis d cis d4. e16(f) | }
116     \\
117     { f,4 fis4. s8 |
118       <d g,>4 gis4.   } >>
119   \voiceOne
120   d'16(cis  d) f,
121   a,8[ e']
122   \oneVoice
123   d'[ cis] |
124   %%  d4 d,,2 |
125   d4
126   \override NoteHead
127     #'after-line-breaking-callback
128  = #(lambda (smob) (assert-system-count smob 6))
129   d,,2 |
130 }
131
132
133 sarabandeCelloGlobal = {
134   \time 3/4
135   \key f \major
136   \clef bass
137   \repeat "volta" 2 {
138     s2.*12
139   } \repeat "volta" 2 {
140     s2.*16
141   }
142 }
143
144 sarabandeCelloScripts = {
145 }
146
147 sarabandeCelloStaff = \context Staff <<
148   \sarabandeA
149   \sarabandeCelloGlobal
150   \sarabandeCelloScripts
151 >>
152
153 % size perversions
154 smallerPaper = \paper {
155     \context { \Staff
156                   fontSize = #-1
157                   \override StaffSymbol  #'staff-space = #0.8
158                   }
159     \context { \Score
160                    \override SpacingSpanner #'spacing-increment = #0.96
161                 }
162         
163     indent = 5.6 \mm
164     linewidth = 146.8 \mm
165 }
166
167 baerPaper = \paper {
168     indent = 7. \mm
169     linewidth =183.5 \mm
170 %    interscoreline=4.0\mm
171     \context {
172              \Score
173 %            \override System #'print-function = #box-grob-stencil
174     }
175 }
176
177 \bookpaper {
178   raggedbottom = ##t
179 }
180 \score{
181   \sarabandeCelloStaff
182   \paper{
183     \baerPaper
184   }
185   \midi{ \tempo 4 = 40 }
186   \header{
187     opus= "" 
188     piece ="Sarabande" }
189 }
190
191 %%% Local variables:
192 %%% LilyPond-indent-level:2
193 %%% End:
194