X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=input%2Fles-nereides.ly;h=f911a20aa0ed621da46b81c62d52cf4bc583bd97;hb=cec3578c72af76e3e8c8b4603d5d03c8bd32c1e5;hp=dc4e04f823d5794507b1d567e1bc184132f82953;hpb=31a43e122332d7a8e703ff5f01286eacc4ea7a27;p=lilypond.git diff --git a/input/les-nereides.ly b/input/les-nereides.ly index dc4e04f823..f911a20aa0 100644 --- a/input/les-nereides.ly +++ b/input/les-nereides.ly @@ -1,81 +1,126 @@ %{ -cpp -P -traditional -o l.ly les-nereides.ly -cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly -%} +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.68" + +\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" } +% cpp: don't start on first 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)) - )) + (lambda (elt) (equal? text (ly-get-grob-property elt 'text)))) + +% complete and move to propert.ly? +smallFont = { + \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 = #0 + \property Voice.Fingering \override #'font-relative-size = #-4 + \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 +} +unSmallFont = { + \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 +} global = \notes{ - \partial 2; - \key a \major; - \skip 2; - \skip 1*2; + \partial 2 + \key a \major + \skip 2 + \skip 1*2 -#ifndef FAKE_GRACE - \skip 1; +#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; + \skip 2. \partial 32*24 + \skip 32*24 #endif % FAKE_GRACE - \bar "||"; + \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 r2 %3 r4 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."( %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 @@ -85,19 +130,21 @@ treble = \context Voice=treble \notes\relative c''{ \property Voice.TextSpanner \override #'line-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" ( @@ -116,53 +163,27 @@ treble = \context Voice=treble \notes\relative c''{ \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] + %%[cis'32 a-1 fis-4 dis] [cis a )fis-2] [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 - + \smallFont + )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 + \property Staff.centralCPosition = #-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 + \unSmallFont #endif % FAKE_GRACE @@ -204,22 +225,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( [ ] | + r8. e,16-2( [ ] | %2 + % 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 @@ -228,7 +250,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( %3 \property Voice.Stem \revert #'length @@ -254,37 +276,29 @@ bass = \context Voice=bass \notes\relative c{ \property Voice.Stem \revert #'direction \property Voice.Stem \override #'direction = #-1 - \clef treble; + \clef treble \property Voice.Stem \revert #'direction \property Voice.Stem \override #'direction = #0 < %urg: staff-change: ! on 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 { } <)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 + s4 s8 s32 s s \clef bass + + \smallFont + \property Voice.Slur \override #'attachment-offset = #'((-0.5 . 0) . (0.5 . 0)) - \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 + \unSmallFont <)gis'2 e> \property Voice.Slur \revert #'attachment-offset #endif @@ -309,12 +323,12 @@ bass = \context Voice=bass \notes\relative c{ } bassTwo = \context Voice=bassTwo \notes\relative c{ - \skip 2; - \skip 1*2; - \skip 2; + \skip 2 + \skip 1*2 + \skip 2 #ifdef FAKE_GRACE - \skip 32*16; + \skip 32*16 #endif \property Voice.Stem \revert #'direction @@ -338,7 +352,7 @@ middleDynamics = \context Dynamics=middle \notes{ 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 @@ -346,13 +360,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{ @@ -375,20 +390,19 @@ lowerDynamics = \context Dynamics=lower \notes{ 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 } @@ -405,7 +419,7 @@ lowerDynamics = \context Dynamics=lower \notes{ \middleDynamics > \context Staff=bass < - \clef bass; + \clef bass \global \bass \bassTwo @@ -416,47 +430,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) - \remove Bar_number_engraver; + \remove Bar_number_engraver } \translator { - \type "Engraver_group_engraver"; - \name Dynamics; - \consists "Output_property_engraver"; + \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" + \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" + + TextScript \override #'font-relative-size = #1 + TextScript \override #'font-shape = #'italic - \consists "Skip_req_swallow_translator"; + \consists "Skip_req_swallow_translator" - \consistsend "Axis_group_engraver"; + \consistsend "Axis_group_engraver" } \translator { \PianoStaffContext - \accepts Dynamics; - VerticalAlignment \override #'threshold = #'(7 . 7) + \accepts Dynamics + VerticalAlignment \override #'forced-distance = #7 } \translator { \GraceContext