3 #(set! point-and-click line-column-location)
5 forcedBreak = \notes { }
6 %%forcedBreak = \notes { \break }
7 forcedLastBreak = \notes { \break }
8 %%forcedLastBreak = \notes { }
10 %% We want this to perfectly match the Baerenreiter spacing.
11 %% If we're not using 6 systems, there's definately a problem.
12 #(define (assert-system-count smob n)
13 (let ((systems (length (get-broken-into
15 (get-system smob))))))
16 (if (not (equal? n systems))
17 ;; Can't use error yet, as we know that we're not using 6...
20 (string-append "Got " (number->string systems)
21 " systems (expecting " (number->string n))))))
25 title = "Solo Cello Suite II"
28 editor = "August Wenzinger"
29 source= "B\\\"arenreiter Urtext"
31 texidoc = "The B\\\"arenreiter 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
41 There are two tweaks in this file: a line-break was forced before
42 measure 25, we get back the linebreaking of Baerenreiter. The stem
43 direction is forced in measure 24. The last beam of that measure is up
44 in Baerenreiter because of context. We don't detect that yet.
46 Note that the Barenreiter 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.
56 sarabandeA = \context Voice \notes \relative c {
57 \property Staff.NoteCollision \set #'merge-differently-dotted = ##t
58 < { d8. e16 e4.-\trill d16 e } \\
61 [bes g'] [f 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 f4.-\trill d16 e |
70 { <a,4 f> a2 <a4. d,4.> } > |
73 g8 bes16()a c()bes a()g d'8 f, |
79 < { f'8 g16()a a4. g16()f |
80 g8 a16()bes bes4. c16()d }
82 { a,4 <bes4. d4. > r8 bes4 <g2 f'2> }
87 [e,8 f] [c, g'] [f' e] |
89 < { a'4 a4.-\trill bes8
91 { [f8 es] es4. r8 d4 } >
93 fis8.-\trill es16 d8 c |
100 < bes4.-\trill d, g, > [a8 g f!] |
103 [cis, bes'] [a g16 f] [e!8 f16 d] |
104 cis8 e16 a a,8. g'16 f8()e |
108 < { d e16()f f4. e16()d |
109 e8 f16()g g4. a16()bes |
110 a8 cis16 d d,8 e16 f32 g f8-\trill e16()d } \\
113 <d8 a f> r r g, a4 } >
116 d4 d,16 a'( b cis d e f )g |
120 < { a16(b c)b c4. b16()a |
121 b cis d cis d4. e16()f | }
132 \property Thread.NoteHead
133 \override #'after-line-breaking-callback
134 = #(lambda (smob) (assert-system-count smob 6.1))
139 sarabande = \context Staff \notes<
140 \apply #voicify-music \sarabandeA
146 sarabandeCelloGlobal = \notes{
152 } \repeat "volta" 2 {
157 sarabandeCelloScripts = \notes{
160 sarabandeCelloStaff = \context Staff <
162 \sarabandeCelloGlobal
163 \sarabandeCelloScripts
167 smallerPaper = \paper {
168 \translator { \StaffContext
170 StaffSymbol \override #'staff-space = #0.8
172 \translator { \ScoreContext
173 SpacingSpanner \override #'spacing-increment = #0.96
177 linewidth = 146.8 \mm
183 interscoreline=4.0\mm
186 % System \override #'molecule-callback = #box-grob-molecule
196 \midi{ \tempo 4 = 40 }
203 %%% LilyPond-indent-level:2