]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/les-nereides.ly
release commit
[lilypond.git] / input / les-nereides.ly
index 97ebe1921a2250347d7627b7dbffa53d4edaa490..1c18b8652569a414f6cff4f3785a59278456b5b9 100644 (file)
-\version "1.6.4"
+#(ly:set-option 'old-relative)
+\version "2.1.1"
 
 \header {
     composer =   "ARTHUR GRAY"
     title =      "LES N\\'ER\\'EIDES"
     subtitle =   "THE NEREIDS"
     enteredby =  "JCN"
-    %piece =      "Allegretto scherzando"
+    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"
 }
 
-#(set-point-and-click! 'line-column)
-#(set! point-and-click line-column-location)
+%{
 
+Nastiest piece of competition at
+http://www.orphee.com/comparison/study.html, see
+http://www.orphee.com/comparison/gray.pdf
+
+
+lines that contain tweaks (17 currently, not counting reverts) are
+marked with %tweak
+
+possibly more impressive to render without tweaks?
+
+  grep -v tweak input/les-nereides.ly >> lnnt.ly
+  lilypond lnnt.ly
+
+%}
+
+#(ly:set-point-and-click 'line-column)
 #(define (make-text-checker text)
-  (lambda (elt) (equal? text (ly-get-grob-property elt 'text))))
+  (lambda (elt) (equal? text (ly:get-grob-property elt 'text))))
 
-global =  \notes{
-    \partial 2
-    \key a \major
-    \skip 2
-    \skip 1*2
-    \skip 1
-    \bar "||"
-}
 
-treble =  \context Voice=treble \notes\relative c''{
-    % 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.
+treble = \new Voice \notes\relative c''{
+    \key a \major
+    r2
+    | %2
+    \stemUp
+    r4 <cis eis a cis>\arpeggio r2
+    | %3
+    r4 <cis fis a cis>\arpeggio 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)
+    \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -4) %tweak
            
-    % 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>
+    cis,16^2(^\markup {\small \italic "m.d." }
+    <fis fis,>8 <e! e,!>
+    | %4
+    <dis, a' dis>4)
     
-    % 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
+    \slurUp
     \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
-
-    \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 " . "  ")
-
-    % Urg, this lifts us up to staff context
-    \property Staff.centralCPosition = #-13
 
-    % Get back:
-    \context Voice
+    #(set-octavation 1)
 
-    % If we don't get back to Voice, this text-checker doesn't work
-    \outputproperty #(make-text-checker "m.g.")
-           #'extra-offset = #'(-3 . -3)
+    \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -2) %tweak
            
-    % currently, this can't be (small) italic, because in the paperblock
-    % we set italic_magnifictation to get large italics.
-    cis''''4^"m.g."\arpeggio \spanrequest \start "text" (
-
-    \property Voice.Stem \revert #'direction
-
+    \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 \spanrequest \stop "text" ]
-       \property Staff.centralCPosition = #-6
+       \property Voice.Stem \override #'stroke-style = #"grace"
+  
+         cis8
+        
+         %\stemBoth Hmm
        
-       [cis32 a-1 fis-4 dis] [cis a )fis-2]
+        \property Voice.Stem \set #'direction = #0
+        
+          a16[-5( fis dis]
+        #(set-octavation 0)
+       
+        cis32[ a-1 fis-4 dis]   cis[ a  fis)-2]
+        % the small grace in lower staff comes after us
+        s32
+    
+       \property Voice.Stem \revert #'stroke-style
     }
 
-    \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|
+
+    \stemUp
+    cis'4( bis)
+
+    | %5
+    r8 <a' a,>8(\mf <gis gis,> <fis fis,>
+    
+    % \fingerUp
+    \property Voice.Fingering \set #'direction = #1
+    
+    % Manual fix for collision with slur
+    \property Voice.Fingering \set #'extra-offset = #'(0 . 1) %tweak
+    <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 \notes\relative c''{
+    \stemDown
+    \slurDown
+    % \fingerDown
+    \property Voice.Fingering \set #'direction = #-1
+    \property Voice.Fingering \set #'extra-offset = #'(0 . 1.2)
     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,>]
+    %%<cis e,>8[( <b-3 d,-1>
+    <cis e,>8[( <b d,>-3-1
+    | %6
+    %%<a-2 cis,-1>)] cis4. d4 
+    <a cis,>)]-2-1 cis4. d4 
+    <cis e,>8[( <b d,>
+    | %7
+    <a cis,>)]
 }
 
-bass =  \context Voice=bass \notes\relative c{
-    % Allow ugly slurs
-    \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???
+bass =  \new Voice \notes\relative c{
+    \partial 2
+    \key a \major
+    
+    % Allow ugly (highly blown-up) slurs
+    \property Voice.Slur \override #'beautiful = #5.0 %tweak
+    \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . -4))  %tweak
+    \slurDown
+    
+    \dynamicUp
+
+    r8. e,16(\f_2 <a a,>8[ <b b,>]
+    | %2
+    <cis cis,>4
     \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???
+    \stemDown
+    \property Voice.Slur \override #'attachment = #'(stem . stem) %tweak
+    <a'' eis cis>4)\arpeggio
+    
+    \property Voice.Slur \revert #'attachment %tweak
     \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???
+    \stemBoth
+    
+    \property Voice.Slur \revert #'y-free %tweak
+    \property Voice.Slur \override #'y-free = #0.1 %tweak
+    \property Voice.Slur \revert #'attachment-offset %tweak
+    \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . 8)) %tweak
+    r8. cis,,16( <fis fis,>8 <gis gis,>
+    
+    | %3
+    \property Voice.Stem \set #'length = #5 %tweak
+    <a a,>4
     \translator Staff=treble
-    % Get back
-    \context Voice 
-    \property Voice.Stem \revert #'length
+                           
+    \property Voice.Stem \revert #'length %tweak
     \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???
+    <a' fis cis>)\arpeggio
     \translator Staff=bass
-    % Get back
-    \context Voice 
     \property Voice.Stem \revert #'direction
     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
+    \property Voice.Slur \revert #'beautiful %tweak
+    \property Voice.Slur \revert #'attachment-offset %tweak
+    \stemDown
+    <b,, b,>4
     \clef treble
-    \property Voice.Stem \revert #'direction
-    \property Voice.Stem \override #'direction = #0
-    <
+    \stemBoth
+    <<
         %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 {
+       \property Voice.Stem \override #'stroke-style = #"grace"
+  
+        s8
+        s16 s s
+       s32 s s
+       s s s
+       \clef bass
+       <e,,, e,>32(
+    
+       \property Voice.Stem \revert #'stroke-style
+    }
+    <gis' e>2)
+    
+    | %5
+    \slurUp
+    
+    % \fingerDown
+    \property Voice.Fingering \set #'direction = #-1
+    
+    %%a,8 e'[-5(<a-2 cis-3>])
+    a,8 e'[-5(<a cis>])-2-3
+    %%r b,-5 <e-3 gis-5 d'>4
+    r b,-5 <e gis d'>4-3-5
+    \slurBoth
+    \once \property Voice.Fingering \set #'extra-offset = #'(0 . -1) %tweak
+    e,8[-5(
+    
+    | %6
+    \once \property Voice.Fingering \set #'extra-offset = #'(0 . -1) %tweak
+    a)-2]
+    \slurUp
+    e'[(<a cis>)] r b, <e gis d'>4
+    \slurBoth
+    e,8[(
+    
+    | %7
+    a)]
 }
 
-bassTwo =  \context Voice=bassTwo \notes\relative c{
+bassTwo =  \new Voice \notes\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
+middleDynamics = \notes{
+    \property Dynamics.TextScript \set #'padding = #-1 %tweak
+    s2
     s1*2
-    %4
+    %4
     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
+    \grace {
+  \property Voice.Stem \override #'stroke-style = #"grace"
+  
+          s8
+          s16 s s
+          s32 s
+           \once\property Dynamics.Hairpin \set #'extra-offset = #'(0 . 2) %tweak
+          s\> s
+          s32 s s s\!
+    
+  \property Voice.Stem \revert #'stroke-style }
+
+    s32 s-"rall." s s s8 s4
+    | %5
+    s2-"a tempo" s8
+    \once\property Dynamics.Hairpin \set #'extra-offset = #'(1 . 0) %tweak
+    s \> s s
+    | %6 
+    s8\!
+    s2 s8 s\> s
+    | %7
+    s8\!
 }
 
-lowerDynamics =  \context Dynamics=lower \notes{
+lowerDynamics = \notes{
     s2
-    %2
+    %2
     s2\sustainDown s8. s16\sustainUp s4
-    %3
+    %3
     s2\sustainDown s8. s16\sustainUp s4
-    %3
-
-    s4\sustainDown s16
-    s32 s s\sustainUp s
-    s32\sustainDown s s s
-    s8
+    | %4
+    s4\sustainDown
+    \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "*")
+    
+    % grace destroys pedal-line-spanner?
+    % let's do manual tweak:
+    \once\property Dynamics.SustainPedal \set #'extra-offset = #'(10 . 0) %tweak
+    s8\sustainUp
+    \once\property Dynamics.SustainPedal \set #'extra-offset = #'(16 . 0) %tweak
+    s8\sustainDown
+%{
+    s4
+    \grace {
+  \property Voice.Stem \override #'stroke-style = #"grace"
+  
+          s8
+          s16 s s
+          s32 s s s\sustainUp
+          s32 s s s\sustainDown
+    
+  \property Voice.Stem \revert #'stroke-style }
 
-    \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "")
-    s4 s16. s32\sustainUp
+%}
+    s2
 
-    %5
+    | %5
+    % ugh, I don't think that 'mixed should show last edge, but rather:
+    %
+    %   Ped__________/\__________ *
+    %
+    % that's what gray wants, anyway.
+    
+    \property Dynamics.pedalSustainStyle = #'mixed
     s8\sustainDown s s
-    \property Dynamics.pedalSustainStrings = #'("Ped." "-P" "*")
-    s s\sustainUp\sustainDown s s
+    s s\sustainUp\sustainDown s
+    s
+    \once \property Dynamics.pedalSustainStyle = #'text
     s\sustainUp
 
-    %6
-    \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "")
+    %6
+    \property Dynamics.pedalSustainStyle = #'mixed
     s8\sustainDown s s
-    \property Dynamics.pedalSustainStrings = #'("Ped." "-P" "*")
-    s s\sustainUp\sustainDown s s
+    s s\sustainUp\sustainDown s
+    s
+    \once \property Dynamics.pedalSustainStyle = #'text
     s\sustainUp
+    | %7
 }
 
 \score{
-    \context PianoStaff <
-        \context Staff=treble <
-           \global
+    \context PianoStaff <<
+        \context Staff=treble <<
            \treble
            \trebleTwo
-        >
-       \context Dynamics=middle <
-           \global
+        >>
+       \new Dynamics <<
            \middleDynamics
-       >
-        \context Staff=bass <
+       >>
+        \context Staff=bass <<
            \clef bass
-           \global
            \bass
            \bassTwo
-        >
-       \context Dynamics=lower <
-           \global
+        >>
+       \new Dynamics <<
            \lowerDynamics
-       >
-    >
+       >>
+    >>
     \paper {
-        % Hmm
-       % magnification_italic = 1.
        \translator {
            \ScoreContext
-           TimeSignature \override #'style = #'C
-           %% SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 4)
-
            \remove Bar_number_engraver
         }
        \translator {
            \type "Engraver_group_engraver"
            \name Dynamics
            \consists "Output_property_engraver"
-           %%Generic_property_list = #generic-voice-properties
-           %%\consists "Property_engraver"
            minimumVerticalExtent = #'(-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-size = #2
            TextScript \override #'font-shape = #'italic
 
-           \consists "Skip_req_swallow_translator"
+           \consists "Skip_event_swallow_translator"
 
            \consistsend "Axis_group_engraver"
        }
@@ -346,13 +366,10 @@ lowerDynamics =  \context Dynamics=lower \notes{
            \accepts Dynamics
            VerticalAlignment \override #'forced-distance = #7
         }
-       \translator {
-           \GraceContext
-           Stem \override #'stroke-style = #""
-        }
     }
 }
 
 %%% Local variables:
 %%% LilyPond-indent-level:4
 %%% End:
+%% new-chords-done %%