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