]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/les-nereides.ly
* input/test/beam-control.ly: Update
[lilypond.git] / input / les-nereides.ly
index 2bae5fe9008e1ca8ccb5588b8229325ec02b9fd7..b801e9bfc1ea17dbeb13637728ef17a20203dd4f 100644 (file)
-%{
-
-You should preprocess this file with the C preprocessor.  The one with
-FAKE_GRACE looks best.
-
-1.
-
-cpp -P -traditional -o l.ly les-nereides.ly
-
-2.
-
-cpp -P -traditional -o l-fake.ly  -DFAKE_GRACE les-nereides.ly
-
-%}
-
-
-
-\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";
-    comment =     "LilyPond (1.3.93) can't really do this yet, I guess";
+\version "1.5.72"
+
+\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"
 }
 
+#(set-point-and-click! 'line-column)
+#(set! point-and-click line-column-location)
 
-%% cpp: don't start on first column
- #(define (grace-beam-space-function multiplicity)
-         (* (if (<= multiplicity 3) 0.816 0.844) 0.8))
-
-%% cpp: don't start on first column
- #(define (make-text-checker text)
-  (lambda (elt)
-     ;; huh, string-match undefined?
-     ;; (string-match text (ly-get-grob-property elt 'text))
-     (equal? text (ly-get-grob-property elt 'text))
-    ))
-
+#(define (make-text-checker text)
+  (lambda (elt) (equal? text (ly-get-grob-property elt 'text))))
 
 global =  \notes{
-    \partial 2;
-    \key a \major;
-    \skip 2;
-    \skip 1*2;
-
-#ifndef FAKE_GRACE  /* First run this through cpp.  See head les-nereides.ly */
-    \skip 1;
-#else % FAKE_GRACE
-    \skip 2.; \partial 32*24;
-    \skip 32*24;
-#endif % FAKE_GRACE
-
-    \bar "||";
+    \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-item-interface) 
+    \outputproperty #(make-type-checker 'text-interface) 
            #'extra-offset = #'(-6 . 2)
-    %% *Style* = Large??
-    \property Voice.TextScript \override #'style = #"Large"
-    r2^"Allegretto scherzando"
-    \property Voice.TextScript \revert #'style
+    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.
-    % Huh, urg?  Implicit \context Staff lifts us up to Staff context???
+
+    % Urg, this lifts us up to staff context
     \translator Staff=bass
-    % Get back
-    \context Voice 
+
+    % 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 
+    % 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 #'line-thickness = #2
+    \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 #'type = #'dotted-line
     \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5)
-    \property Voice.TextSpanner \override #'edge-text = #'("8 " . "")
-    % Huh, urg?  Implicit \context Staff lifts us up to Staff context???
+    %% \property Voice.TextSpanner \override #'edge-text = #'("8 " . "")
+    \property Voice.TextSpanner \override #'edge-text = #'("8 " . "  ")
 
-       % no, see seq-mus-iter --hwn
-    \property Staff."c0-position" = #-13
+    % Urg, this lifts us up to staff context
+    \property Staff.centralCPosition = #-13
 
+    % Get back:
+    \context Voice
 
-    % Get back
-    %\context Voice 
+    % If we don't get back to Voice, this text-checker doesn't work
     \outputproperty #(make-text-checker "m.g.")
-           #'extra-offset = #'(-3 . -2)
+           #'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 \spanrequest \start "text"  (
-
-#ifndef FAKE_GRACE
+    cis''''4^"m.g."\arpeggio \spanrequest \start "text" (
 
     \property Voice.Stem \revert #'direction
 
-    % grace is a mess
-    % maybe we should fake this and put 5/4 in this bar?
-
     \grace {
         )cis8
-       \property Grace.Stem \revert #'direction
-       \property Grace.Stem \override #'direction = #0
-       \property Grace.Beam \override #'space-function = #grace-beam-space-function
-       %% urg, dim. during grace dumps core here
-        %% [a16-5( fis dis \spanrequest \stop "text" ]
-       %% [cis'32 a-1 fis-4 dis] [cis a )fis-2]
+       \property Voice.Stem \revert #'direction
+       \property Voice.Stem \override #'direction = #0
         [a16-5( fis dis \spanrequest \stop "text" ]
-        \property Staff."c0-position" = #-6
+       \property Staff.centralCPosition = #-6
+       
        [cis32 a-1 fis-4 dis] [cis a )fis-2]
     }
 
-#else % FAKE_GRACE 
-
-    \property Score.PaperColumn  \override #'space-factor = #0.6
-    \property Score.PaperColumn  \override #'to-musical-spacing-factor = #0.04
-    \property Voice.NoteHead \override #'font-relative-size = #-1
-    \property Voice.Stem \override #'font-relative-size = #-1
-    \property Voice.Stem \override #'length = #6
-    \property Voice.Stem \override #'beamed-lengths =
-        #(map (lambda (x) (* 1.25 x)) '(0.0 2.5 2.0 1.5))
-    \property Voice.Stem \override #'beamed-minimum-lengths =
-        #(map (lambda (x) (* 1.25 x)) '(0.0 1.5 1.25 1.0))
-
-    \property Voice.Beam \override #'font-relative-size = #-1
-    \property Voice.TextScript \override #'font-relative-size = #-1
-    \property Voice.Fingering \override #'font-relative-size = #-1
-    \property Voice.Slur \override #'font-relative-size = #-1
-    \property Staff.Accidentals \override #'font-relative-size = #-1
-    \property Voice.Beam \override #'space-function = #grace-beam-space-function
-
-    )cis16
-    \property Voice.Stem \revert #'direction
-    \property Voice.Stem \override #'direction = #0
-    %% [a16^5( fis dis \spanrequest \stop "text" ]
-    %% [cis'32 a-1 fis-4 dis] [cis a )fis-2] s s s
-    [a16^5( fis dis \spanrequest \stop "text" ]
-    \property Staff."c0-position" = #-6
-    [cis32 a^1 fis^4 dis] [cis a )fis-2] s % s s
-
-    \property Voice.NoteHead \revert #'font-relative-size
-    \property Voice.Stem \revert #'font-relative-size
-    \property Voice.Stem \revert #'length
-    \property Voice.Stem \revert #'beamed-lengths
-    \property Voice.Stem \revert #'beamed-minimum-lengths
-    \property Voice.Beam \revert #'font-relative-size
-    \property Voice.TextScript \revert #'font-relative-size
-    \property Voice.Fingering \revert #'font-relative-size
-    \property Voice.Slur \revert #'font-relative-size
-    \property Staff.Accidentals \revert #'font-relative-size
-    \property Voice.Beam \revert #'space-function
-    \property Score.PaperColumn  \revert #'space-factor
-    \property Score.PaperColumn \revert #'to-musical-spacing-factor
-#endif % FAKE_GRACE
-    
-
     \property Voice.Stem \revert #'direction
     \property Voice.Stem \override #'direction = #1
     cis'4()bis
@@ -193,10 +116,6 @@ trebleTwo =  \context Voice=trebleTwo \notes\relative c''{
     \property Voice.Stem \override #'direction = #-1
     <cis'4\arpeggio a fis dis>
 
-#ifdef FAKE_GRACE
-    s32*16
-#endif
-
     \property Voice.NoteColumn \override #'force-hshift = #-0.2
     <e,2 gis, e d!>
     % Hmm s/r?
@@ -214,22 +133,23 @@ trebleTwo =  \context Voice=trebleTwo \notes\relative c''{
 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 . -6))
+    \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,>] <cis4 cis,> |
+    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 
+    \context Voice
     \property Voice.Stem \revert #'direction
     \property Voice.Stem \override #'direction = #-1
-    \property Voice.slurEndAttachment = #'stem
+    \property Voice.Slur \override #'attachment = #'(stem . stem)
     <)a''4\arpeggio eis cis> 
     %\stemBoth
-    \property Voice.slurEndAttachment = ##f
+    \property Voice.Slur \revert #'attachment
     % Huh, urg?  Implicit \context Staff lifts us up to Staff context???
     \translator Staff=bass
     % Get back
@@ -238,7 +158,7 @@ bass =  \context Voice=bass \notes\relative c{
     \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))
+    \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . 8))
     r8. cis,,16( <fis8 fis,> <gis gis,>
     %3
     \property Voice.Stem \revert #'length
@@ -264,40 +184,19 @@ bass =  \context Voice=bass \notes\relative c{
     \property Voice.Stem \revert #'direction
     \property Voice.Stem \override #'direction = #-1
     <b,,4 b,>
-    \clef treble;
+    \clef treble
     \property Voice.Stem \revert #'direction
     \property Voice.Stem \override #'direction = #0
     <
         %urg: staff-change: ! on dis
         <cis''\arpeggio a fis dis!>
-%      { s8. \clef bass;}
+%      { s8. \clef bass}
     >
 
-#ifndef FAKE_GRACE
     %Hmm
-    %\grace { s16 s s s s32 s s s s \clef bass; s }
-    \clef bass;
+    %\grace { s16 s s s s32 s s s s \clef bass s }
+    \clef bass
     \grace { <e,,,32( e,> } <)gis'2 e>
-#else
-    s4 s8 s32 s  s \clef bass;
-    \property Score.PaperColumn  \override #'space-factor = #0.6
-    \property Score.PaperColumn  \override #'to-musical-spacing-factor = #0.1
-    \property Voice.NoteHead \override #'font-relative-size = #-1
-    \property Voice.Stem \override #'font-relative-size = #-1
-    \property Voice.Stem \override #'length = #6
-    \property Voice.Slur \override #'font-relative-size = #-1
-    \property Voice.Slur \override #'attachment-offset = #'((-0.5 . 0) . (0.5 . 0))
-    <e,,,32( e,>
-
-    \property Voice.NoteHead \revert #'font-relative-size
-    \property Voice.Stem \revert #'font-relative-size
-    \property Voice.Stem \revert #'length
-    \property Voice.Slur \revert #'font-relative-size
-    \property Score.PaperColumn  \revert #'space-factor
-    \property Score.PaperColumn \revert #'to-musical-spacing-factor
-     <)gis'2 e>
-    \property Voice.Slur \revert #'attachment-offset
-#endif
     %5
     \property Voice.Slur \revert #'direction
     \property Voice.Slur \override #'direction = #1
@@ -319,13 +218,9 @@ bass =  \context Voice=bass \notes\relative c{
 }
 
 bassTwo =  \context Voice=bassTwo \notes\relative c{
-    \skip 2;
-    \skip 1*2;
-    \skip 2;
-
-#ifdef FAKE_GRACE
-    \skip 32*16;
-#endif
+    \skip 2
+    \skip 1*2
+    \skip 2
 
     \property Voice.Stem \revert #'direction
     \property Voice.Stem \override #'direction = #1
@@ -341,14 +236,8 @@ middleDynamics =  \context Dynamics=middle \notes{
     %4
     s2
 
-#ifdef FAKE_GRACE
-    s32*12
-    \outputproperty #(make-type-checker 'dynamic-interface) 
-           #'extra-offset = #'(0 . 1.5)
-    s32\> s s \!s
-#endif
     s32 
-    \outputproperty #(make-type-checker 'text-item-interface) 
+    \outputproperty #(make-type-checker 'text-interface) 
            #'extra-offset = #'(0 . 1.5)
     s-"rall." s s
     s8 s4
@@ -356,13 +245,14 @@ middleDynamics =  \context Dynamics=middle \notes{
     \outputproperty #(make-type-checker 'dynamic-interface) 
            #'extra-offset = #'(0 . 4)
     %s1\mf-"a tempo"
-    s2\mf-"a tempo" s4
-    \outputproperty #(make-type-checker 'crescendo-interface) 
-           #'extra-offset = #'(0.5 . -1)
-    s\> \!s8
+%%    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 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{
@@ -373,32 +263,24 @@ lowerDynamics =  \context Dynamics=lower \notes{
     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 = #""
+    \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "")
     s4 s16. s32\sustainUp
 
     %5
     s8\sustainDown s s
-    \property Dynamics.stopSustain = #"*"
-    \property Dynamics.stopStartSustain = #"-P"
+    \property Dynamics.pedalSustainStrings = #'("Ped." "-P" "*")
     s s\sustainUp\sustainDown s s
     s\sustainUp
 
     %6
-    \property Dynamics.stopStartSustain = #""
+    \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "")
     s8\sustainDown s s
-    \property Dynamics.stopStartSustain = #"-P"
+    \property Dynamics.pedalSustainStrings = #'("Ped." "-P" "*")
     s s\sustainUp\sustainDown s s
     s\sustainUp
 }
@@ -415,7 +297,7 @@ lowerDynamics =  \context Dynamics=lower \notes{
            \middleDynamics
        >
         \context Staff=bass <
-           \clef bass;
+           \clef bass
            \global
            \bass
            \bassTwo
@@ -426,47 +308,43 @@ lowerDynamics =  \context Dynamics=lower \notes{
        >
     >
     \paper {
-       %%BURP
-       magnification_italic = 1.;
+        % Hmm
+       % magnification_italic = 1.
        \translator {
            \ScoreContext
            TimeSignature \override #'style = #'C
-           SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 4)
+           %% SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 4)
 
-           \remove Bar_number_engraver;
+           \remove Bar_number_engraver
         }
        \translator {
-           \type "Engraver_group_engraver";
-           \name Dynamics;
-           \consists "Output_property_engraver";
-           Generic_property_list = #generic-voice-properties
-           \consists "Property_engraver";
-           DynamicsMinimumVerticalExtent = #(cons -3 -3)
-           VerticalAlignment \override #'threshold = #'(9 . 9) 
-
-           startSustain = #"Ped."
-           stopSustain = #"*"
-           stopStartSustain = #"*Ped."
-           startUnaChorda = #"una chorda"
-           stopUnaChorda = #"tre chorde"
+           \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";
-           %GURGURGU, text is initialised using TextScript
-           TextScript \override #'style = #"italic"
-           %%% TextScript \override #'font-relative-size = #2
+           \consists "Piano_pedal_engraver"
+           \consists "Script_engraver"
+           \consists "Dynamic_engraver"
+           \consists "Text_engraver"
 
-           \consists "Skip_req_swallow_translator";
+           TextScript \override #'font-relative-size = #1
+           TextScript \override #'font-shape = #'italic
 
-           \consistsend "Axis_group_engraver";
+           \consists "Skip_req_swallow_translator"
+
+           \consistsend "Axis_group_engraver"
        }
 
        \translator {
            \PianoStaffContext
-           \accepts Dynamics;
-           VerticalAlignment \override #'threshold = #'(7 . 7)
+           \accepts Dynamics
+           VerticalAlignment \override #'forced-distance = #7
         }
        \translator {
            \GraceContext
@@ -474,3 +352,7 @@ lowerDynamics =  \context Dynamics=lower \notes{
         }
     }
 }
+
+%%% Local variables:
+%%% LilyPond-indent-level:4
+%%% End: