X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=input%2Fles-nereides.ly;h=c39e7f37b526d4bc22062a512fc7ef1c40eab1ee;hb=8d4c8ba8a9b7f269bdfc42cbba8975f7cfdb206e;hp=f911a20aa0ed621da46b81c62d52cf4bc583bd97;hpb=95e7eaeeffd28d3a32b3e32578e257197248456b;p=lilypond.git diff --git a/input/les-nereides.ly b/input/les-nereides.ly index f911a20aa0..c39e7f37b5 100644 --- a/input/les-nereides.ly +++ b/input/les-nereides.ly @@ -1,476 +1,296 @@ -%{ -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 +\version "2.10.0" -2. - cpp -P -traditional -o l-fake.ly -DFAKE_GRACE les-nereides.ly +\header { + composer = "ARTHUR GRAY" + title = "LES NÉRÉIDES" + subtitle = "THE NEREIDS" + enteredby = "JCN" + piece = "Allegretto scherzando" + copyright = "public domain" +} -%} +%{ -\version "1.5.68" +Nastiest piece of competition at +http://www.orphee.com/comparison/study.html, see +http://www.orphee.com/comparison/gray.pdf -\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" -} +Lines that contain tweaks (10 currently, not counting reverts) are +marked with %tweak +possibly more impressive to render without tweaks? -% 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) (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 -} + grep -v tweak input/les-nereides.ly >> lnnt.ly + lilypond lnnt.ly -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 +treble = \new Voice \relative c''{ \key a \major - \skip 2 - \skip 1*2 + r2 + | %2 + \stemUp + r4 \arpeggio r2 + | %3 + r4 \arpeggio r8. -#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 + \change Staff=bass - \bar "||" -} - -treble = \context Voice=treble \notes\relative c''{ - % Broken? - \property Voice.NoteColumn \override #'horizontal-shift = #0 - \outputproperty #(make-type-checker 'text-interface) - #'extra-offset = #'(-6 . 2) - r2^#'((Large upright) "Allegretto scherzando") - %2 - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #1 - r4 r2 - %3 - r4 r8. - - % Urg, this lifts us up to staff context - \translator Staff=bass - - % Get back: - \context Voice + \once\override TextScript #'extra-offset = #'(-3 . -4) %tweak - % 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> + cis,16^2(^\markup {\small \italic "m.d." }\sustainUp + 8 + | %4 + 4)\sustainDown - % Urg, this lifts us up to staff context - \translator Staff=treble - % Get back: - \context Voice + \change Staff=treble - \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 + \slurUp + \set PianoStaff.connectArpeggios = ##t - \property Voice.TextSpanner \override #'type = #'dotted-line - \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5) - %% \property Voice.TextSpanner \override #'edge-text = #'("8 " . "") - \property Voice.TextSpanner \override #'edge-text = #'("8 " . " ") + #(set-octavation 1) - % Urg, this lifts us up to staff context - \property Staff.centralCPosition = #-13 - - % 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 . -3) + \once\override TextScript #'extra-offset = #'(-3 . -2) %tweak - % 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? - + \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.centralCPosition = #-6 + cis8 + \revert Stem #'direction - [cis32 a-1 fis-4 dis] [cis a )fis-2] + 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 - \smallFont + \stemUp + cis'4( bis) + + | %5 + r8 8(\mf - )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.centralCPosition = #-6 - [cis32 a^1 fis^4 dis] [cis a )fis-2] s % s s - - \unSmallFont -#endif % FAKE_GRACE + % \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 . -4)) - \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.Slur \override #'attachment = #'(stem . stem) - <)a''4\arpeggio eis cis> - %\stemBoth - \property Voice.Slur \revert #'attachment - % 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 - + + | %4 + \stemDown + 4 \clef treble - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #0 - < + \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 - - \smallFont + \arpeggio + >> + + \grace { + \override Stem #'stroke-style = #"grace" + + s8 + s16 s s + s32 s s + s s s + \clef bass + 32(\sustainUp\sustainDown - \property Voice.Slur \override #'attachment-offset = #'((-0.5 . 0) . (0.5 . 0)) - - - \unSmallFont - <)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] + \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{ +bassTwo = \new Voice \relative c{ \skip 2 \skip 1*2 \skip 2 -#ifdef FAKE_GRACE - \skip 32*16 -#endif - - \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-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 - 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 s8 s16 s32 s64 \> s s16 s8 s32 s s s\! s128 -} - -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.pedalSustainStrings = #'("Ped." "*Ped." "") - s4 s16. s32\sustainUp - - %5 - s8\sustainDown s s - \property Dynamics.pedalSustainStrings = #'("Ped." "-P" "*") - s s\sustainUp\sustainDown s s - s\sustainUp - - %6 - \property Dynamics.pedalSustainStrings = #'("Ped." "*Ped." "") - s8\sustainDown s s - \property Dynamics.pedalSustainStrings = #'("Ped." "-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 < + >> + \new Staff = "bass" << \clef bass - \global \bass \bassTwo - > - \context Dynamics=lower < - \global - \lowerDynamics - > - > - \paper { - % Hmm - % magnification_italic = 1. - \translator { - \ScoreContext - TimeSignature \override #'style = #'C - SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 4) - + >> + >> + \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" - Generic_property_list = #generic-voice-properties - \consists "Property_engraver" - minimumVerticalExtent = #'(-1 . 1) + \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1) - pedalSustainStrings = #'("Ped." "*Ped." "*") - pedalUnaCordaStrings = #'("una corda" "" "tre corde") - - \consists "Piano_pedal_engraver" \consists "Script_engraver" \consists "Dynamic_engraver" \consists "Text_engraver" - TextScript \override #'font-relative-size = #1 - TextScript \override #'font-shape = #'italic + %%\override TextScript #'font-size = #1 + \override TextScript #'font-shape = #'italic - \consists "Skip_req_swallow_translator" + \consists "Skip_event_swallow_translator" - \consistsend "Axis_group_engraver" + \consists "Axis_group_engraver" } - \translator { - \PianoStaffContext + \context { + \PianoStaff \accepts Dynamics - VerticalAlignment \override #'forced-distance = #7 - } - \translator { - \GraceContext - Stem \override #'flag-style = #"" + \override VerticalAlignment #'forced-distance = #7 } } } + +\book{ + \score { \theScore } +} + +%%% Local variables: +%%% coding: utf-8 +%%% LilyPond-indent-level:2 +%%% End: +