MIDI: fix regtest failure
[lilypond/patrick.git] / input / regression / baerenreiter-sarabande.ly
blob4d63357f2ea29bc26a7ca958aecf15d51dddf37c
1 \version "2.13.46"
3 forcedLastBreak = { \break }
5 %% We want this to perfectly match the Bärenreiter spacing.
6 %% If we're not using 6 systems, there's definitely 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))))))
18 #(define (assert-system-count-override count)
19 (ly:export #{ \override NoteHead #'after-line-breaking
20 = #(lambda (smob) (assert-system-count smob $count))
21 #}))
24 \header {
25 title = "Solo Cello Suite II"
26 piece ="Sarabande"
27 composer = "Johann Sebastian Bach (1685-1750)"
28 editor = "August Wenzinger"
29 source= "Bärenreiter Urtext"
31 texidoc = "The Bärenreiter edition of the Cello Suites is the
32 most beautifully typeset piece of music in our collection of music (we
33 both own one. It is also lovely on French Horn). This piece does not
34 include articulation, but it does follows the same beaming and
35 linebreaking as the printed edition. This is done in order to
36 benchmark the quality of the LilyPond output.
38 As of lilypond 1.5.42, the spacing and beam quanting is almost
39 identical.
41 There are two tweaks in this file: a line-break was forced before
42 measure 25, we get back the linebreaking of Bärenreiter. The stem
43 direction is forced in measure 24. The last beam of that measure is up
44 in Bärenreiter because of context. We don't detect that yet.
46 Note that the Bärenreiter edition contains a few engraving
47 mistakes. The second line begins with measure 6 (but prints 5). The |:
48 half way in measure 13 has been forgotten.
53 sarabandeA = \context Voice \relative c {
54 \override Staff.NoteCollision #'merge-differently-dotted = ##t
57 << { d8. e16 e4.\trill d16 e } \\
58 { d4 a2 } >>
59 <d, a' f'>4. e'8[ d c] |
60 bes[ g'] f[
61 e16(f] g[ a bes d,)] |
62 cis4.\trill b8[ a g] |
64 %% check spacing without accs:
65 %% c4.\trill bes8[ a g] |
67 << { d'8. e16 e4.\trill d16 e |
68 f4. d8[ e f] }
70 { <a, f>4 a2 <a d,>4. } >> |
72 %%7
73 g'8 bes16(a) c(bes) a(g) d'8 f, |
74 << e4.\trill
75 \\ <c, g'>4 >>
76 d'8[ c bes]
78 %%9
79 << { f'8 g16(a) a4. g16(f) |
80 g8 a16(bes) bes4. c16(d) }
82 { a,4 <bes d >4. r8 bes4 <g f'>2 }
83 >> |
85 %% 11
86 e'8[ f] c,[ g'] f'[ e] |
87 f4 f,2 |
88 << { a'4 a4.\trill bes8
89 c bes16 a } \\
90 { f8[ es] es4. r8 d4 } >>
92 fis8.\trill es16 d8 c |
93 bes[ g']
94 a,[ fis']
95 es'[ d] |
97 %%16
98 < bes d, g, >4.\trill a8[ g f!] |
99 e bes a f' g a |
100 d, as g es' f g |
101 cis,[ bes'] a[ g16 f] e!8[ f16 d] |
102 cis8 e16 a a,8. g'16 f8(e) |
104 %%21
105 << { d e16(f) f4. e16(d) |
106 e8 f16(g) g4. a16(bes) |
107 a8 cis16 d d,8 e16 f32 g f8\trill e16(d) } \\
108 { bes4 g2 |
109 g4 <bes cis,>4. s8 |
110 <d a f>8 r r g, a4 } >>
112 \stemUp
113 d4 d,16 a'( b cis d e f g) |
114 \stemNeutral
115 \forcedLastBreak
116 %%25
117 << { a16(b c b) c4. b16(a) |
118 b cis d cis d4. e16(f) | }
120 { f,4 fis4. s8 |
121 <d g,>4 gis4. } >>
122 \voiceOne
123 d'16(cis d) f,
124 a,8[ e']
125 \oneVoice
126 d'[ cis] |
127 %% d4 d,,2 |
129 % #(assert-system-count-override 6)
130 d,,2 |
134 sarabandeCelloGlobal = {
135 \time 3/4
136 \key d \minor
137 \clef bass
138 \repeat "volta" 2 {
139 s2.*12
140 } \repeat "volta" 2 {
141 s2.*16
145 sarabandeCelloScripts = {
148 sarabandeCelloStaff = \context Staff <<
149 \sarabandeA
150 \sarabandeCelloGlobal
151 \sarabandeCelloScripts
154 %% size perversions
155 smallerPaper = \layout {
156 \context {
157 \Staff
158 fontSize = #-1
159 \override StaffSymbol #'staff-space = #0.8
161 \context {
162 \Score
163 \override SpacingSpanner #'spacing-increment = #0.96
166 indent = 5.6 \mm
167 line-width = 146.8 \mm
170 \paper {
171 ragged-bottom = ##t
172 indent = 7. \mm
173 line-width =183.5 \mm
174 obsolete-between-system-space = 25\mm
175 system-system-spacing #'basic-distance = #(/ obsolete-between-system-space staff-space)
176 system-system-spacing #'padding = #0
177 score-system-spacing #'basic-distance = #(/ obsolete-between-system-space staff-space)
178 score-system-spacing #'padding = #0
179 system-count = 6
181 %% annotatespacing = ##t
184 \book {
185 \score{
186 \sarabandeCelloStaff
187 \layout { }
189 \midi {
190 \context {
191 \Score
192 tempoWholesPerMinute = #(ly:make-moment 40 4)
197 \header{
198 opus= ""
199 piece ="Sarabande" }
202 %%% Local variables:
203 %%% LilyPond-indent-level:2
204 %%% End: