2 cpp -P -traditional -o l.ly les-nereides.ly
3 cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly
7 composer = "ARTHUR GRAY";
8 title = "LES N\\'ER\\'EIDES";
9 subtitle = "THE NEREIDS";
11 piece = "Allegretto scherzando";
12 copyright = "public domain";
13 description = "Natiest piece of competition at http://www.orphee.com/comparison/study.html, see http://www.orphee.com/comparison/gray.pdf";
14 comment = "LilyPond (1.3.93) can't really do this yet, I guess";
18 %% cpp: don't start on first column
19 #(define (grace-beam-space-function multiplicity)
20 (* (if (<= multiplicity 3) 0.816 0.844) 0.8))
31 \skip 2.; \partial 32*24;
38 treble = \context Voice=treble \notes\relative c''{
40 \property Voice.NoteColumn \push #'horizontal-shift = #0
43 \property Voice.Stem \pop #'direction
44 \property Voice.Stem \push #'direction = #1
47 r4 <cis fis a cis> r8.
48 \translator Staff=bass
49 cis,16^2^"m.d."( <fis8 fis,> <e! e,!>
52 \translator Staff=treble
53 \property Voice.Slur \pop #'direction
54 \property Voice.Slur \push #'direction = #1
60 \property Voice.Stem \pop #'direction
63 % maybe we should fake this and put 5/4 in this bar?
67 \property Grace.Stem \pop #'direction
68 \property Grace.Stem \push #'direction = #0
69 \property Grace.Beam \push #'space-function = #grace-beam-space-function
70 %urg, dim. during grace dumps core here
71 %%[a16-5( fis dis] [cis'32 a-1 fis-4 dis] [cis a )fis-2]
72 [a16-5( fis dis] [cis32 a-1 fis-4 dis] [cis a )fis-2]
77 \property Voice.NoteHead \push #'font-size = #-1
78 \property Voice.Stem \push #'font-size = #-1
79 \property Voice.Beam \push #'font-size = #-1
80 \property Voice.TextScript \push #'font-size = #-1
81 \property Voice.Slur \push #'font-size = #-1
82 \property Voice.LocalKey \push #'font-size = #-1
83 \property Voice.Beam \push #'space-function = #grace-beam-space-function
86 \property Voice.Stem \pop #'direction
87 \property Voice.Stem \push #'direction = #0
88 %%[a16^5( fis dis] [cis'32 a-1 fis-4 dis] [cis a )fis-2] s s s
89 [a16^5( fis dis] [cis32 a^1 fis^4 dis] [cis a )fis-2] s % s s
91 \property Voice.NoteHead \pop #'font-size
92 \property Voice.Stem \pop #'font-size
93 \property Voice.Beam \pop #'font-size
94 \property Voice.TextScript \pop #'font-size
95 \property Voice.Slur \pop #'font-size
96 \property Voice.LocalKey \pop #'font-size
97 \property Voice.Beam \pop #'space-function
102 \property Voice.Stem \pop #'direction
103 \property Voice.Stem \push #'direction = #1
106 <a'8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e^" "^1^4^5 r|
107 r<a8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e r|
110 trebleTwo = \context Voice=trebleTwo \notes\relative c''{
112 \property Voice.NoteColumn \push #'horizontal-shift = #1
116 \property Voice.Stem \pop #'direction
117 \property Voice.Stem \push #'direction = #-1
124 \property Voice.NoteColumn \push #'force-hshift = #-0.2
126 %r8 cis4. d4 [<cis8-5-4( e,-1> <b-3 d,-1> |
128 \property Voice.NoteColumn \pop #'force-hshift
129 [<cis8( e,> <b-3 d,-1> |
130 \property Voice.NoteColumn \push #'force-hshift = #-0.2
131 <)a-2 cis,-1>] cis4. d4
132 \property Voice.NoteColumn \pop #'force-hshift
137 bass = \context Voice=bass \notes\relative c{
138 \property Voice.Slur \pop #'details
139 \property Voice.Slur \push #'details =
140 % #'((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5) (beautiful . 1.0))
141 #'((height-limit . 6.0) (ratio . 0.333) (force-blowfit . 1.0) (beautiful . 0.1))
142 \property Voice.Slur \pop #'de-uglify-parameters
143 \property Voice.Slur \push #'de-uglify-parameters =
146 \property Voice.Stem \pop #'direction
147 \property Voice.Slur \push #'direction = #-1
149 r8. e,16-2( [<a8 a,> <b b,>] <cis4 cis,> |
151 \translator Staff=treble
152 \property Voice.Stem \pop #'direction
153 \property Voice.Stem \push #'direction = #-1
154 \property Voice.slurEndAttachment = #'stem
157 \property Voice.slurEndAttachment = ##f
158 \translator Staff=bass
159 \property Voice.Stem \pop #'direction
160 \property Voice.Slur \pop #'y-free
161 \property Voice.Slur \push #'y-free = #0.1
162 r8. cis,,16( <fis8 fis,> <gis gis,>
164 \property Voice.Stem \pop #'length
165 \property Voice.Stem \push #'length = #5
167 \translator Staff=treble
168 \property Voice.Stem \pop #'length
169 \property Voice.Stem \pop #'direction
170 \property Voice.Stem \push #'direction = #-1
172 \translator Staff=bass
173 \property Voice.Stem \pop #'direction
176 \property Voice.Slur \pop #'details
177 \property Voice.Slur \push #'details =
178 #'((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5) (beautiful . 0.5))
179 \property Voice.Stem \pop #'direction
180 \property Voice.Stem \push #'direction = #-1
183 \property Voice.Stem \pop #'direction
184 \property Voice.Stem \push #'direction = #0
186 %urg: staff-change: ! on dis
193 %\grace { s16 s s s s32 s s s s \clef bass; s }
196 s4 s8 s32 s s \clef bass; s
199 \grace { <e,,,32( e,> } <)gis'2 e>
201 \property Voice.Slur \pop #'direction
202 \property Voice.Slur \push #'direction = #1
203 a,8 [e'-5(<)a-2 cis-3>]
204 r b,-5 <e4-3 gis-5 d'>
205 \property Voice.Slur \pop #'direction
206 \property Voice.Slur \push #'direction = #0
210 \property Voice.Slur \pop #'direction
211 \property Voice.Slur \push #'direction = #1
212 [e'(<)a cis>] r b, <e4 gis d'>
213 \property Voice.Slur \pop #'direction
214 \property Voice.Slur \push #'direction = #0
220 bassTwo = \context Voice=bassTwo \notes\relative c{
229 \property Voice.Stem \pop #'direction
230 \property Voice.Stem \push #'direction = #1
231 \property Voice.Slur \pop #'direction
232 \property Voice.Slur \push #'direction = #1
237 middleDynamics = \context Dynamics=middle \notes{
251 \outputproperty #(make-type-checker 'dynamic-interface)
252 #'extra-offset = #'(0 . 10)
254 s8 s8\mf s4 s4 s8\> s32 s s \!s
257 lowerDynamics = \context Dynamics=lower \notes{
260 s2\sustaindown s8. s16\sustainup s4
262 s2\sustaindown s8. s16\sustainup s4
268 s32\sustaindown s s s
274 s32\sustaindown s s s
277 \property Dynamics.stopSustain = #""
278 s4 s16. s32\sustainup
282 \property Dynamics.stopSustain = #"*"
283 \property Dynamics.stopStartSustain = #"-P"
284 s s\sustainup\sustaindown s s
288 \property Dynamics.stopStartSustain = #""
290 \property Dynamics.stopStartSustain = #"-P"
291 s s\sustainup\sustaindown s s
296 \context PianoStaff <
297 \context Staff=treble <
302 %\context Dynamics=middle <
307 \context Staff=bass <
313 \context Dynamics=lower <
321 TimeSignature \push #'style = #"C"
324 \type "Engraver_group_engraver";
326 \consists "Output_property_engraver";
327 Generic_property_list = #generic-voice-properties
328 %Generic_property_list = #generic-lyrics-properties
329 \consists "Property_engraver";
330 DynamicsMinimumVerticalExtent = #(cons -3 -3)
331 VerticalAlignment \push #'threshold = #'(8 . 8)
333 startSustain = #"Ped."
335 stopStartSustain = #"*Ped."
336 startUnaChorda = #"una chorda"
337 stopUnaChorda = #"tre chorde"
338 % should make separate lists for stopsustain and startsustain
340 \consists "Piano_pedal_engraver";
341 \consists "Script_engraver";
342 \consists "Dynamic_engraver";
343 \consists "Text_engraver";
344 %GURGURGU, text is initialised using TextScript
345 TextScript \push #'style = #"italic"
346 TextScript \push #'font-size = #2
348 \consists "Skip_req_swallow_translator";
350 \consistsend "Axis_group_engraver";
355 TextScript \push #'style = #"italic"
360 VerticalAlignment \push #'threshold = #'(8 . 8)
364 Stem \push #'flag-style = #""