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