]> git.donarmstrong.com Git - lilypond.git/blob - input/les-nereides.ly
* lily/beam-engraver.cc (acknowledge_grob): set melismata for new
[lilypond.git] / input / les-nereides.ly
1 \version "1.7.6"
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     description = "Nastiest piece of competition at http://www.orphee.com/comparison/study.html, see http://www.orphee.com/comparison/gray.pdf"
11 }
12
13 #(ly:set-point-and-click 'line-column)
14 #(define (make-text-checker text)
15   (lambda (elt) (equal? text (ly:get-grob-property elt 'text))))
16
17
18 treble =  \context Voice=treble \notes\relative c''{
19 \key a \major
20     % Broken?
21     \property Voice.NoteColumn \override #'horizontal-shift = #0
22     \outputproperty #(make-type-checker 'text-interface) 
23             #'extra-offset = #'(-6 . 2)
24     r2^#'((Large upright) "Allegretto scherzando")
25     %2
26     \property Voice.Stem \revert #'direction
27     \property Voice.Stem \override #'direction = #1
28     r4 <cis-\arpeggio eis a cis> r2
29     %3
30     r4 <cis-\arpeggio fis a cis> r8.
31
32     % Urg, this lifts us up to staff context
33     \translator Staff=bass
34
35     % Get back:
36     \context Voice
37     
38     % If we don't get back to Voice, this text-checker doesn't work
39     \outputproperty #(make-text-checker "m.d.")
40             #'extra-offset = #'(-3 . -4)
41             
42     % currently, this can't be (small) italic, because in the paperblock
43     % we set italic_magnifictation to get large italics.
44     cis,16^2^"m.d."( <fis8 fis,> <e! e,!>
45     %4
46     <)dis,4 a' dis>
47     
48     % Urg, this lifts us up to staff context
49     \translator Staff=treble
50     % Get back:
51     \context Voice
52     
53     \property Voice.Slur \revert #'direction
54     \property Voice.Slur \override #'direction = #1
55     \property PianoStaff.connectArpeggios = ##t
56     \property Voice.TextSpanner \revert #'type
57
58     %% Ghostview is ok, but xdvi shows a solid line
59     \property Voice.TextSpanner \override #'thickness = #2
60     \property Voice.TextSpanner \override #'dash-period = #0.5
61
62     \property Voice.TextSpanner \override #'type = #'dotted-line
63     \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5)
64     %% \property Voice.TextSpanner \override #'edge-text = #'("8 " . "")
65     \property Voice.TextSpanner \override #'edge-text = #'("8 " . "  ")
66
67     % Urg, this lifts us up to staff context
68     \property Staff.centralCPosition = #-13
69
70     % Get back:
71     \context Voice
72
73     % If we don't get back to Voice, this text-checker doesn't work
74     \outputproperty #(make-text-checker "m.g.")
75             #'extra-offset = #'(-3 . -3)
76             
77     % currently, this can't be (small) italic, because in the paperblock
78     % we set italic_magnifictation to get large italics.
79     cis''''4^"m.g."-\arpeggio #(ly:export (make-span-event 'TextSpanEvent START)) (
80
81     \property Voice.Stem \revert #'direction
82
83     \grace {
84         )cis8
85         \property Voice.Stem \revert #'direction
86         \property Voice.Stem \override #'direction = #0
87         [a16-5( fis dis #(ly:export (make-span-event 'TextSpanEvent STOP)) ]
88         \property Staff.centralCPosition = #-6
89         
90         [cis32 a-1 fis-4 dis] [cis a )fis-2]
91     }
92
93     \property Voice.Stem \revert #'direction
94     \property Voice.Stem \override #'direction = #1
95     cis'4()bis
96     r8
97     <a'8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e^" "^1^4^5 r|
98     r <a8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e r|
99
100     \bar "||"
101
102 }
103
104 trebleTwo =  \context Voice=trebleTwo \notes\relative c''{
105     \property Voice.NoteColumn \override #'horizontal-shift = #1
106     s2
107     s1*2
108     s4
109     \property Voice.Stem \revert #'direction
110     \property Voice.Stem \override #'direction = #-1
111     <cis'4-\arpeggio a fis dis>
112
113     \property Voice.NoteColumn \override #'force-hshift = #-0.2
114     <e,2 gis, e d!>
115     % Hmm s/r?
116     %r8 cis4. d4
117     s8 cis4. d4
118     \property Voice.NoteColumn \revert #'force-hshift
119     [<cis8( e,> <b-3 d,-1> |
120     \property Voice.NoteColumn \override #'force-hshift = #-0.2
121     <)a-2 cis,-1>] cis4. d4 
122     \property Voice.NoteColumn \revert #'force-hshift
123     [<cis8( e,> <b d,> |
124     <)a cis,>]
125 }
126
127 bass =  \context Voice=bass \notes\relative c{
128     % Allow ugly slurs
129     \partial 2
130     \key a \major
131     
132     \property Voice.Slur \override #'beautiful = #5.0
133     \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . -4))
134     \property Voice.Stem \revert #'direction
135     \property Voice.Slur \override #'direction = #-1
136     % huh, auto-beamer?
137     r8. e,16_2( [<a8 a,> <b b,>] |
138     %2
139     <cis4 cis,>
140     % Huh, urg?  Implicit \context Staff lifts us up to Staff context???
141     \translator Staff=treble
142     % Get back
143     \context Voice
144     \property Voice.Stem \revert #'direction
145     \property Voice.Stem \override #'direction = #-1
146     \property Voice.Slur \override #'attachment = #'(stem . stem)
147     <)a''4-\arpeggio eis cis> 
148     %\stemBoth
149     \property Voice.Slur \revert #'attachment
150     % Huh, urg?  Implicit \context Staff lifts us up to Staff context???
151     \translator Staff=bass
152     % Get back
153     \context Voice 
154     \property Voice.Stem \revert #'direction
155     \property Voice.Slur \revert #'y-free
156     \property Voice.Slur \override #'y-free = #0.1
157     \property Voice.Slur \revert #'attachment-offset
158     \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . 8))
159     r8. cis,,16( <fis8 fis,> <gis gis,>
160     %3
161     \property Voice.Stem \revert #'length
162     \property Voice.Stem \override #'length = #5
163     <a4 a,>
164     % Huh, urg?  Implicit \context Staff lifts us up to Staff context???
165     \translator Staff=treble
166     % Get back
167     \context Voice 
168     \property Voice.Stem \revert #'length
169     \property Voice.Stem \revert #'direction
170     \property Voice.Stem \override #'direction = #-1
171     <)a'-\arpeggio fis cis>
172     % Huh, urg?  Implicit \context Staff lifts us up to Staff context???
173     \translator Staff=bass
174     % Get back
175     \context Voice 
176     \property Voice.Stem \revert #'direction
177     r2
178     %4
179     \property Voice.Slur \revert #'beautiful
180     \property Voice.Slur \revert #'attachment-offset
181     \property Voice.Stem \revert #'direction
182     \property Voice.Stem \override #'direction = #-1
183     <b,,4 b,>
184     \clef treble
185     \property Voice.Stem \revert #'direction
186     \property Voice.Stem \override #'direction = #0
187     <
188         %urg: staff-change: ! on dis
189         <cis''-\arpeggio a fis dis!>
190 %       { s8. \clef bass}
191     >
192
193     %Hmm
194     %\grace { s16 s s s s32 s s s s \clef bass s }
195     \clef bass
196     \grace { <e,,,32( e,> } <)gis'2 e>
197     %5
198     \property Voice.Slur \revert #'direction
199     \property Voice.Slur \override #'direction = #1
200     a,8 [e'-5(<)a-2 cis-3>]
201     r b,-5 <e4-3 gis-5 d'>
202     \property Voice.Slur \revert #'direction
203     \property Voice.Slur \override #'direction = #0
204     [e,8-5(|
205     %6
206     )a-2]
207     \property Voice.Slur \revert #'direction
208     \property Voice.Slur \override #'direction = #1
209     [e'(<)a cis>] r b, <e4 gis d'>
210     \property Voice.Slur \revert #'direction
211     \property Voice.Slur \override #'direction = #0
212     [e,8(|
213     %7
214     )a]
215 }
216
217 bassTwo =  \context Voice=bassTwo \notes\relative c{
218     \skip 2
219     \skip 1*2
220     \skip 2
221
222     \property Voice.Stem \revert #'direction
223     \property Voice.Stem \override #'direction = #1
224     \property Voice.Slur \revert #'direction
225     \property Voice.Slur \override #'direction = #1
226
227     cis'4()bis
228 }
229
230 middleDynamics =  \context Dynamics=middle \notes{
231     s8 s16 s-\f s4
232     s1*2
233     %4
234     s2
235
236     s32 
237     \outputproperty #(make-type-checker 'text-interface) 
238             #'extra-offset = #'(0 . 1.5)
239     s-"rall." s s
240     s8 s4
241
242     \outputproperty #(make-type-checker 'dynamic-interface) 
243             #'extra-offset = #'(0 . 4)
244     %s1-\mf-"a tempo"
245 %%    s2-\mf-"a tempo" s4
246     s2-\mf-"a tempo" s8
247 %%    s\> \!s8
248     s16 s32 s64 \> s s8  s \!s8
249     \outputproperty #(make-type-checker 'dynamic-interface) 
250             #'extra-offset = #'(-1 . 4)
251 %%    s8-\mf s4 s4 s8\> s32 s s \!s
252     s8-\mf s4 s8 s16 s32 s64 \> s s16 s8 s32 s s s\! s128
253 }
254
255 lowerDynamics =  \context Dynamics=lower \notes{
256     s2
257     %2
258     s2-\sustainDown s8. s16-\sustainUp s4
259     %3
260     s2-\sustainDown s8. s16-\sustainUp s4
261     %3
262
263     s4-\sustainDown s16
264     s32 s s-\sustainUp s
265     s32-\sustainDown s s s
266     s8
267
268     \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "")
269     s4 s16. s32--\sustainUp
270
271     %5
272     s8-\sustainDown s s
273     \property Dynamics.pedalSustainStrings = #'("Ped." "-P" "*")
274     s s-\sustainUp-\sustainDown s s
275     s-\sustainUp
276
277     %6
278     \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "")
279     s8-\sustainDown s s
280     \property Dynamics.pedalSustainStrings = #'("Ped." "-P" "*")
281     s s-\sustainUp-\sustainDown s s
282     s-\sustainUp
283 }
284
285 \score{
286     \context PianoStaff <
287         \context Staff=treble <
288             \treble
289             \trebleTwo
290         >
291         \context Dynamics=middle <
292             \middleDynamics
293         >
294         \context Staff=bass <
295             \clef bass
296             \bass
297             \bassTwo
298         >
299         \context Dynamics=lower <
300             \lowerDynamics
301         >
302     >
303     \paper {
304         % Hmm
305         % magnification_italic = 1.
306         \translator {
307             \ScoreContext
308             TimeSignature \override #'style = #'C
309             %% SpacingSpanner \override #'maximum-duration-for-spacing = #(ly:make-moment 1 4)
310
311             \remove Bar_number_engraver
312         }
313         \translator {
314             \type "Engraver_group_engraver"
315             \name Dynamics
316             \consists "Output_property_engraver"
317             %%Generic_property_list = #generic-voice-properties
318             %%\consists "Property_engraver"
319             minimumVerticalExtent = #'(-1 . 1)
320
321             pedalSustainStrings = #'("Ped." "*Ped." "*")
322             pedalUnaCordaStrings = #'("una corda" "" "tre corde")
323             
324             \consists "Piano_pedal_engraver"
325             \consists "Script_engraver"
326             \consists "Dynamic_engraver"
327             \consists "Text_engraver"
328
329             TextScript \override #'font-relative-size = #1
330             TextScript \override #'font-shape = #'italic
331
332             \consists "Skip_event_swallow_translator"
333
334             \consistsend "Axis_group_engraver"
335         }
336
337         \translator {
338             \PianoStaffContext
339             \accepts Dynamics
340             VerticalAlignment \override #'forced-distance = #7
341         }
342         \translator {
343             \GraceContext
344             Stem \override #'stroke-style = #""
345         }
346     }
347 }
348
349 %%% Local variables:
350 %%% LilyPond-indent-level:4
351 %%% End: