2 cpp -P -traditional -o l.ly les-nereides.ly
3 cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly
9 composer = "ARTHUR GRAY";
10 title = "LES N\\'ER\\'EIDES";
11 subtitle = "THE NEREIDS";
13 %piece = "Allegretto scherzando";
14 copyright = "public domain";
15 description = "Nastiest piece of competition at http://www.orphee.com/comparison/study.html, see http://www.orphee.com/comparison/gray.pdf";
16 comment = "LilyPond (1.3.93) can't really do this yet, I guess";
20 %% cpp: don't start on first column
21 #(define (grace-beam-space-function multiplicity)
22 (* (if (<= multiplicity 3) 0.816 0.844) 0.8))
24 %% cpp: don't start on first column
25 #(define (make-text-checker text)
27 ;; huh, string-match undefined?
28 ;; (string-match text (ly-get-elt-property elt 'text))
29 (equal? text (ly-get-elt-property elt 'text))
42 \skip 2.; \partial 32*24;
49 treble = \context Voice=treble \notes\relative c''{
51 \property Voice.NoteColumn \override #'horizontal-shift = #0
52 \outputproperty #(make-type-checker 'text-item-interface)
53 #'extra-offset = #'(-6 . 2)
55 \property Voice.TextScript \override #'style = #"Large"
56 r2^"Allegretto scherzando"
57 \property Voice.TextScript \revert #'style
59 \property Voice.Stem \revert #'direction
60 \property Voice.Stem \override #'direction = #1
61 r4 <cis\arpeggio eis a cis> r2
63 r4 <cis\arpeggio fis a cis> r8.
64 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
65 \translator Staff=bass
68 \outputproperty #(make-text-checker "m.d.")
69 #'extra-offset = #'(-3 . -4)
70 % currently, this can't be (small) italic, because in the paperblock
71 % we set italic_magnifictation to get large italics.
72 cis,16^2^"m.d."( <fis8 fis,> <e! e,!>
75 % Urg, this lifts us up to staff context
76 \translator Staff=treble
79 \property Voice.Slur \revert #'direction
80 \property Voice.Slur \override #'direction = #1
81 \property PianoStaff.connectArpeggios = ##t
82 \property Voice.TextSpanner \revert #'type
84 %% Ghostview is ok, but xdvi shows a solid line
85 \property Voice.TextSpanner \override #'line-thickness = #2
86 \property Voice.TextSpanner \override #'dash-period = #0.5
88 \property Voice.TextSpanner \override #'type = #"dotted-line"
89 \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5)
90 \property Voice.TextSpanner \override #'edge-text = #'("8 " . "")
91 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
93 % no, see seq-mus-iter --hwn
94 \property Staff."c0-position" = #-13
99 \outputproperty #(make-text-checker "m.g.")
100 #'extra-offset = #'(-3 . -2)
101 % currently, this can't be (small) italic, because in the paperblock
102 % we set italic_magnifictation to get large italics.
103 cis''''4^"m.g."\arpeggio \spanrequest \start "text" (
107 \property Voice.Stem \revert #'direction
110 % maybe we should fake this and put 5/4 in this bar?
114 \property Grace.Stem \revert #'direction
115 \property Grace.Stem \override #'direction = #0
116 \property Grace.Beam \override #'space-function = #grace-beam-space-function
117 %% urg, dim. during grace dumps core here
118 %% [a16-5( fis dis \spanrequest \stop "text" ]
119 %% [cis'32 a-1 fis-4 dis] [cis a )fis-2]
120 [a16-5( fis dis \spanrequest \stop "text" ]
121 \property Staff."c0-position" = #-6
122 [cis32 a-1 fis-4 dis] [cis a )fis-2]
127 \property Score.PaperColumn \override #'space-factor = #0.6
128 \property Score.PaperColumn \override #'to-musical-spacing-factor = #0.04
129 \property Voice.NoteHead \override #'font-relative-size = #-1
130 \property Voice.Stem \override #'font-relative-size = #-1
131 \property Voice.Stem \override #'length = #6
132 \property Voice.Stem \override #'beamed-lengths =
133 #(map (lambda (x) (* 1.25 x)) '(0.0 2.5 2.0 1.5))
134 \property Voice.Stem \override #'beamed-minimum-lengths =
135 #(map (lambda (x) (* 1.25 x)) '(0.0 1.5 1.25 1.0))
137 \property Voice.Beam \override #'font-relative-size = #-1
138 \property Voice.TextScript \override #'font-relative-size = #-1
139 \property Voice.Fingering \override #'font-relative-size = #-1
140 \property Voice.Slur \override #'font-relative-size = #-1
141 \property Staff.Accidentals \override #'font-relative-size = #-1
142 \property Voice.Beam \override #'space-function = #grace-beam-space-function
145 \property Voice.Stem \revert #'direction
146 \property Voice.Stem \override #'direction = #0
147 %% [a16^5( fis dis \spanrequest \stop "text" ]
148 %% [cis'32 a-1 fis-4 dis] [cis a )fis-2] s s s
149 [a16^5( fis dis \spanrequest \stop "text" ]
150 \property Staff."c0-position" = #-6
151 [cis32 a^1 fis^4 dis] [cis a )fis-2] s % s s
153 \property Voice.NoteHead \revert #'font-relative-size
154 \property Voice.Stem \revert #'font-relative-size
155 \property Voice.Stem \revert #'length
156 \property Voice.Stem \revert #'beamed-lengths
157 \property Voice.Stem \revert #'beamed-minimum-lengths
158 \property Voice.Beam \revert #'font-relative-size
159 \property Voice.TextScript \revert #'font-relative-size
160 \property Voice.Fingering \revert #'font-relative-size
161 \property Voice.Slur \revert #'font-relative-size
162 \property Staff.Accidentals \revert #'font-relative-size
163 \property Voice.Beam \revert #'space-function
164 \property Score.PaperColumn \revert #'space-factor
165 \property Score.PaperColumn \revert #'to-musical-spacing-factor
169 \property Voice.Stem \revert #'direction
170 \property Voice.Stem \override #'direction = #1
173 <a'8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e^" "^1^4^5 r|
174 r<a8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e r|
177 trebleTwo = \context Voice=trebleTwo \notes\relative c''{
178 \property Voice.NoteColumn \override #'horizontal-shift = #1
182 \property Voice.Stem \revert #'direction
183 \property Voice.Stem \override #'direction = #-1
184 <cis'4\arpeggio a fis dis>
190 \property Voice.NoteColumn \override #'force-hshift = #-0.2
195 \property Voice.NoteColumn \revert #'force-hshift
196 [<cis8( e,> <b-3 d,-1> |
197 \property Voice.NoteColumn \override #'force-hshift = #-0.2
198 <)a-2 cis,-1>] cis4. d4
199 \property Voice.NoteColumn \revert #'force-hshift
204 bass = \context Voice=bass \notes\relative c{
206 \property Voice.Slur \override #'beautiful = #5.0
207 \property Voice.Slur \override #'attachment-offset = #'((0 . -3) . (0 . -6))
208 \property Voice.Stem \revert #'direction
209 \property Voice.Slur \override #'direction = #-1
211 r8. e,16-2( [<a8 a,> <b b,>] <cis4 cis,> |
213 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
214 \translator Staff=treble
217 \property Voice.Stem \revert #'direction
218 \property Voice.Stem \override #'direction = #-1
219 \property Voice.slurEndAttachment = #'stem
220 <)a''4\arpeggio eis cis>
222 \property Voice.slurEndAttachment = ##f
223 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
224 \translator Staff=bass
227 \property Voice.Stem \revert #'direction
228 \property Voice.Slur \revert #'y-free
229 \property Voice.Slur \override #'y-free = #0.1
230 \property Voice.Slur \revert #'attachment-offset
231 \property Voice.Slur \override #'attachment-offset = #'((0 . -3) . (0 . -8))
232 r8. cis,,16( <fis8 fis,> <gis gis,>
234 \property Voice.Stem \revert #'length
235 \property Voice.Stem \override #'length = #5
237 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
238 \translator Staff=treble
241 \property Voice.Stem \revert #'length
242 \property Voice.Stem \revert #'direction
243 \property Voice.Stem \override #'direction = #-1
244 <)a'\arpeggio fis cis>
245 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
246 \translator Staff=bass
249 \property Voice.Stem \revert #'direction
252 \property Voice.Slur \revert #'beautiful
253 \property Voice.Slur \revert #'attachment-offset
254 \property Voice.Stem \revert #'direction
255 \property Voice.Stem \override #'direction = #-1
258 \property Voice.Stem \revert #'direction
259 \property Voice.Stem \override #'direction = #0
261 %urg: staff-change: ! on dis
262 <cis''\arpeggio a fis dis!>
268 %\grace { s16 s s s s32 s s s s \clef bass; s }
270 \grace { <e,,,32( e,> } <)gis'2 e>
272 s4 s8 s32 s s \clef bass;
273 \property Score.PaperColumn \override #'space-factor = #0.6
274 \property Score.PaperColumn \override #'to-musical-spacing-factor = #0.1
275 \property Voice.NoteHead \override #'font-relative-size = #-1
276 \property Voice.Stem \override #'font-relative-size = #-1
277 \property Voice.Stem \override #'length = #6
278 \property Voice.Slur \override #'font-relative-size = #-1
279 \property Voice.Slur \override #'attachment-offset = #'((-0.5 . 0) . (0.5 . 0))
282 \property Voice.NoteHead \revert #'font-relative-size
283 \property Voice.Stem \revert #'font-relative-size
284 \property Voice.Stem \revert #'length
285 \property Voice.Slur \revert #'font-relative-size
286 \property Score.PaperColumn \revert #'space-factor
287 \property Score.PaperColumn \revert #'to-musical-spacing-factor
289 \property Voice.Slur \revert #'attachment-offset
292 \property Voice.Slur \revert #'direction
293 \property Voice.Slur \override #'direction = #1
294 a,8 [e'-5(<)a-2 cis-3>]
295 r b,-5 <e4-3 gis-5 d'>
296 \property Voice.Slur \revert #'direction
297 \property Voice.Slur \override #'direction = #0
301 \property Voice.Slur \revert #'direction
302 \property Voice.Slur \override #'direction = #1
303 [e'(<)a cis>] r b, <e4 gis d'>
304 \property Voice.Slur \revert #'direction
305 \property Voice.Slur \override #'direction = #0
311 bassTwo = \context Voice=bassTwo \notes\relative c{
320 \property Voice.Stem \revert #'direction
321 \property Voice.Stem \override #'direction = #1
322 \property Voice.Slur \revert #'direction
323 \property Voice.Slur \override #'direction = #1
328 middleDynamics = \context Dynamics=middle \notes{
336 \outputproperty #(make-type-checker 'dynamic-interface)
337 #'extra-offset = #'(0 . 1.5)
341 \outputproperty #(make-type-checker 'text-item-interface)
342 #'extra-offset = #'(0 . 1.5)
346 \outputproperty #(make-type-checker 'dynamic-interface)
347 #'extra-offset = #'(0 . 4)
350 \outputproperty #(make-type-checker 'crescendo-interface)
351 #'extra-offset = #'(0.5 . -1)
353 \outputproperty #(make-type-checker 'dynamic-interface)
354 #'extra-offset = #'(-1 . 4)
355 s8\mf s4 s4 s8\> s32 s s \!s
358 lowerDynamics = \context Dynamics=lower \notes{
361 s2\sustainDown s8. s16\sustainUp s4
363 s2\sustainDown s8. s16\sustainUp s4
369 s32\sustainDown s s s
375 s32\sustainDown s s s
378 \property Dynamics.stopSustain = #""
379 s4 s16. s32\sustainUp
383 \property Dynamics.stopSustain = #"*"
384 \property Dynamics.stopStartSustain = #"-P"
385 s s\sustainUp\sustainDown s s
389 \property Dynamics.stopStartSustain = #""
391 \property Dynamics.stopStartSustain = #"-P"
392 s s\sustainUp\sustainDown s s
397 \context PianoStaff <
398 \context Staff=treble <
403 \context Dynamics=middle <
407 \context Staff=bass <
413 \context Dynamics=lower <
420 magnification_italic = 1.;
423 TimeSignature \override #'style = #'C
424 SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 4)
426 \remove Bar_number_engraver;
429 \type "Engraver_group_engraver";
431 \consists "Output_property_engraver";
432 Generic_property_list = #generic-voice-properties
433 \consists "Property_engraver";
434 DynamicsMinimumVerticalExtent = #(cons -3 -3)
435 VerticalAlignment \override #'threshold = #'(9 . 9)
437 startSustain = #"Ped."
439 stopStartSustain = #"*Ped."
440 startUnaChorda = #"una chorda"
441 stopUnaChorda = #"tre chorde"
443 \consists "Piano_pedal_engraver";
444 \consists "Script_engraver";
445 \consists "Dynamic_engraver";
446 \consists "Text_engraver";
447 %GURGURGU, text is initialised using TextScript
448 TextScript \override #'style = #"italic"
449 %%% TextScript \override #'font-relative-size = #2
451 \consists "Skip_req_swallow_translator";
453 \consistsend "Axis_group_engraver";
459 VerticalAlignment \override #'threshold = #'(7 . 7)
463 Stem \override #'flag-style = #""