]> git.donarmstrong.com Git - lilypond.git/blob - input/les-nereides.ly
release commit
[lilypond.git] / input / les-nereides.ly
1 #(ly:set-option 'old-relative)
2 \version "2.1.1"
3
4 \header {
5     composer =   "ARTHUR GRAY"
6     title =      "LES N\\'ER\\'EIDES"
7     subtitle =   "THE NEREIDS"
8     enteredby =  "JCN"
9     piece =      "Allegretto scherzando"
10     copyright =  "public domain"
11 }
12
13 %{
14
15 Nastiest piece of competition at
16 http://www.orphee.com/comparison/study.html, see
17 http://www.orphee.com/comparison/gray.pdf
18
19
20 lines that contain tweaks (17 currently, not counting reverts) are
21 marked with %tweak
22
23 possibly more impressive to render without tweaks?
24
25   grep -v tweak input/les-nereides.ly >> lnnt.ly
26   lilypond lnnt.ly
27
28 %}
29
30 #(ly:set-point-and-click 'line-column)
31 #(define (make-text-checker text)
32   (lambda (elt) (equal? text (ly:get-grob-property elt 'text))))
33
34
35 treble = \new Voice \notes\relative c''{
36     \key a \major
37     r2
38     | %2
39     \stemUp
40     r4 <cis eis a cis>\arpeggio r2
41     | %3
42     r4 <cis fis a cis>\arpeggio r8.
43
44     \translator Staff=bass
45
46     \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -4) %tweak
47             
48     cis,16^2(^\markup {\small \italic "m.d." }
49     <fis fis,>8 <e! e,!>
50     | %4
51     <dis, a' dis>4)
52     
53     \translator Staff=treble
54     
55     \slurUp
56     \property PianoStaff.connectArpeggios = ##t
57
58     #(set-octavation 1)
59
60     \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -2) %tweak
61             
62     \tieUp
63     cis''''4^\markup { \small \italic "m.g." }\arpeggio~
64     \grace {
65         \property Voice.Stem \override #'stroke-style = #"grace"
66   
67          cis8
68          
69          %\stemBoth Hmm
70         
71          \property Voice.Stem \set #'direction = #0
72          
73           a16[-5( fis dis]
74          #(set-octavation 0)
75         
76          cis32[ a-1 fis-4 dis]   cis[ a  fis)-2]
77          % the small grace in lower staff comes after us
78          s32
79     
80         \property Voice.Stem \revert #'stroke-style
81     }
82
83
84     \stemUp
85     cis'4( bis)
86
87     | %5
88     r8 <a' a,>8(\mf <gis gis,> <fis fis,>
89     
90     % \fingerUp
91     \property Voice.Fingering \set #'direction = #1
92     
93     % Manual fix for collision with slur
94     \property Voice.Fingering \set #'extra-offset = #'(0 . 1) %tweak
95     <gis gis,> <fis fis,> e)-1-4-5 r
96
97     | %6
98     r <a a,>8(\mf <gis gis,> <fis fis,>
99     <gis gis,> <fis fis,>  e) r
100     
101     | %7
102     \bar "||"
103 }
104
105 trebleTwo =  \new Voice \notes\relative c''{
106     \stemDown
107     \slurDown
108     % \fingerDown
109     \property Voice.Fingering \set #'direction = #-1
110     \property Voice.Fingering \set #'extra-offset = #'(0 . 1.2)
111     s2
112     | %1
113     s1*2
114     | %4
115     s4
116     <cis' a fis dis>4\arpeggio
117     <e, gis, e d!>2
118     | %5
119     s8 cis4. d4
120     %%<cis e,>8[( <b-3 d,-1>
121     <cis e,>8[( <b d,>-3-1
122     | %6
123     %%<a-2 cis,-1>)] cis4. d4 
124     <a cis,>)]-2-1 cis4. d4 
125     <cis e,>8[( <b d,>
126     | %7
127     <a cis,>)]
128 }
129
130 bass =  \new Voice \notes\relative c{
131     \partial 2
132     \key a \major
133     
134     % Allow ugly (highly blown-up) slurs
135     \property Voice.Slur \override #'beautiful = #5.0 %tweak
136     \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . -4))  %tweak
137     \slurDown
138     
139     \dynamicUp
140
141     r8. e,16(\f_2 <a a,>8[ <b b,>]
142     | %2
143     <cis cis,>4
144     \translator Staff=treble
145     \stemDown
146     \property Voice.Slur \override #'attachment = #'(stem . stem) %tweak
147     <a'' eis cis>4)\arpeggio
148     
149     \property Voice.Slur \revert #'attachment %tweak
150     \translator Staff=bass
151     \stemBoth
152     
153     \property Voice.Slur \revert #'y-free %tweak
154     \property Voice.Slur \override #'y-free = #0.1 %tweak
155     \property Voice.Slur \revert #'attachment-offset %tweak
156     \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . 8)) %tweak
157     r8. cis,,16( <fis fis,>8 <gis gis,>
158     
159     | %3
160     \property Voice.Stem \set #'length = #5 %tweak
161     <a a,>4
162     \translator Staff=treble
163                             
164     \property Voice.Stem \revert #'length %tweak
165     \property Voice.Stem \revert #'direction
166     \property Voice.Stem \override #'direction = #-1
167     <a' fis cis>)\arpeggio
168     \translator Staff=bass
169     \property Voice.Stem \revert #'direction
170     r2
171     
172     | %4
173     \property Voice.Slur \revert #'beautiful %tweak
174     \property Voice.Slur \revert #'attachment-offset %tweak
175     \stemDown
176     <b,, b,>4
177     \clef treble
178     \stemBoth
179     <<
180         %urg: staff-change: ! on dis
181         <cis'' a fis dis!>\arpeggio
182     >>
183     
184     \grace {
185         \property Voice.Stem \override #'stroke-style = #"grace"
186   
187         s8
188         s16 s s
189         s32 s s
190         s s s
191         \clef bass
192         <e,,, e,>32(
193     
194         \property Voice.Stem \revert #'stroke-style
195     }
196     <gis' e>2)
197     
198     | %5
199     \slurUp
200     
201     % \fingerDown
202     \property Voice.Fingering \set #'direction = #-1
203     
204     %%a,8 e'[-5(<a-2 cis-3>])
205     a,8 e'[-5(<a cis>])-2-3
206     %%r b,-5 <e-3 gis-5 d'>4
207     r b,-5 <e gis d'>4-3-5
208     \slurBoth
209     \once \property Voice.Fingering \set #'extra-offset = #'(0 . -1) %tweak
210     e,8[-5(
211     
212     | %6
213     \once \property Voice.Fingering \set #'extra-offset = #'(0 . -1) %tweak
214     a)-2]
215     \slurUp
216     e'[(<a cis>)] r b, <e gis d'>4
217     \slurBoth
218     e,8[(
219     
220     | %7
221     a)]
222 }
223
224 bassTwo =  \new Voice \notes\relative c{
225     \skip 2
226     \skip 1*2
227     \skip 2
228
229     \stemUp
230     \slurUp
231
232     cis'4( bis)
233 }
234
235 middleDynamics = \notes{
236     \property Dynamics.TextScript \set #'padding = #-1 %tweak
237     s2
238     s1*2
239     | %4
240     s2
241     \grace {
242   \property Voice.Stem \override #'stroke-style = #"grace"
243   
244            s8
245            s16 s s
246            s32 s
247            \once\property Dynamics.Hairpin \set #'extra-offset = #'(0 . 2) %tweak
248            s\> s
249            s32 s s s\!
250     
251   \property Voice.Stem \revert #'stroke-style }
252
253     s32 s-"rall." s s s8 s4
254     | %5
255     s2-"a tempo" s8
256     \once\property Dynamics.Hairpin \set #'extra-offset = #'(1 . 0) %tweak
257     s \> s s
258     | %6 
259     s8\!
260     s2 s8 s\> s
261     | %7
262     s8\!
263 }
264
265 lowerDynamics = \notes{
266     s2
267     | %2
268     s2\sustainDown s8. s16\sustainUp s4
269     | %3
270     s2\sustainDown s8. s16\sustainUp s4
271     | %4
272     s4\sustainDown
273     \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "*")
274     
275     % grace destroys pedal-line-spanner?
276     % let's do manual tweak:
277     \once\property Dynamics.SustainPedal \set #'extra-offset = #'(10 . 0) %tweak
278     s8\sustainUp
279     \once\property Dynamics.SustainPedal \set #'extra-offset = #'(16 . 0) %tweak
280     s8\sustainDown
281 %{
282     s4
283     \grace {
284   \property Voice.Stem \override #'stroke-style = #"grace"
285   
286            s8
287            s16 s s
288            s32 s s s\sustainUp
289            s32 s s s\sustainDown
290     
291   \property Voice.Stem \revert #'stroke-style }
292
293 %}
294     s2
295
296     | %5
297     % ugh, I don't think that 'mixed should show last edge, but rather:
298     %
299     %   Ped__________/\__________ *
300     %
301     % that's what gray wants, anyway.
302     
303     \property Dynamics.pedalSustainStyle = #'mixed
304     s8\sustainDown s s
305     s s\sustainUp\sustainDown s
306     s
307     \once \property Dynamics.pedalSustainStyle = #'text
308     s\sustainUp
309
310     | %6
311     \property Dynamics.pedalSustainStyle = #'mixed
312     s8\sustainDown s s
313     s s\sustainUp\sustainDown s
314     s
315     \once \property Dynamics.pedalSustainStyle = #'text
316     s\sustainUp
317     | %7
318 }
319
320 \score{
321     \context PianoStaff <<
322         \context Staff=treble <<
323             \treble
324             \trebleTwo
325         >>
326         \new Dynamics <<
327             \middleDynamics
328         >>
329         \context Staff=bass <<
330             \clef bass
331             \bass
332             \bassTwo
333         >>
334         \new Dynamics <<
335             \lowerDynamics
336         >>
337     >>
338     \paper {
339         \translator {
340             \ScoreContext
341             \remove Bar_number_engraver
342         }
343         \translator {
344             \type "Engraver_group_engraver"
345             \name Dynamics
346             \consists "Output_property_engraver"
347             minimumVerticalExtent = #'(-1 . 1)
348
349             pedalSustainStrings = #'("Ped." "*Ped." "*")
350             
351             \consists "Piano_pedal_engraver"
352             \consists "Script_engraver"
353             \consists "Dynamic_engraver"
354             \consists "Text_engraver"
355
356             TextScript \override #'font-size = #2
357             TextScript \override #'font-shape = #'italic
358
359             \consists "Skip_event_swallow_translator"
360
361             \consistsend "Axis_group_engraver"
362         }
363
364         \translator {
365             \PianoStaffContext
366             \accepts Dynamics
367             VerticalAlignment \override #'forced-distance = #7
368         }
369     }
370 }
371
372 %%% Local variables:
373 %%% LilyPond-indent-level:4
374 %%% End:
375 %% new-chords-done %%