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