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