]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/les-nereides.ly
patch::: 1.3.94.jcn1
[lilypond.git] / input / les-nereides.ly
index 0fe82491342d111e80ba84f1c189c6619fb53d68..4c4500e90d64db3ffc601fd7ac405690c7a0317b 100644 (file)
@@ -1,3 +1,8 @@
+%{
+cpp -P -traditional -o l.ly les-nereides.ly
+cpp -P -traditional -o l-fake.ly  -DFAKE_GRACE les-nereides.ly
+%}
+
 \header{
     composer =   "ARTHUR GRAY";
     title =      "LES N\\'ER\\'EIDES";
@@ -15,190 +20,184 @@ global = \notes{
     \skip 2;
     \skip 1*2;
 
-    %\skip 1;
-
-    % fake grace
+#ifndef FAKE_GRACE
+    \skip 1;
+#else % FAKE_GRACE
     \skip 2.; \partial 32*24;
     \skip 32*24;
-    %end fake grace
+#endif % FAKE_GRACE
 
     \bar "||";
 }
 
 treble = \context Voice=treble \notes\relative c''{
+    % Broken?
+    \property Voice.NoteColumn \push #'horizontal-shift = #0
     r2
     %2
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicStemProperties \push #'direction = #1
+    \property Voice.Stem \pop #'direction
+    \property Voice.Stem \push #'direction = #1
     r4 <cis eis a cis> r2
     %3
     r4 <cis fis a cis> r8.
     \translator Staff=bass
-    cis,16^2^"m.g."( <fis8 fis,\sustainup> <e! e,!>
+    cis,16^2^"m.d."( <fis8 fis,> <e! e,!>
     %4
     <)dis,4 a' dis>
     \translator Staff=treble
-    \property basicSlurProperties \pop #'direction
-    \property Voice.basicSlurProperties \push #'direction = #1
+    \property Voice.Slur \pop #'direction
+    \property Voice.Slur \push #'direction = #1
     %% 8va
-    cis''''4 (
+    cis''''4^"m.g." (
 
-%{
+#ifndef FAKE_GRACE
 
-    \property basicStemProperties \pop #'direction
-    % ugh
-    \property Voice.basicStemProperties \push #'direction = #0
+    \property Voice.Stem \pop #'direction
 
     % grace is a mess
     % maybe we should fake this and put 5/4 in this bar?
 
     \grace {
         )cis8
-       \property basicStemProperties \pop #'direction
-       \property Grace.basicStemProperties \push #'direction = #0
+       \property Grace.Stem \pop #'direction
+       \property Grace.Stem \push #'direction = #0
        %urg, dim. during grace dumps core here
-        %%[a16-5( fis dis] [cis'32 a-1 fis-4 dis\>] [cis a )\!fis-2]
+        %%[a16-5( fis dis] [cis'32 a-1 fis-4 dis] [cis a )fis-2]
         [a16-5( fis dis] [cis32 a-1 fis-4 dis] [cis a )fis-2]
     }
 
-%}
+#else % FAKE_GRACE 
 
-    %% fake grace:
-    \property basicNoteHeadProperties \pop #'font-size
-    \property basicStemProperties \pop #'font-size
-    \property basicBeamProperties \pop #'font-size
-    \property basicTextScriptProperties \pop #'font-size
-    \property basicSlurProperties \pop #'font-size
-    \property basicLocalKeyProperties \pop #'font-size
-
-    \property Voice.basicNoteHeadProperties \push #'font-size = #-1
-    \property Voice.basicStemProperties \push #'font-size = #-1
-    \property Voice.basicBeamProperties \push #'font-size = #-1
-    \property Voice.basicTextScriptProperties \push #'font-size = #-1
-    \property Voice.basicSlurProperties \push #'font-size = #-1
-    \property Voice.basicLocalKeyProperties \push #'font-size = #-1
+    \property Voice.NoteHead \push #'font-size = #-1
+    \property Voice.Stem \push #'font-size = #-1
+    \property Voice.Beam \push #'font-size = #-1
+    \property Voice.TextScript \push #'font-size = #-1
+    \property Voice.Slur \push #'font-size = #-1
+    \property Voice.LocalKey \push #'font-size = #-1
 
     )cis16
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicStemProperties \push #'direction = #0
-    %%[a16^5( fis dis] [cis'32 a-1 fis-4 dis\>] [cis a )fis-2] s s s
-    [a16^5( fis dis] [cis32 a^1 fis^4 dis\>] [cis a )fis-2] s % s s
-
-    \property basicNoteHeadProperties \pop #'font-size
-    \property basicStemProperties \pop #'font-size
-    \property basicBeamProperties \pop #'font-size
-    \property basicTextScriptProperties \pop #'font-size
-    \property basicSlurProperties \pop #'font-size
-    \property basicLocalKeyProperties \pop #'font-size
-
-    %ugh ugh
-    \property Voice.basicNoteHeadProperties \push #'font-size = #0
-    \property Voice.basicStemProperties \push #'font-size = #0
-    \property Voice.basicBeamProperties \push #'font-size = #0
-    \property Voice.basicTextScriptProperties \push #'font-size = #0
-    \property Voice.basicSlurProperties \push #'font-size = #0
-    \property Voice.basicLocalKeyProperties \push #'font-size = #0
-    %% end fake grace
+    \property Voice.Stem \pop #'direction
+    \property Voice.Stem \push #'direction = #0
+    %%[a16^5( fis dis] [cis'32 a-1 fis-4 dis] [cis a )fis-2] s s s
+    [a16^5( fis dis] [cis32 a^1 fis^4 dis] [cis a )fis-2] s % s s
 
+    \property Voice.NoteHead \pop #'font-size
+    \property Voice.Stem \pop #'font-size
+    \property Voice.Beam \pop #'font-size
+    \property Voice.TextScript \pop #'font-size
+    \property Voice.Slur \pop #'font-size
+    \property Voice.LocalKey \pop #'font-size
 
+#endif % FAKE_GRACE
     
 
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicStemProperties \push #'direction = #1
-    \!cis'4()bis
-    r8\mf-"a tempo"
-    <a'8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e r|
-    r\mf <a8( a,> <gis gis,> <fis fis,> <gis gis,> <fis fis,> )e r|
+    \property Voice.Stem \pop #'direction
+    \property Voice.Stem \push #'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|
 }
 
 trebleTwo = \context Voice=trebleTwo \notes\relative c''{
-    \skip 2;
-    \skip 1*2;
-    \skip 4;
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicStemProperties \push #'direction = #-1
+    % Broken?
+    \property Voice.NoteColumn \push #'horizontal-shift = #-1
+    s2
+    s1*2
+    s4
+    \property Voice.Stem \pop #'direction
+    \property Voice.Stem \push #'direction = #-1
     <cis4 a fis dis>
 
-    %% fake grace
-    \skip 32*16;
-    %% end fake grace
+#ifdef FAKE_GRACE
+    s32*16
+#endif
 
-    <e2-"rall." g, e d>
+    <e2 g, e d>
+    %r8 cis4. d4 [<cis8-5-4( e,-1> <b-3 d,-1> |
     r8 cis4. d4 [<cis8( e,> <b-3 d,-1> |
-    <)a-2 cis,-1>] cis4. d4 [<cis8(\> e,> <b d,> |
-    <\!)a cis,>]
+    <)a-2 cis,-1>] cis4. d4 [<cis8( e,> <b d,> |
+    <)a cis,>]
 }
 
 bass = \context Voice=bass \notes\relative c{
-    \property Voice.basicSlurProperties \push #'details =
-        #'((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5) (beautiful . 5.0))
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicSlurProperties \push #'direction = #-1
+    \property Voice.Slur \pop #'details
+    \property Voice.Slur \push #'details =
+%        #'((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5) (beautiful . 1.0))
+        #'((height-limit . 6.0) (ratio . 0.333) (force-blowfit . 1.0) (beautiful . 0.1))
+    \property Voice.Slur \pop #'de-uglify-parameters
+    \property Voice.Slur \push #'de-uglify-parameters =
+%    #'(1.5  0.8  -2.0)
+    #'(2.4  0.8  4.0)
+    \property Voice.Stem \pop #'direction
+    \property Voice.Slur \push #'direction = #-1
     % huh, auto-beamer?
-    r8. e,16-2\f( [<a8 a,> <b b,>] <cis4\sustaindown cis,> |
+    r8. e,16-2( [<a8 a,> <b b,>] <cis4 cis,> |
     %2
     \translator Staff=treble
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicStemProperties \push #'direction = #-1
+    \property Voice.Stem \pop #'direction
+    \property Voice.Stem \push #'direction = #-1
     \property Voice.slurEndAttachment = #'stem
     <)a''4 eis cis> 
     %\stemboth
     \property Voice.slurEndAttachment = ##f
     \translator Staff=bass
-    \property basicStemProperties \pop #'direction
-    % ugh
-    \property Voice.basicStemProperties \push #'direction = #'0
-    r8. cis,,16(\sustainup <fis8 fis,> <gis gis,>
+    \property Voice.Stem \pop #'direction
+    \property Voice.Slur \pop #'y-free
+    \property Voice.Slur \push #'y-free = #0.1
+    r8. cis,,16( <fis8 fis,> <gis gis,>
     %3
-    <a4\sustaindown a,>
+    \property Voice.Stem \pop #'length
+    \property Voice.Stem \push #'length = #5
+    <a4 a,>
     \translator Staff=treble
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicStemProperties \push #'direction = #-1
+    \property Voice.Stem \pop #'direction
+    \property Voice.Stem \push #'direction = #-1
     <)a' fis cis>
     \translator Staff=bass
-    \property basicStemProperties \pop #'direction
-    % ugh
-    \property Voice.basicStemProperties \push #'direction = #'0
+    \property Voice.Stem \pop #'direction
     r2
     %4
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicStemProperties \push #'direction = #-1
-    <b,,4\sustaindown b,>
+    \property Voice.Slur \pop #'details
+    \property Voice.Slur \push #'details =
+        #'((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5) (beautiful . 0.5))
+    \property Voice.Stem \pop #'direction
+    \property Voice.Stem \push #'direction = #-1
+    <b,,4 b,>
     \clef treble;
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicStemProperties \push #'direction = #0
+    \property Voice.Stem \pop #'direction
+    \property Voice.Stem \push #'direction = #0
     <
         %urg: staff-change: ! on dis
         <cis'' a fis dis!>
-%      { s8. \sustainup\clef bass;}
+%      { s8. \clef bass;}
     >
-    %\grace { s16 s s s s32 s s s s \clef bass; s }
-    %\clef bass;
-    %\grace { <e,,,32\sustaindown( e,> } <)gis'2 e>
 
-    %% fake grace
-    s4 s8 s32 s \sustainup s \clef bass; s
-    %% end fake grace
+#ifndef FAKE_GRACE
+    %Hmm
+    %\grace { s16 s s s s32 s s s s \clef bass; s }
+    \clef bass;
+#else
+    s4 s8 s32 s  s \clef bass; s
+#endif
 
-    \grace { <e,,,32( e,> } <)gis'2\sustaindown e>
-    %5
-    \property basicSlurProperties \pop #'direction
-    \property Voice.basicSlurProperties \push #'direction = #1
-    \property Staff.stopStartSustain = #""
-    a,8\sustainup\sustaindown [e'-5(<)a-2 cis-3>]
-    \property Staff.stopStartSustain = #"-P"
-     r b,-5\sustainup\sustaindown <e4-3 gis-5 d'>
-    \property basicSlurProperties \pop #'direction
-    \property Voice.basicSlurProperties \push #'direction = #0
-    [e,8-5(\sustainup|
+    \grace { <e,,,32( e,> } <)gis'2 e>
+    %5%
+    \property Voice.Slur \pop #'direction
+    \property Voice.Slur \push #'direction = #1
+    a,8 [e'-5(<)a-2 cis-3>]
+    r b,-5 <e4-3 gis-5 d'>
+    \property Voice.Slur \pop #'direction
+    \property Voice.Slur \push #'direction = #0
+    [e,8-5(|
     %6
-    )a-2\sustaindown]
-    \property basicSlurProperties \pop #'direction
-    \property Voice.basicSlurProperties \push #'direction = #1
-    [e'(<)a cis>] r b,\sustainup\sustaindown <e4 gis d'>
-    \property basicSlurProperties \pop #'direction
-    \property Voice.basicSlurProperties \push #'direction = #0
-    [e,8(\sustainup|
+    )a-2]
+    \property Voice.Slur \pop #'direction
+    \property Voice.Slur \push #'direction = #1
+    [e'(<)a cis>] r b, <e4 gis d'>
+    \property Voice.Slur \pop #'direction
+    \property Voice.Slur \push #'direction = #0
+    [e,8(|
     %7
     )a]
 }
@@ -208,16 +207,73 @@ bassTwo = \context Voice=bassTwo \notes\relative c{
     \skip 1*2;
     \skip 2;
 
-    %% fake grace
+#ifdef FAKE_GRACE
     \skip 32*16;
+#endif
 
-    \property basicStemProperties \pop #'direction
-    \property Voice.basicStemProperties \push #'direction = #1
-    \property basicSlurProperties \pop #'direction
-    \property Voice.basicSlurProperties \push #'direction = #1
+    \property Voice.Stem \pop #'direction
+    \property Voice.Stem \push #'direction = #1
+    \property Voice.Slur \pop #'direction
+    \property Voice.Slur \push #'direction = #1
     cis'4()bis
 }
 
+middleDynamics = \context Dynamics=middle \notes{
+    s8 s16 s\f s4
+    s1*2
+    %4
+    s2
+
+#ifdef FAKE_GRACE
+    s32*12
+    s32\> s s \!s
+#endif
+
+    s32 s-"rall." s s
+    s8 s4
+
+    s1\mf-"a tempo"
+    s8 s8\mf s4 s4 s8\> s32 s s \!s
+}
+
+lowerDynamics = \context Dynamics=lower \notes{
+    s2
+    %2
+    s2\sustaindown s8. s16\sustainup s4
+    %3
+    s2\sustaindown s8. s16\sustainup s4
+    %3
+
+#ifndef FAKE_GRACE
+    s4\sustaindown s16
+    s32 s s\sustainup s
+    s32\sustaindown s s s
+    s8
+#else
+    s2\sustaindown
+    s32*12
+    s32 s s\sustainup s
+    s32\sustaindown s s s
+#endif
+
+    \property Dynamics.stopSustain = #""
+    s4 s16. s32\sustainup
+
+    %5
+    s8\sustaindown s s
+    \property Dynamics.stopSustain = #"*"
+    \property Dynamics.stopStartSustain = #"-P"
+    s s\sustainup\sustaindown s s
+    s\sustainup
+
+    %6
+    \property Dynamics.stopStartSustain = #""
+    s8\sustaindown s s
+    \property Dynamics.stopStartSustain = #"-P"
+    s s\sustainup\sustaindown s s
+    s\sustainup
+}
+
 \score{
     \context PianoStaff <
         \context Staff=treble <
@@ -225,21 +281,67 @@ bassTwo = \context Voice=bassTwo \notes\relative c{
            \treble
            \trebleTwo
         >
+       \context Dynamics=middle <
+           \global
+           \middleDynamics
+       >
         \context Staff=bass <
            \clef bass;
            \global
            \bass
            \bassTwo
         >
+       \context Dynamics=lower <
+           \global
+           \lowerDynamics
+       >
     >
     \paper {
        \translator {
            \ScoreContext
-           basicTimeSignatureProperties \push #'style = #"C"
+           TimeSignature \push #'style = #"C"
+        }
+       \translator {
+           \type "Engraver_group_engraver";
+           \name Dynamics;
+           Generic_property_list = #generic-lyrics-properties
+           \consists "Property_engraver";
+           DynamicsMinimumVerticalExtent = #(cons -3 -3)
+
+           startSustain = #"Ped."
+           stopSustain = #"*"
+           stopStartSustain = #"*Ped."
+           startUnaChorda = #"una chorda"
+           stopUnaChorda = #"tre chorde"
+           % should make separate lists for stopsustain and startsustain 
+           
+           \consists "Piano_pedal_engraver";
+           \consists "Script_engraver";
+           \consists "Dynamic_engraver";
+           \consists "Text_engraver";
+           %GURGURGU, text is initialised using TextScript
+           TextScript \push #'style = #"italic"
+           TextScript \push #'font-size = #2
+           \consists "Skip_req_swallow_translator";
+
+           \consistsend "Axis_group_engraver";
+       }
+
+       \translator {
+           \VoiceContext
+           TextScript \push #'style = #"italic"
+        }
+       \translator {
+           \PianoStaffContext
+           \accepts Dynamics;
+           % aarg, also separates Dynamics context...
+           %VerticalAlignment \push #'threshold = #'(12 . 12) 
+           %VerticalAlignment \pop #'threshold
+           VerticalAlignment \push #'threshold = #'(1 . 10) 
         }
        \translator {
            \GraceContext
-           basicStemProperties \push #'flag-style = #""
+           Stem \push #'flag-style = #""
         }
     }
 }