1 #(ly:set-option 'old-relative)
5 composer = "ARTHUR GRAY"
6 title = "LES N\\'ER\\'EIDES"
7 subtitle = "THE NEREIDS"
9 piece = "Allegretto scherzando"
10 copyright = "public domain"
15 Nastiest piece of competition at
16 http://www.orphee.com/comparison/study.html, see
17 http://www.orphee.com/comparison/gray.pdf
20 lines that contain tweaks (17 currently, not counting reverts) are
23 possibly more impressive to render without tweaks?
25 grep -v tweak input/les-nereides.ly >> lnnt.ly
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))))
35 treble = \new Voice \notes\relative c''{
40 r4 <cis eis a cis>\arpeggio r2
42 r4 <cis fis a cis>\arpeggio r8.
44 \translator Staff=bass
46 \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -4) %tweak
48 cis,16^2(^\markup {\small \italic "m.d." }
53 \translator Staff=treble
56 \property PianoStaff.connectArpeggios = ##t
60 \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -2) %tweak
63 cis''''4^\markup { \small \italic "m.g." }\arpeggio~
65 \property Voice.Stem \override #'stroke-style = #"grace"
70 \property Voice.Stem \set #'direction = #0
75 cis32[ a-1 fis-4 dis] cis[ a fis)-2]
76 % the small grace in lower staff comes after us
79 \property Voice.Stem \revert #'stroke-style }
86 r8 <a' a,>8(\mf <gis gis,> <fis fis,>
89 \property Voice.Fingering \set #'direction = #1
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
96 r <a a,>8(\mf <gis gis,> <fis fis,>
97 <gis gis,> <fis fis,> e) r
103 trebleTwo = \new Voice \notes\relative c''{
107 \property Voice.Fingering \set #'direction = #-1
108 \property Voice.Fingering \set #'extra-offset = #'(0 . 1.2)
114 <cis' a fis dis>4\arpeggio
118 %%<cis e,>8[( <b-3 d,-1>
119 <cis e,>8[( <b d,>-3-1
121 %%<a-2 cis,-1>)] cis4. d4
122 <a cis,>)]-2-1 cis4. d4
128 bass = \new Voice \notes\relative c{
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
139 r8. e,16(\f_2 <a a,>8[ <b b,>]
142 \translator Staff=treble
144 \property Voice.Slur \override #'attachment = #'(stem . stem) %tweak
145 <a'' eis cis>4)\arpeggio
147 \property Voice.Slur \revert #'attachment %tweak
148 \translator Staff=bass
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,>
158 \property Voice.Stem \set #'length = #5 %tweak
160 \translator Staff=treble
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
171 \property Voice.Slur \revert #'beautiful %tweak
172 \property Voice.Slur \revert #'attachment-offset %tweak
178 %urg: staff-change: ! on dis
179 <cis'' a fis dis!>\arpeggio
183 \property Voice.Stem \override #'stroke-style = #"grace"
190 \property Voice.fontSize = #-3
193 \property Voice.Stem \revert #'stroke-style }
200 \property Voice.Fingering \set #'direction = #-1
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
207 \once \property Voice.Fingering \set #'extra-offset = #'(0 . -1) %tweak
211 \once \property Voice.Fingering \set #'extra-offset = #'(0 . -1) %tweak
214 e'[(<a cis>)] r b, <e gis d'>4
222 bassTwo = \new Voice \notes\relative c{
233 middleDynamics = \notes{
234 \property Dynamics.TextScript \set #'padding = #-1 %tweak
240 \property Voice.Stem \override #'stroke-style = #"grace"
245 \once\property Dynamics.Hairpin \set #'extra-offset = #'(0 . 2) %tweak
249 \property Voice.Stem \revert #'stroke-style }
251 s32 s-"rall." s s s8 s4
254 \once\property Dynamics.Hairpin \set #'extra-offset = #'(1 . 0) %tweak
263 lowerDynamics = \notes{
266 s2\sustainDown s8. s16\sustainUp s4
268 s2\sustainDown s8. s16\sustainUp s4
271 \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "*")
273 % grace destroys pedal-line-spanner?
274 % let's do manual tweak:
275 \once\property Dynamics.SustainPedal \set #'extra-offset = #'(10 . 0) %tweak
277 \once\property Dynamics.SustainPedal \set #'extra-offset = #'(16 . 0) %tweak
282 \property Voice.Stem \override #'stroke-style = #"grace"
287 s32 s s s\sustainDown
289 \property Voice.Stem \revert #'stroke-style }
295 % ugh, I don't think that 'mixed should show last edge, but rather:
297 % Ped__________/\__________ *
299 % that's what gray wants, anyway.
301 \property Dynamics.pedalSustainStyle = #'mixed
303 s s\sustainUp\sustainDown s
305 \once \property Dynamics.pedalSustainStyle = #'text
309 \property Dynamics.pedalSustainStyle = #'mixed
311 s s\sustainUp\sustainDown s
313 \once \property Dynamics.pedalSustainStyle = #'text
319 \context PianoStaff <<
320 \context Staff=treble <<
327 \context Staff=bass <<
339 \remove Bar_number_engraver
342 \type "Engraver_group_engraver"
344 \consists "Output_property_engraver"
345 minimumVerticalExtent = #'(-1 . 1)
347 pedalSustainStrings = #'("Ped." "*Ped." "*")
349 \consists "Piano_pedal_engraver"
350 \consists "Script_engraver"
351 \consists "Dynamic_engraver"
352 \consists "Text_engraver"
354 TextScript \override #'font-relative-size = #1
355 TextScript \override #'font-shape = #'italic
357 \consists "Skip_event_swallow_translator"
359 \consistsend "Axis_group_engraver"
365 VerticalAlignment \override #'forced-distance = #7
371 %%% LilyPond-indent-level:4
373 %% new-chords-done %%