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