-\version "1.7.18"
+\version "2.10.0"
\header {
- composer = "ARTHUR GRAY"
- title = "LES N\\'ER\\'EIDES"
- subtitle = "THE NEREIDS"
- enteredby = "JCN"
- %piece = "Allegretto scherzando"
- copyright = "public domain"
- description = "Nastiest piece of competition at http://www.orphee.com/comparison/study.html, see http://www.orphee.com/comparison/gray.pdf"
+ composer = "ARTHUR GRAY"
+ title = "LES NÉRÉIDES"
+ subtitle = "THE NEREIDS"
+ enteredby = "JCN"
+ piece = "Allegretto scherzando"
+ copyright = "public domain"
}
-#(ly:set-point-and-click 'line-column)
-#(define (make-text-checker text)
- (lambda (elt) (equal? text (ly:get-grob-property elt 'text))))
-
-
-treble = \context Voice=treble \notes\relative c''{
-\key a \major
- % Broken?
- \property Voice.NoteColumn \override #'horizontal-shift = #0
- \outputproperty #(make-type-checker 'text-interface)
- #'extra-offset = #'(-6 . 2)
- r2^#'((Large upright) "Allegretto scherzando")
- %2
- \property Voice.Stem \revert #'direction
- \property Voice.Stem \override #'direction = #1
- r4 <cis-\arpeggio eis a cis> r2
- %3
- r4 <cis-\arpeggio fis a cis> r8.
-
- % Urg, this lifts us up to staff context
- \translator Staff=bass
-
- % Get back:
- \context Voice
-
- % If we don't get back to Voice, this text-checker doesn't work
- \outputproperty #(make-text-checker "m.d.")
- #'extra-offset = #'(-3 . -4)
-
- % currently, this can't be (small) italic, because in the paperblock
- % we set italic_magnifictation to get large italics.
- cis,16^2^"m.d."( <fis8 fis,> <e! e,!>
- %4
- <)dis,4 a' dis>
-
- % Urg, this lifts us up to staff context
- \translator Staff=treble
- % Get back:
- \context Voice
-
- \property Voice.Slur \revert #'direction
- \property Voice.Slur \override #'direction = #1
- \property PianoStaff.connectArpeggios = ##t
- \property Voice.TextSpanner \revert #'type
+%{
- %% Ghostview is ok, but xdvi shows a solid line
- \property Voice.TextSpanner \override #'thickness = #2
- \property Voice.TextSpanner \override #'dash-period = #0.5
+Nastiest piece of competition at
+http://www.orphee.com/comparison/study.html, see
+http://www.orphee.com/comparison/gray.pdf
- \property Voice.TextSpanner \override #'type = #'dotted-line
- \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5)
- %% \property Voice.TextSpanner \override #'edge-text = #'("8 " . "")
- \property Voice.TextSpanner \override #'edge-text = #'("8 " . " ")
+Lines that contain tweaks (10 currently, not counting reverts) are
+marked with %tweak
- % Urg, this lifts us up to staff context
- \property Staff.centralCPosition = #-13
+possibly more impressive to render without tweaks?
- % Get back:
- \context Voice
+ grep -v tweak input/les-nereides.ly >> lnnt.ly
+ lilypond lnnt.ly
- % If we don't get back to Voice, this text-checker doesn't work
- \outputproperty #(make-text-checker "m.g.")
- #'extra-offset = #'(-3 . -3)
-
- % currently, this can't be (small) italic, because in the paperblock
- % we set italic_magnifictation to get large italics.
- cis''''4^"m.g."-\arpeggio #(ly:export (make-span-event 'TextSpanEvent START)) (
+%}
+
+treble = \new Voice \relative c''{
+ \key a \major
+ r2
+ | %2
+ \stemUp
+ r4 <cis eis a cis>\arpeggio r2
+ | %3
+ r4 <cis fis a cis>\arpeggio r8.
+
+ \change Staff=bass
+
+% \once\override TextScript #'extra-offset = #'(-3 . -4) %tweak
+
+ cis,16^2(^\markup {\small \italic "m.d." }\sustainUp
+ <fis fis,>8 <e! e,!>
+ | %4
+ <dis, a' dis>4)\sustainDown
+
+ \change Staff=treble
+
+ \slurUp
+ \set PianoStaff.connectArpeggios = ##t
- \property Voice.Stem \revert #'direction
+ #(set-octavation 1)
+% \once\override TextScript #'extra-offset = #'(-3 . -2) %tweak
+
+ \tieUp
+ cis''''4^\markup { \small \italic "m.g." }\arpeggio~
\grace {
- )cis8
- \property Voice.Stem \revert #'direction
- \property Voice.Stem \override #'direction = #0
- [a16-5( fis dis #(ly:export (make-span-event 'TextSpanEvent STOP)) ]
- \property Staff.centralCPosition = #-6
+ cis8
+ \revert Stem #'direction
+
+ a16[-5_( fis dis]
+ #(set-octavation 0)
- [cis32 a-1 fis-4 dis] [cis a )fis-2]
+ cis32[ a-1 fis-4 dis] cis[ a fis)-2]
+ % the small grace in lower staff comes after us
+ s32
}
- \property Voice.Stem \revert #'direction
- \property Voice.Stem \override #'direction = #1
- cis'4()bis
- r8
- <a'8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e^" "^1^4^5 r|
- r <a8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e r|
- \bar "||"
+ \stemUp
+ cis'4( bis)
+
+ | %5
+ r8 <a' a,>8(\mf <gis gis,> <fis fis,>
+
+ % \fingerUp
+ \override Fingering #'direction = #UP
+
+ <gis gis,> <fis fis,> e)-1-4-5 r
+ | %6
+ r <a a,>8(\mf <gis gis,> <fis fis,>
+ <gis gis,> <fis fis,> e) r
+
+ | %7
+ \bar "||"
}
-trebleTwo = \context Voice=trebleTwo \notes\relative c''{
- \property Voice.NoteColumn \override #'horizontal-shift = #1
+trebleTwo = \new Voice \relative c''{
+ \stemDown
+ \slurDown
+ % \fingerDown
+ \override Fingering #'direction = #DOWN
s2
+ | %1
s1*2
+ | %4
s4
- \property Voice.Stem \revert #'direction
- \property Voice.Stem \override #'direction = #-1
- <cis'4-\arpeggio a fis dis>
-
- \property Voice.NoteColumn \override #'force-hshift = #-0.2
- <e,2 gis, e d!>
- % Hmm s/r?
- %r8 cis4. d4
+ <cis' a fis dis>4\arpeggio
+ <e, gis, e d!>2
+ | %5
s8 cis4. d4
- \property Voice.NoteColumn \revert #'force-hshift
- [<cis8( e,> <b-3 d,-1> |
- \property Voice.NoteColumn \override #'force-hshift = #-0.2
- <)a-2 cis,-1>] cis4. d4
- \property Voice.NoteColumn \revert #'force-hshift
- [<cis8( e,> <b d,> |
- <)a cis,>]
+ % fair to count as one tweak?
+ \override Fingering #'add-stem-support = ##t %tweak
+ \override Fingering #'padding = #0.15
+ \override Fingering #'slur-padding = #0.1
+ <cis e,>8[( <d,_3 b'_1>
+ | %6
+ <cis_1 a'_2>)] cis'4. d4
+ <cis e,>8[( <b d,>
+ | %7
+ <a cis,>)]
}
-bass = \context Voice=bass \notes\relative c{
- % Allow ugly slurs
+bass = \new Voice \relative c{
\partial 2
\key a \major
- \property Voice.Slur \override #'beautiful = #5.0
- \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . -4))
- \property Voice.Stem \revert #'direction
- \property Voice.Slur \override #'direction = #-1
- % huh, auto-beamer?
- r8. e,16_2( [<a8 a,> <b b,>] |
- %2
- <cis4 cis,>
- % Huh, urg? Implicit \context Staff lifts us up to Staff context???
- \translator Staff=treble
- % Get back
- \context Voice
- \property Voice.Stem \revert #'direction
- \property Voice.Stem \override #'direction = #-1
- \property Voice.Slur \override #'attachment = #'(stem . stem)
- <)a''4-\arpeggio eis cis>
- %\stemBoth
- \property Voice.Slur \revert #'attachment
- % Huh, urg? Implicit \context Staff lifts us up to Staff context???
- \translator Staff=bass
- % Get back
- \context Voice
- \property Voice.Stem \revert #'direction
- \property Voice.Slur \revert #'y-free
- \property Voice.Slur \override #'y-free = #0.1
- \property Voice.Slur \revert #'attachment-offset
- \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . 8))
- r8. cis,,16( <fis8 fis,> <gis gis,>
- %3
- \property Voice.Stem \revert #'length
- \property Voice.Stem \override #'length = #5
- <a4 a,>
- % Huh, urg? Implicit \context Staff lifts us up to Staff context???
- \translator Staff=treble
- % Get back
- \context Voice
- \property Voice.Stem \revert #'length
- \property Voice.Stem \revert #'direction
- \property Voice.Stem \override #'direction = #-1
- <)a'-\arpeggio fis cis>
- % Huh, urg? Implicit \context Staff lifts us up to Staff context???
- \translator Staff=bass
- % Get back
- \context Voice
- \property Voice.Stem \revert #'direction
+ \slurDown
+ \dynamicUp
+
+ r8. e,16(\f_2 <a a,>8[ <b b,>]
+ | %2
+ \override Staff.SustainPedalLineSpanner #'staff-padding = #5 %tweak
+
+ <cis cis,>4\sustainDown
+ \change Staff=treble
+ \stemDown
+ <a'' eis cis>4)\arpeggio
+
+ \change Staff=bass
+ \stemNeutral
+
+ r8. cis,,16(\sustainUp <fis fis,>8 <gis gis,>
+
+ | %3
+% \once \override Stem #'length = #6 %tweak
+ <a a,>4\sustainDown
+ \change Staff=treble
+
+ \stemNeutral
+ \stemDown
+ <a' fis cis>)\arpeggio
+ \change Staff=bass
+ \stemNeutral
r2
- %4
- \property Voice.Slur \revert #'beautiful
- \property Voice.Slur \revert #'attachment-offset
- \property Voice.Stem \revert #'direction
- \property Voice.Stem \override #'direction = #-1
- <b,,4 b,>
+
+ | %4
+ \stemDown
+ <b,, b,>4
\clef treble
- \property Voice.Stem \revert #'direction
- \property Voice.Stem \override #'direction = #0
- <
+ \stemNeutral
+ <<
%urg: staff-change: ! on dis
- <cis''-\arpeggio a fis dis!>
-% { s8. \clef bass}
- >
-
- %Hmm
- %\grace { s16 s s s s32 s s s s \clef bass s }
- \clef bass
- \grace { <e,,,32( e,> } <)gis'2 e>
- %5
- \property Voice.Slur \revert #'direction
- \property Voice.Slur \override #'direction = #1
- a,8 [e'-5(<)a-2 cis-3>]
- r b,-5 <e4-3 gis-5 d'>
- \property Voice.Slur \revert #'direction
- \property Voice.Slur \override #'direction = #0
- [e,8-5(|
- %6
- )a-2]
- \property Voice.Slur \revert #'direction
- \property Voice.Slur \override #'direction = #1
- [e'(<)a cis>] r b, <e4 gis d'>
- \property Voice.Slur \revert #'direction
- \property Voice.Slur \override #'direction = #0
- [e,8(|
- %7
- )a]
+ <cis'' a fis dis!>\arpeggio
+ >>
+
+ \grace {
+ \override Stem #'stroke-style = #"grace"
+
+ s8
+ s16 s s
+ s32 s s
+ s s s
+ \clef bass
+ <e,,, e,>32(\sustainUp\sustainDown
+
+ \revert Stem #'stroke-style
+ }
+ <gis' e>2)
+
+ | %5
+ \slurUp
+
+ % \fingerDown
+ \override Fingering #'direction = #DOWN
+
+
+ \override Staff.SustainPedalLineSpanner #'staff-padding = #3.5 %tweak
+ \set Staff.pedalSustainStyle = #'mixed
+ %%a,8 e'[-5(<a-2 cis-3>])
+
+
+ a,8\sustainDown e'[-5(<a cis>])-2-3
+ %%r b,-5 <e-3 gis-5 d'>4
+ r b,-5\sustainUp\sustainDown <e gis d'>4-3-5
+ \slurNeutral
+ e,8[-5(\sustainUp
+
+ | %6
+ a)-2]\sustainDown
+ \slurUp
+ e'[(<a cis>)] r b,\sustainUp\sustainDown <e gis d'>4
+ \slurNeutral
+ e,8[(\sustainUp
+
+ | %7
+ a)]
}
-bassTwo = \context Voice=bassTwo \notes\relative c{
+bassTwo = \new Voice \relative c{
\skip 2
\skip 1*2
\skip 2
- \property Voice.Stem \revert #'direction
- \property Voice.Stem \override #'direction = #1
- \property Voice.Slur \revert #'direction
- \property Voice.Slur \override #'direction = #1
+ \stemUp
+ \slurUp
- cis'4()bis
+ cis'4( bis)
}
-middleDynamics = \context Dynamics=middle \notes{
- s8 s16 s-\f s4
- s1*2
- %4
+middleDynamics = {
+ \override Dynamics.TextScript #'padding = #-1 %tweak
s2
-
- s32
- \outputproperty #(make-type-checker 'text-interface)
- #'extra-offset = #'(0 . 1.5)
- s-"rall." s s
- s8 s4
-
- \outputproperty #(make-type-checker 'dynamic-interface)
- #'extra-offset = #'(0 . 4)
- %s1-\mf-"a tempo"
-%% s2-\mf-"a tempo" s4
- s2-\mf-"a tempo" s8
-%% s\> \!s8
- s16 s32 s64 \> s s8 s \!s8
- \outputproperty #(make-type-checker 'dynamic-interface)
- #'extra-offset = #'(-1 . 4)
-%% s8-\mf s4 s4 s8\> s32 s s \!s
- s8-\mf s4 s8 s16 s32 s64 \> s s16 s8 s32 s s s\! s128
-}
-
-lowerDynamics = \context Dynamics=lower \notes{
+ s1*2
+ | %4
s2
- %2
- s2-\sustainDown s8. s16-\sustainUp s4
- %3
- s2-\sustainDown s8. s16-\sustainUp s4
- %3
-
- s4-\sustainDown s16
- s32 s s-\sustainUp s
- s32-\sustainDown s s s
- s8
-
- \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "")
- s4 s16. s32--\sustainUp
-
- %5
- s8-\sustainDown s s
- \property Dynamics.pedalSustainStrings = #'("Ped." "-P" "*")
- s s-\sustainUp-\sustainDown s s
- s-\sustainUp
-
- %6
- \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "")
- s8-\sustainDown s s
- \property Dynamics.pedalSustainStrings = #'("Ped." "-P" "*")
- s s-\sustainUp-\sustainDown s s
- s-\sustainUp
+ \grace {
+ s8
+ s16 s s
+ s32 s
+ %\once\override Dynamics.Hairpin #'extra-offset = #'(0 . 2) %tweak
+ s\> s
+ s32 s s s\!
+
+ }
+ \fatText
+ s32 s-"rall." s s s8 s4
+ \emptyText
+ | %5
+ s2-"a tempo" s8
+ %\once\override Dynamics.Hairpin #'extra-offset = #'(1 . 0) %tweak
+ s \> s s
+ | %6
+ s8\!
+ s2 s8 s\> s
+ | %7
+ s8\!
}
-\score{
- \context PianoStaff <
- \context Staff=treble <
+theScore = \score{
+ \context PianoStaff <<
+ \new Staff = "treble" <<
\treble
\trebleTwo
- >
- \context Dynamics=middle <
+ >>
+ \new Dynamics <<
\middleDynamics
- >
- \context Staff=bass <
+ >>
+ \new Staff = "bass" <<
\clef bass
\bass
\bassTwo
- >
- \context Dynamics=lower <
- \lowerDynamics
- >
- >
- \paper {
- % Hmm
- % magnification_italic = 1.
- \translator {
- \ScoreContext
- TimeSignature \override #'style = #'C
- %% SpacingSpanner \override #'maximum-duration-for-spacing = #(ly:make-moment 1 4)
-
+ >>
+ >>
+ \layout {
+ \context {
+ \Score
+ pedalSustainStrings = #'("Ped." "*Ped." "*")
\remove Bar_number_engraver
}
- \translator {
- \type "Engraver_group_engraver"
+ \context {
+ \type "Engraver_group"
\name Dynamics
\consists "Output_property_engraver"
- %%Generic_property_list = #generic-voice-properties
- %%\consists "Property_engraver"
- minimumVerticalExtent = #'(-1 . 1)
+ \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
- pedalSustainStrings = #'("Ped." "*Ped." "*")
- pedalUnaCordaStrings = #'("una corda" "" "tre corde")
-
- \consists "Piano_pedal_engraver"
\consists "Script_engraver"
\consists "Dynamic_engraver"
\consists "Text_engraver"
- TextScript \override #'font-relative-size = #1
- TextScript \override #'font-shape = #'italic
+ %%\override TextScript #'font-size = #1
+ \override TextScript #'font-shape = #'italic
\consists "Skip_event_swallow_translator"
- \consistsend "Axis_group_engraver"
+ \consists "Axis_group_engraver"
}
- \translator {
- \PianoStaffContext
+ \context {
+ \PianoStaff
\accepts Dynamics
- VerticalAlignment \override #'forced-distance = #7
}
}
}
-
+
+\book{
+ \score { \theScore }
+}
+
%%% Local variables:
-%%% LilyPond-indent-level:4
+%%% coding: utf-8
+%%% LilyPond-indent-level:2
%%% End:
+