X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=input%2Fles-nereides.ly;h=ea0943c7005c6d2b3e1af379f203168eb8c73148;hb=ce6e56a8510206bff0d329bb79b9c0211999636f;hp=1ec8d19574c1d6995087be5bb702f14c130c0c26;hpb=8b88bf025331c789167734067001a3d79501b433;p=lilypond.git diff --git a/input/les-nereides.ly b/input/les-nereides.ly index 1ec8d19574..ea0943c700 100644 --- a/input/les-nereides.ly +++ b/input/les-nereides.ly @@ -1,466 +1,296 @@ -%{ -cpp -P -traditional -o l.ly les-nereides.ly -cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly -%} - +\version "2.9.16" + +\header { + composer = "ARTHUR GRAY" + title = "LES NÉRÉIDES" + subtitle = "THE NEREIDS" + enteredby = "JCN" + piece = "Allegretto scherzando" + copyright = "public domain" +} +%{ -\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"; -} +Nastiest piece of competition at +http://www.orphee.com/comparison/study.html, see +http://www.orphee.com/comparison/gray.pdf +Lines that contain tweaks (10 currently, not counting reverts) are +marked with %tweak -%% cpp: don't start on first column - #(define (grace-beam-space-function multiplicity) - (* (if (<= multiplicity 3) 0.816 0.844) 0.8)) +possibly more impressive to render without tweaks? -%% cpp: don't start on first column - #(define (make-text-checker text) - (lambda (elt) - ;; huh, string-match undefined? - ;; (string-match text (ly-get-elt-property elt 'text)) - (equal? text (ly-get-elt-property elt 'text)) - )) + grep -v tweak input/les-nereides.ly >> lnnt.ly + lilypond lnnt.ly +%} -global = \notes{ - \partial 2; - \key a \major; - \skip 2; - \skip 1*2; +treble = \new Voice \relative c''{ + \key a \major + r2 + | %2 + \stemUp + r4 \arpeggio r2 + | %3 + r4 \arpeggio r8. -#ifndef FAKE_GRACE - \skip 1; -#else % FAKE_GRACE - \skip 2.; \partial 32*24; - \skip 32*24; -#endif % FAKE_GRACE + \change Staff=bass - \bar "||"; -} + \once\override TextScript #'extra-offset = #'(-3 . -4) %tweak + + cis,16^2(^\markup {\small \italic "m.d." }\sustainUp + 8 + | %4 + 4)\sustainDown + + \change Staff=treble + + \slurUp + \set PianoStaff.connectArpeggios = ##t -treble = \context Voice=treble \notes\relative c''{ - % Broken? - \property Voice.NoteColumn \override #'horizontal-shift = #0 - \outputproperty #(make-type-checker 'text-item-interface) - #'extra-offset = #'(-6 . 2) - %% *Style* = Large?? - \property Voice.TextScript \override #'style = #"Large" - r2^"Allegretto scherzando" - \property Voice.TextScript \revert #'style - %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??? - \translator Staff=bass - % Get back - \context Voice - \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 - \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 #'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 " . "") - % Huh, urg? Implicit \context Staff lifts us up to Staff context??? - - % no, see seq-mus-iter --hwn - \property Staff."c0-position" = #-13 - - - % Get back - %\context Voice - \outputproperty #(make-text-checker "m.g.") - #'extra-offset = #'(-3 . -2) - % 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 - - \property Voice.Stem \revert #'direction - - % grace is a mess - % maybe we should fake this and put 5/4 in this bar? + #(set-octavation 1) + \once\override TextScript #'extra-offset = #'(-3 . -2) %tweak + + \tieUp + cis''''4^\markup { \small \italic "m.g." }\arpeggio~ \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] - [a16-5( fis dis \spanrequest \stop "text" ] - \property Staff."c0-position" = #-6 - [cis32 a-1 fis-4 dis] [cis a )fis-2] + cis8 + \revert Stem #'direction + + 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 } -#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 + + \stemUp + cis'4( bis) + + | %5 + r8 8(\mf + % \fingerUp + \override Fingering #'direction = #UP + + e)-1-4-5 r - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #1 - cis'4()bis - r8 - )e^" "^1^4^5 r| - r )e r| + | %6 + r 8(\mf + e) r + + | %7 + \bar "||" } -trebleTwo = \context Voice=trebleTwo \notes\relative c''{ - \property Voice.NoteColumn \override #'horizontal-shift = #1 +trebleTwo = \new Voice \relative c''{ + \stemDown + \slurDown + % \fingerDown + \override Fingering #'direction = #DOWN s2 + | %1 s1*2 + | %4 s4 - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #-1 - - -#ifdef FAKE_GRACE - s32*16 -#endif - - \property Voice.NoteColumn \override #'force-hshift = #-0.2 - - % Hmm s/r? - %r8 cis4. d4 + 4\arpeggio + 2 + | %5 s8 cis4. d4 - \property Voice.NoteColumn \revert #'force-hshift - [ | - \property Voice.NoteColumn \override #'force-hshift = #-0.2 - <)a-2 cis,-1>] cis4. d4 - \property Voice.NoteColumn \revert #'force-hshift - [ | - <)a cis,>] + % fair to count as one tweak? + \override Fingering #'add-stem-support = ##t %tweak + \override Fingering #'padding = #0.15 + \override Fingering #'slur-padding = #0.1 + 8[( + | %6 + )] cis'4. d4 + 8[( + | %7 + )] } -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.Stem \revert #'direction - \property Voice.Slur \override #'direction = #-1 - % huh, auto-beamer? - r8. e,16-2( [ ] | - %2 - % Huh, urg? Implicit \context Staff lifts us up to Staff context??? - \translator Staff=treble - % Get back - \context Voice - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #-1 - \property Voice.slurEndAttachment = #'stem - <)a''4\arpeggio eis cis> - %\stemBoth - \property Voice.slurEndAttachment = ##f - % Huh, urg? Implicit \context Staff lifts us up to Staff context??? - \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( - %3 - \property Voice.Stem \revert #'length - \property Voice.Stem \override #'length = #5 - - % Huh, urg? Implicit \context Staff lifts us up to Staff context??? - \translator Staff=treble - % Get back - \context Voice - \property Voice.Stem \revert #'length - \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??? - \translator Staff=bass - % Get back - \context Voice - \property Voice.Stem \revert #'direction +bass = \new Voice \relative c{ + \partial 2 + \key a \major + + \slurDown + \dynamicUp + + r8. e,16(\f_2 8[ ] + | %2 + \override Staff.SustainPedalLineSpanner #'staff-padding = #5 %tweak + + 4\sustainDown + \change Staff=treble + \stemDown + 4)\arpeggio + + \change Staff=bass + \stemNeutral + + r8. cis,,16(\sustainUp 8 + + | %3 +% \once \override Stem #'length = #6 %tweak + 4\sustainDown + \change Staff=treble + + \stemNeutral + \stemDown + )\arpeggio + \change Staff=bass + \stemNeutral r2 - %4 - \property Voice.Slur \revert #'beautiful - \property Voice.Slur \revert #'attachment-offset - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #-1 - - \clef treble; - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #0 - < + + | %4 + \stemDown + 4 + \clef treble + \stemNeutral + << %urg: staff-change: ! on dis - -% { s8. \clef bass;} - > - -#ifndef FAKE_GRACE - %Hmm - %\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 - \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 - <)gis'2 e> - \property Voice.Slur \revert #'attachment-offset -#endif - %5 - \property Voice.Slur \revert #'direction - \property Voice.Slur \override #'direction = #1 - a,8 [e'-5(<)a-2 cis-3>] - r b,-5 - \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, - \property Voice.Slur \revert #'direction - \property Voice.Slur \override #'direction = #0 - [e,8(| - %7 - )a] + \arpeggio + >> + + \grace { + \override Stem #'stroke-style = #"grace" + + s8 + s16 s s + s32 s s + s s s + \clef bass + 32(\sustainUp\sustainDown + + \revert Stem #'stroke-style + } + 2) + + | %5 + \slurUp + + % \fingerDown + \override Fingering #'direction = #DOWN + + + \override Staff.SustainPedalLineSpanner #'staff-padding = #3.5 %tweak + \set Staff.pedalSustainStyle = #'mixed + %%a,8 e'[-5(]) + + + a,8\sustainDown e'[-5(])-2-3 + %%r b,-5 4 + r b,-5\sustainUp\sustainDown 4-3-5 + \slurNeutral + e,8[-5(\sustainUp + + | %6 + a)-2]\sustainDown + \slurUp + e'[()] r b,\sustainUp\sustainDown 4 + \slurNeutral + e,8[(\sustainUp + + | %7 + a)] } -bassTwo = \context Voice=bassTwo \notes\relative c{ - \skip 2; - \skip 1*2; - \skip 2; - -#ifdef FAKE_GRACE - \skip 32*16; -#endif +bassTwo = \new Voice \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 - s1*2 - %4 +middleDynamics = { + \override Dynamics.TextScript #'padding = #-1 %tweak 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) - #'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 - \outputproperty #(make-type-checker 'crescendo-interface) - #'extra-offset = #'(0.5 . -1) - s\> \!s8 - \outputproperty #(make-type-checker 'dynamic-interface) - #'extra-offset = #'(-1 . 4) - s8\mf s4 s4 s8\> s32 s s \!s -} - -lowerDynamics = \context Dynamics=lower \notes{ + s1*2 + | %4 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 + \grace { + s8 + s16 s s + s32 s + \once\override Dynamics.Hairpin #'extra-offset = #'(0 . 2) %tweak + s\> s + s32 s s s\! + + } + \fatText + s32 s-"rall." s s s8 s4 + \emptyText + | %5 + s2-"a tempo" s8 + \once\override Dynamics.Hairpin #'extra-offset = #'(1 . 0) %tweak + s \> s s + | %6 + s8\! + s2 s8 s\> s + | %7 + s8\! } -\score{ - \context PianoStaff < - \context Staff=treble < - \global +theScore = \score{ + \context PianoStaff << + \new Staff = "treble" << \treble \trebleTwo - > - \context Dynamics=middle < - \global + >> + \new Dynamics << \middleDynamics - > - \context Staff=bass < - \clef bass; - \global + >> + \new Staff = "bass" << + \clef bass \bass \bassTwo - > - \context Dynamics=lower < - \global - \lowerDynamics - > - > - \paper { - %%BURP - magnification_italic = 1.; - \translator { - \ScoreContext - TimeSignature \override #'style = #'C - SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 4) - - \remove Bar_number_engraver; + >> + >> + \layout { + \context { + \Score + pedalSustainStrings = #'("Ped." "*Ped." "*") + \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" - - \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 + \context { + \type "Engraver_group" + \name Dynamics + \consists "Output_property_engraver" + \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1) + + \consists "Script_engraver" + \consists "Dynamic_engraver" + \consists "Text_engraver" - \consists "Skip_req_swallow_translator"; + %%\override TextScript #'font-size = #1 + \override TextScript #'font-shape = #'italic - \consistsend "Axis_group_engraver"; + \consists "Skip_event_swallow_translator" + + \consists "Axis_group_engraver" } - \translator { - \PianoStaffContext - \accepts Dynamics; - VerticalAlignment \override #'threshold = #'(7 . 7) - } - \translator { - \GraceContext - Stem \override #'flag-style = #"" + \context { + \PianoStaff + \accepts Dynamics + \override VerticalAlignment #'forced-distance = #7 } } } + +\book{ + \score { \theScore } +} + +%%% Local variables: +%%% coding: utf-8 +%%% LilyPond-indent-level:2 +%%% End: +