]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/les-nereides.ly
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / input / les-nereides.ly
index 1c18b8652569a414f6cff4f3785a59278456b5b9..c987b46d5ae83c760fb38ce4361a06ecd5fdff8a 100644 (file)
@@ -1,13 +1,12 @@
-#(ly:set-option 'old-relative)
-\version "2.1.1"
+\version "2.7.39"
 
 \header {
-    composer =   "ARTHUR GRAY"
-    title =      "LES N\\'ER\\'EIDES"
-    subtitle =   "THE NEREIDS"
-    enteredby =  "JCN"
-    piece =      "Allegretto scherzando"
-    copyright =  "public domain"
+    composer = "ARTHUR GRAY"
+    title = "LES NÉRÉIDES"
+    subtitle = "THE NEREIDS"
+    enteredby = "JCN"
+    piece = "Allegretto scherzando"
+    copyright = "public domain"
 }
 
 %{
@@ -16,8 +15,7 @@ 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
+Lines that contain tweaks (10 currently, not counting reverts) are
 marked with %tweak
 
 possibly more impressive to render without tweaks?
@@ -27,12 +25,7 @@ possibly more impressive to render without tweaks?
 
 %}
 
-#(ly:set-point-and-click 'line-column)
-#(define (make-text-checker text)
-  (lambda (elt) (equal? text (ly:get-grob-property elt 'text))))
-
-
-treble = \new Voice \notes\relative c''{
+treble = \new Voice \relative c''{
     \key a \major
     r2
     | %2
@@ -41,43 +34,36 @@ treble = \new Voice \notes\relative c''{
     | %3
     r4 <cis fis a cis>\arpeggio r8.
 
-    \translator Staff=bass
+    \change Staff=bass
 
-    \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -4) %tweak
-           
-    cis,16^2(^\markup {\small \italic "m.d." }
+    \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)
+    <dis, a' dis>4)\sustainDown
     
-    \translator Staff=treble
+    \change Staff=treble
     
     \slurUp
-    \property PianoStaff.connectArpeggios = ##t
+    \set PianoStaff.connectArpeggios = ##t
 
     #(set-octavation 1)
 
-    \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -2) %tweak
+    \once\override TextScript  #'extra-offset = #'(-3 . -2) %tweak
            
     \tieUp
     cis''''4^\markup { \small \italic "m.g." }\arpeggio~
     \grace {
-       \property Voice.Stem \override #'stroke-style = #"grace"
-  
-         cis8
-        
-         %\stemBoth Hmm
+        cis8
+       \revert Stem #'direction
        
-        \property Voice.Stem \set #'direction = #0
-        
-          a16[-5( fis dis]
-        #(set-octavation 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
+       cis32[ a-1 fis-4 dis]   cis[ a  fis)-2]
+                               % the small grace in lower staff comes after us
+       s32
     }
 
 
@@ -88,10 +74,8 @@ treble = \new Voice \notes\relative c''{
     r8 <a' a,>8(\mf <gis gis,> <fis fis,>
     
     % \fingerUp
-    \property Voice.Fingering \set #'direction = #1
+    \override Fingering  #'direction = #UP
     
-    % 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
@@ -102,12 +86,11 @@ treble = \new Voice \notes\relative c''{
     \bar "||"
 }
 
-trebleTwo =  \new Voice \notes\relative c''{
+trebleTwo = \new Voice \relative c''{
     \stemDown
     \slurDown
     % \fingerDown
-    \property Voice.Fingering \set #'direction = #-1
-    \property Voice.Fingering \set #'extra-offset = #'(0 . 1.2)
+    \override Fingering  #'direction = #DOWN
     s2
     | %1
     s1*2
@@ -117,81 +100,72 @@ trebleTwo =  \new Voice \notes\relative c''{
     <e, gis, e d!>2
     | %5
     s8 cis4. d4
-    %%<cis e,>8[( <b-3 d,-1>
-    <cis e,>8[( <b d,>-3-1
+    % 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
-    %%<a-2 cis,-1>)] cis4. d4 
-    <a cis,>)]-2-1 cis4. d4 
+    <cis_1 a'_2>)] cis'4. d4 
     <cis e,>8[( <b d,>
     | %7
     <a cis,>)]
 }
 
-bass =  \new Voice \notes\relative c{
+bass = \new Voice \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
+    \override Staff.SustainPedalLineSpanner #'staff-padding = #5 %tweak
+                          
+    <cis cis,>4\sustainDown
+    \change Staff=treble
     \stemDown
-    \property Voice.Slur \override #'attachment = #'(stem . stem) %tweak
     <a'' eis cis>4)\arpeggio
     
-    \property Voice.Slur \revert #'attachment %tweak
-    \translator Staff=bass
-    \stemBoth
+    \change Staff=bass
+    \stemNeutral
     
-    \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,>
+    r8. cis,,16(\sustainUp <fis fis,>8 <gis gis,>
     
     | %3
-    \property Voice.Stem \set #'length = #5 %tweak
-    <a a,>4
-    \translator Staff=treble
-                           
-    \property Voice.Stem \revert #'length %tweak
-    \property Voice.Stem \revert #'direction
-    \property Voice.Stem \override #'direction = #-1
+%    \once \override Stem  #'length = #6 %tweak
+    <a a,>4\sustainDown
+    \change Staff=treble
+                       
+    \stemNeutral
+    \stemDown    
     <a' fis cis>)\arpeggio
-    \translator Staff=bass
-    \property Voice.Stem \revert #'direction
+    \change Staff=bass
+    \stemNeutral
     r2
     
     | %4
-    \property Voice.Slur \revert #'beautiful %tweak
-    \property Voice.Slur \revert #'attachment-offset %tweak
     \stemDown
     <b,, b,>4
     \clef treble
-    \stemBoth
+    \stemNeutral
     <<
         %urg: staff-change: ! on dis
         <cis'' a fis dis!>\arpeggio
     >>
     
     \grace {
-       \property Voice.Stem \override #'stroke-style = #"grace"
+       \override Stem  #'stroke-style = #"grace"
   
         s8
         s16 s s
        s32 s s
        s s s
        \clef bass
-       <e,,, e,>32(
+       <e,,, e,>32(\sustainUp\sustainDown
     
-       \property Voice.Stem \revert #'stroke-style
+       \revert Stem #'stroke-style
     }
     <gis' e>2)
     
@@ -199,29 +173,32 @@ bass =  \new Voice \notes\relative c{
     \slurUp
     
     % \fingerDown
-    \property Voice.Fingering \set #'direction = #-1
-    
+    \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 e'[-5(<a cis>])-2-3
+
+                          
+    a,8\sustainDown 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(
+    r b,-5\sustainUp\sustainDown <e gis d'>4-3-5
+    \slurNeutral
+    e,8[-5(\sustainUp
     
     | %6
-    \once \property Voice.Fingering \set #'extra-offset = #'(0 . -1) %tweak
-    a)-2]
+    a)-2]\sustainDown
     \slurUp
-    e'[(<a cis>)] r b, <e gis d'>4
-    \slurBoth
-    e,8[(
+    e'[(<a cis>)] r b,\sustainUp\sustainDown <e gis d'>4
+    \slurNeutral
+    e,8[(\sustainUp
     
     | %7
     a)]
 }
 
-bassTwo =  \new Voice \notes\relative c{
+bassTwo = \new Voice \relative c{
     \skip 2
     \skip 1*2
     \skip 2
@@ -232,28 +209,27 @@ bassTwo =  \new Voice \notes\relative c{
     cis'4( bis)
 }
 
-middleDynamics = \notes{
-    \property Dynamics.TextScript \set #'padding = #-1 %tweak
+middleDynamics = {
+    \override Dynamics.TextScript  #'padding = #-1 %tweak
     s2
     s1*2
     | %4
     s2
     \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\!
+       s8
+       s16 s s
+       s32 s
+       \once\override Dynamics.Hairpin  #'extra-offset = #'(0 . 2) %tweak
+       s\> s
+       s32 s s s\!
     
-  \property Voice.Stem \revert #'stroke-style }
-
+    }
+    \fatText
     s32 s-"rall." s s s8 s4
+    \emptyText
     | %5
     s2-"a tempo" s8
-    \once\property Dynamics.Hairpin \set #'extra-offset = #'(1 . 0) %tweak
+    \once\override Dynamics.Hairpin  #'extra-offset = #'(1 . 0) %tweak
     s \> s s
     | %6 
     s8\!
@@ -262,114 +238,59 @@ middleDynamics = \notes{
     s8\!
 }
 
-lowerDynamics = \notes{
-    s2
-    | %2
-    s2\sustainDown s8. s16\sustainUp s4
-    | %3
-    s2\sustainDown s8. s16\sustainUp s4
-    | %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 }
-
-%}
-    s2
-
-    | %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
-    s s\sustainUp\sustainDown s
-    s
-    \once \property Dynamics.pedalSustainStyle = #'text
-    s\sustainUp
-
-    | %6
-    \property Dynamics.pedalSustainStyle = #'mixed
-    s8\sustainDown s s
-    s s\sustainUp\sustainDown s
-    s
-    \once \property Dynamics.pedalSustainStyle = #'text
-    s\sustainUp
-    | %7
-}
-
-\score{
+theScore = \score{
     \context PianoStaff <<
-        \context Staff=treble <<
+        \new Staff = "treble" <<
            \treble
            \trebleTwo
         >>
        \new Dynamics <<
            \middleDynamics
        >>
-        \context Staff=bass <<
+        \new Staff = "bass" <<
            \clef bass
            \bass
            \bassTwo
         >>
-       \new Dynamics <<
-           \lowerDynamics
-       >>
     >>
-    \paper {
-       \translator {
-           \ScoreContext
+    \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"
-           minimumVerticalExtent = #'(-1 . 1)
+           \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
 
-           pedalSustainStrings = #'("Ped." "*Ped." "*")
-           
-           \consists "Piano_pedal_engraver"
            \consists "Script_engraver"
            \consists "Dynamic_engraver"
            \consists "Text_engraver"
 
-           TextScript \override #'font-size = #2
-           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
+           \override VerticalAlignment #'forced-distance = #7
         }
     }
 }
-
+                          
+\book{
+    \score { \theScore }
+}
+    
 %%% Local variables:
-%%% LilyPond-indent-level:4
+%%% coding: utf-8
+%%% LilyPond-indent-level:2
 %%% End:
-%% new-chords-done %%
+