1\version "2.19.21" 2 3forcedLastBreak = {} %% { \break } if needed to match original breaks 4 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)))))) 16 17 18#(define (assert-system-count-override count) 19 #{ \override NoteHead.after-line-breaking 20 = #(lambda (smob) (assert-system-count smob count)) 21 #}) 22 23 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" 30 31 texidoc = "The Bärenreiter edition of the Cello Suites is the 32most beautifully typeset piece of music in our collection of music (we 33both own one. It is also lovely on French Horn). This piece does not 34include articulation, but it does follows the same beaming and 35linebreaking as the printed edition. This is done in order to 36benchmark the quality of the LilyPond output. 37 38As of lilypond 1.5.42, the spacing and beam quanting is almost 39identical. 40 41There are two tweaks in this file: a line-break was forced before 42measure 25, we get back the linebreaking of Bärenreiter. The stem 43direction is forced in measure 24. The last beam of that measure is up 44in Bärenreiter because of context. We don't detect that yet. 45 46Note that the Bärenreiter edition contains a few engraving 47mistakes. The second line begins with measure 6 (but prints 5). The |: 48half way in measure 13 has been forgotten. 49 " 50} 51 52 53sarabandeA = \context Voice \relative { 54 \override Staff.NoteCollision.merge-differently-dotted = ##t 55 56 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] | 63 64 %% check spacing without accs: 65 %% c4.\trill bes8[ a g] | 66 67 << { d'8. e16 e4.\trill d16 e | 68 f4. d8[ e f] } 69 \\ 70 { <a, f>4 a2 <a d,>4. } >> | 71 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] 77 78 %%9 79 << { f'8 g16(a) a4. g16(f) | 80 g8 a16(bes) bes4. c16(d) } 81 \\ 82 { a,4 <bes d >4. r8 bes4 <g f'>2 } 83 >> | 84 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 } >> 91 92 fis8.\trill es16 d8 c | 93 bes[ g'] 94 a,[ fis'] 95 es'[ d] | 96 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) | 103 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 } >> 111 | 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) | } 119 \\ 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 | 128 d4 129% $(assert-system-count-override 6) 130 d,,2 | 131} 132 133 134sarabandeCelloGlobal = { 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 142 } 143} 144 145sarabandeCelloScripts = { 146} 147 148sarabandeCelloStaff = \context Staff << 149 \sarabandeA 150 \sarabandeCelloGlobal 151 \sarabandeCelloScripts 152>> 153 154%% size perversions 155smallerPaper = \layout { 156 \context { 157 \Staff 158 fontSize = #-1 159 \override StaffSymbol.staff-space = #0.8 160 } 161 \context { 162 \Score 163 \override SpacingSpanner.spacing-increment = #0.96 164 } 165 166 indent = 5.6 \mm 167 line-width = 146.8 \mm 168} 169 170\paper { 171 ragged-bottom = ##t 172 indent = 7. \mm 173 line-width =183.5 \mm 174 system-system-spacing.basic-distance = 14.22 % 25mm, in staff-spaces 175 system-system-spacing.padding = #0 176 score-system-spacing.basic-distance = #0 177 score-system-spacing.padding = #0 178 system-count = 6 179 180%% annotatespacing = ##t 181} 182 183\book { 184 \score{ 185 \sarabandeCelloStaff 186 \layout { } 187 188 \midi { 189 \tempo 4 = 40 190 } 191 192 193 \header{ 194 opus= "" 195 piece ="Sarabande" } 196 } 197} 198%%% Local variables: 199%%% LilyPond-indent-level:2 200%%% End: 201 202