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