4 You should preprocess this file with the C preprocessor. The one with
9 cpp -P -traditional -o l.ly les-nereides.ly
13 cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly
20 composer = "ARTHUR GRAY"
21 title = "LES N\\'ER\\'EIDES"
22 subtitle = "THE NEREIDS"
24 %piece = "Allegretto scherzando"
25 copyright = "public domain"
26 description = "Nastiest piece of competition at http://www.orphee.com/comparison/study.html, see http://www.orphee.com/comparison/gray.pdf"
27 comment = "LilyPond (1.3.93) can't really do this yet, I guess"
31 %% cpp: don't start on first column
32 #(define (grace-beam-space-function multiplicity)
33 (* (if (<= multiplicity 3) 0.816 0.844) 0.8))
35 %% cpp: don't start on first column
36 #(define (make-text-checker text)
38 ;; huh, string-match undefined?
39 ;; (string-match text (ly-get-grob-property elt 'text))
40 (equal? text (ly-get-grob-property elt 'text))
50 #ifndef FAKE_GRACE /* First run this through cpp. See head les-nereides.ly */
53 \skip 2. \partial 32*24
60 treble = \context Voice=treble \notes\relative c''{
62 \property Voice.NoteColumn \override #'horizontal-shift = #0
63 \outputproperty #(make-type-checker 'text-item-interface)
64 #'extra-offset = #'(-6 . 2)
66 \property Voice.TextScript \override #'style = #"Large"
67 r2^"Allegretto scherzando"
68 \property Voice.TextScript \revert #'style
70 \property Voice.Stem \revert #'direction
71 \property Voice.Stem \override #'direction = #1
72 r4 <cis\arpeggio eis a cis> r2
74 r4 <cis\arpeggio fis a cis> r8.
75 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
76 \translator Staff=bass
79 \outputproperty #(make-text-checker "m.d.")
80 #'extra-offset = #'(-3 . -4)
81 % currently, this can't be (small) italic, because in the paperblock
82 % we set italic_magnifictation to get large italics.
83 cis,16^2^"m.d."( <fis8 fis,> <e! e,!>
86 % Urg, this lifts us up to staff context
87 \translator Staff=treble
90 \property Voice.Slur \revert #'direction
91 \property Voice.Slur \override #'direction = #1
92 \property PianoStaff.connectArpeggios = ##t
93 \property Voice.TextSpanner \revert #'type
95 %% Ghostview is ok, but xdvi shows a solid line
96 \property Voice.TextSpanner \override #'line-thickness = #2
97 \property Voice.TextSpanner \override #'dash-period = #0.5
99 \property Voice.TextSpanner \override #'type = #"dotted-line"
100 \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5)
101 \property Voice.TextSpanner \override #'edge-text = #'("8 " . "")
102 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
104 % no, see seq-mus-iter --hwn
105 \property Staff."c0-position" = #-13
110 \outputproperty #(make-text-checker "m.g.")
111 #'extra-offset = #'(-3 . -2)
112 % currently, this can't be (small) italic, because in the paperblock
113 % we set italic_magnifictation to get large italics.
114 cis''''4^"m.g."\arpeggio \spanrequest \start "text" (
118 \property Voice.Stem \revert #'direction
121 % maybe we should fake this and put 5/4 in this bar?
125 \property Grace.Stem \revert #'direction
126 \property Grace.Stem \override #'direction = #0
127 \property Grace.Beam \override #'space-function = #grace-beam-space-function
128 %% urg, dim. during grace dumps core here
129 %% [a16-5( fis dis \spanrequest \stop "text" ]
130 %% [cis'32 a-1 fis-4 dis] [cis a )fis-2]
131 [a16-5( fis dis \spanrequest \stop "text" ]
132 \property Staff."c0-position" = #-6
133 [cis32 a-1 fis-4 dis] [cis a )fis-2]
138 \property Score.PaperColumn \override #'space-factor = #0.6
139 \property Score.PaperColumn \override #'to-musical-spacing-factor = #0.04
140 \property Voice.NoteHead \override #'font-relative-size = #-1
141 \property Voice.Stem \override #'font-relative-size = #-1
142 \property Voice.Stem \override #'length = #6
143 \property Voice.Stem \override #'beamed-lengths =
144 #(map (lambda (x) (* 1.25 x)) '(0.0 2.5 2.0 1.5))
145 \property Voice.Stem \override #'beamed-minimum-lengths =
146 #(map (lambda (x) (* 1.25 x)) '(0.0 1.5 1.25 1.0))
148 \property Voice.Beam \override #'font-relative-size = #-1
149 \property Voice.TextScript \override #'font-relative-size = #-1
150 \property Voice.Fingering \override #'font-relative-size = #-1
151 \property Voice.Slur \override #'font-relative-size = #-1
152 \property Staff.Accidentals \override #'font-relative-size = #-1
153 \property Voice.Beam \override #'space-function = #grace-beam-space-function
156 \property Voice.Stem \revert #'direction
157 \property Voice.Stem \override #'direction = #0
158 %% [a16^5( fis dis \spanrequest \stop "text" ]
159 %% [cis'32 a-1 fis-4 dis] [cis a )fis-2] s s s
160 [a16^5( fis dis \spanrequest \stop "text" ]
161 \property Staff."c0-position" = #-6
162 [cis32 a^1 fis^4 dis] [cis a )fis-2] s % s s
164 \property Voice.NoteHead \revert #'font-relative-size
165 \property Voice.Stem \revert #'font-relative-size
166 \property Voice.Stem \revert #'length
167 \property Voice.Stem \revert #'beamed-lengths
168 \property Voice.Stem \revert #'beamed-minimum-lengths
169 \property Voice.Beam \revert #'font-relative-size
170 \property Voice.TextScript \revert #'font-relative-size
171 \property Voice.Fingering \revert #'font-relative-size
172 \property Voice.Slur \revert #'font-relative-size
173 \property Staff.Accidentals \revert #'font-relative-size
174 \property Voice.Beam \revert #'space-function
175 \property Score.PaperColumn \revert #'space-factor
176 \property Score.PaperColumn \revert #'to-musical-spacing-factor
180 \property Voice.Stem \revert #'direction
181 \property Voice.Stem \override #'direction = #1
184 <a'8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e^" "^1^4^5 r|
185 r<a8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e r|
188 trebleTwo = \context Voice=trebleTwo \notes\relative c''{
189 \property Voice.NoteColumn \override #'horizontal-shift = #1
193 \property Voice.Stem \revert #'direction
194 \property Voice.Stem \override #'direction = #-1
195 <cis'4\arpeggio a fis dis>
201 \property Voice.NoteColumn \override #'force-hshift = #-0.2
206 \property Voice.NoteColumn \revert #'force-hshift
207 [<cis8( e,> <b-3 d,-1> |
208 \property Voice.NoteColumn \override #'force-hshift = #-0.2
209 <)a-2 cis,-1>] cis4. d4
210 \property Voice.NoteColumn \revert #'force-hshift
215 bass = \context Voice=bass \notes\relative c{
217 \property Voice.Slur \override #'beautiful = #5.0
218 \property Voice.Slur \override #'attachment-offset = #'((0 . -3) . (0 . -6))
219 \property Voice.Stem \revert #'direction
220 \property Voice.Slur \override #'direction = #-1
222 r8. e,16-2( [<a8 a,> <b b,>] <cis4 cis,> |
224 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
225 \translator Staff=treble
228 \property Voice.Stem \revert #'direction
229 \property Voice.Stem \override #'direction = #-1
230 \property Voice.slurEndAttachment = #'stem
231 <)a''4\arpeggio eis cis>
233 \property Voice.slurEndAttachment = ##f
234 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
235 \translator Staff=bass
238 \property Voice.Stem \revert #'direction
239 \property Voice.Slur \revert #'y-free
240 \property Voice.Slur \override #'y-free = #0.1
241 \property Voice.Slur \revert #'attachment-offset
242 \property Voice.Slur \override #'attachment-offset = #'((0 . -3) . (0 . -8))
243 r8. cis,,16( <fis8 fis,> <gis gis,>
245 \property Voice.Stem \revert #'length
246 \property Voice.Stem \override #'length = #5
248 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
249 \translator Staff=treble
252 \property Voice.Stem \revert #'length
253 \property Voice.Stem \revert #'direction
254 \property Voice.Stem \override #'direction = #-1
255 <)a'\arpeggio fis cis>
256 % Huh, urg? Implicit \context Staff lifts us up to Staff context???
257 \translator Staff=bass
260 \property Voice.Stem \revert #'direction
263 \property Voice.Slur \revert #'beautiful
264 \property Voice.Slur \revert #'attachment-offset
265 \property Voice.Stem \revert #'direction
266 \property Voice.Stem \override #'direction = #-1
269 \property Voice.Stem \revert #'direction
270 \property Voice.Stem \override #'direction = #0
272 %urg: staff-change: ! on dis
273 <cis''\arpeggio a fis dis!>
279 %\grace { s16 s s s s32 s s s s \clef bass s }
281 \grace { <e,,,32( e,> } <)gis'2 e>
283 s4 s8 s32 s s \clef bass
284 \property Score.PaperColumn \override #'space-factor = #0.6
285 \property Score.PaperColumn \override #'to-musical-spacing-factor = #0.1
286 \property Voice.NoteHead \override #'font-relative-size = #-1
287 \property Voice.Stem \override #'font-relative-size = #-1
288 \property Voice.Stem \override #'length = #6
289 \property Voice.Slur \override #'font-relative-size = #-1
290 \property Voice.Slur \override #'attachment-offset = #'((-0.5 . 0) . (0.5 . 0))
293 \property Voice.NoteHead \revert #'font-relative-size
294 \property Voice.Stem \revert #'font-relative-size
295 \property Voice.Stem \revert #'length
296 \property Voice.Slur \revert #'font-relative-size
297 \property Score.PaperColumn \revert #'space-factor
298 \property Score.PaperColumn \revert #'to-musical-spacing-factor
300 \property Voice.Slur \revert #'attachment-offset
303 \property Voice.Slur \revert #'direction
304 \property Voice.Slur \override #'direction = #1
305 a,8 [e'-5(<)a-2 cis-3>]
306 r b,-5 <e4-3 gis-5 d'>
307 \property Voice.Slur \revert #'direction
308 \property Voice.Slur \override #'direction = #0
312 \property Voice.Slur \revert #'direction
313 \property Voice.Slur \override #'direction = #1
314 [e'(<)a cis>] r b, <e4 gis d'>
315 \property Voice.Slur \revert #'direction
316 \property Voice.Slur \override #'direction = #0
322 bassTwo = \context Voice=bassTwo \notes\relative c{
331 \property Voice.Stem \revert #'direction
332 \property Voice.Stem \override #'direction = #1
333 \property Voice.Slur \revert #'direction
334 \property Voice.Slur \override #'direction = #1
339 middleDynamics = \context Dynamics=middle \notes{
347 \outputproperty #(make-type-checker 'dynamic-interface)
348 #'extra-offset = #'(0 . 1.5)
352 \outputproperty #(make-type-checker 'text-item-interface)
353 #'extra-offset = #'(0 . 1.5)
357 \outputproperty #(make-type-checker 'dynamic-interface)
358 #'extra-offset = #'(0 . 4)
361 \outputproperty #(make-type-checker 'crescendo-interface)
362 #'extra-offset = #'(0.5 . -1)
364 \outputproperty #(make-type-checker 'dynamic-interface)
365 #'extra-offset = #'(-1 . 4)
366 s8\mf s4 s4 s8\> s32 s s \!s
369 lowerDynamics = \context Dynamics=lower \notes{
372 s2\sustainDown s8. s16\sustainUp s4
374 s2\sustainDown s8. s16\sustainUp s4
380 s32\sustainDown s s s
386 s32\sustainDown s s s
389 \property Dynamics.stopSustain = #""
390 s4 s16. s32\sustainUp
394 \property Dynamics.stopSustain = #"*"
395 \property Dynamics.stopStartSustain = #"-P"
396 s s\sustainUp\sustainDown s s
400 \property Dynamics.stopStartSustain = #""
402 \property Dynamics.stopStartSustain = #"-P"
403 s s\sustainUp\sustainDown s s
408 \context PianoStaff <
409 \context Staff=treble <
414 \context Dynamics=middle <
418 \context Staff=bass <
424 \context Dynamics=lower <
431 magnification_italic = 1.
434 TimeSignature \override #'style = #'C
435 SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 4)
437 \remove Bar_number_engraver
440 \type "Engraver_group_engraver"
442 \consists "Output_property_engraver"
443 Generic_property_list = #generic-voice-properties
444 \consists "Property_engraver"
445 MinimumVerticalExtent = #(cons -3 -3)
446 VerticalAlignment \override #'threshold = #'(9 . 9)
448 startSustain = #"Ped."
450 stopStartSustain = #"*Ped."
451 startUnaChorda = #"una chorda"
452 stopUnaChorda = #"tre chorde"
454 \consists "Piano_pedal_engraver"
455 \consists "Script_engraver"
456 \consists "Dynamic_engraver"
457 \consists "Text_engraver"
458 %GURGURGU, text is initialised using TextScript
459 TextScript \override #'style = #"italic"
460 %%% TextScript \override #'font-relative-size = #2
462 \consists "Skip_req_swallow_translator"
464 \consistsend "Axis_group_engraver"
470 VerticalAlignment \override #'threshold = #'(7 . 7)
474 Stem \override #'flag-style = #""