]> git.donarmstrong.com Git - lilypond.git/commitdiff
Reinstate delete files and put them in regression.
authorGraham Percival <graham@percival-music.ca>
Sun, 10 Jan 2010 13:54:13 +0000 (13:54 +0000)
committerGraham Percival <graham@percival-music.ca>
Sun, 10 Jan 2010 15:53:49 +0000 (15:53 +0000)
input/regression/baerenreiter-sarabande.ly [new file with mode: 0644]
input/regression/les-nereides.ly [new file with mode: 0644]
input/regression/morgenlied.ly [new file with mode: 0644]
input/regression/mozart-hrn-3.ly [new file with mode: 0644]
input/regression/mozart-hrn3-allegro.ily [new file with mode: 0644]
input/regression/mozart-hrn3-defs.ily [new file with mode: 0644]
input/regression/mozart-hrn3-romanze.ily [new file with mode: 0644]
input/regression/mozart-hrn3-rondo.ily [new file with mode: 0644]

diff --git a/input/regression/baerenreiter-sarabande.ly b/input/regression/baerenreiter-sarabande.ly
new file mode 100644 (file)
index 0000000..7012fe7
--- /dev/null
@@ -0,0 +1,202 @@
+\version "2.12.0"
+
+forcedLastBreak =  { \break }
+
+%% We want this to perfectly match the Baerenreiter spacing.
+%% If we're not using 6 systems, there's definately a problem.
+#(define (assert-system-count smob n)
+  (let ((systems (length (ly:spanner-broken-into
+                         (ly:grob-original
+                          (ly:grob-system smob))))))
+    (if (not (equal? n systems))
+       (error
+       ;;(warn
+       (string-append "Got " (number->string systems)
+                            " systems (expecting " (number->string n))))))
+            
+
+#(define (assert-system-count-override count)
+  (ly:export #{ \override NoteHead #'after-line-breaking
+       = #(lambda (smob) (assert-system-count smob $count))
+  #}))
+
+  
+\header {
+  title = "Solo Cello Suite II"
+  piece ="Sarabande"
+  composer = "Johann Sebastian Bach (1685-1750)"
+  editor = "August Wenzinger"
+  source= "B\\\"arenreiter Urtext"
+
+  texidoc = "The B\\\"arenreiter edition of the Cello Suites is the
+most beautifully typeset piece of music in our collection of music (we
+both own one. It is also lovely on French Horn). This piece does not
+include articulation, but it does follows the same beaming and
+linebreaking as the printed edition. This is done in order to
+benchmark the quality of the LilyPond output.
+
+As of lilypond 1.5.42, the spacing and beam quanting is almost
+identical.
+
+There are two tweaks in this file: a line-break was forced before
+measure 25, we get back the linebreaking of Baerenreiter.  The stem
+direction is forced in measure 24. The last beam of that measure is up
+in Baerenreiter because of context. We don't detect that yet.
+
+Note that the Barenreiter edition contains a few engraving
+mistakes. The second line begins with measure 6 (but prints 5). The |:
+half way in measure 13 has been forgotten.
+ "
+}
+
+
+sarabandeA =  \context Voice  \relative c {
+  \override Staff.NoteCollision  #'merge-differently-dotted = ##t
+
+  
+  << { d8. e16 e4.\trill d16 e } \\
+    { d4 a2 } >>
+  <d, a' f'>4.  e'8[ d c] | 
+  bes[ g'] f[
+     e16(f] g[ a bes d,)] |
+  cis4.\trill b8[ a g] |
+
+  %% check spacing without accs: 
+  %%   c4.\trill bes8[ a g] |
+  
+  << { d'8. e16 e4.\trill d16 e |
+      f4. d8[ e f] }
+    \\
+    { <a, f>4 a2 <a d,>4.  } >> |
+
+  %%7
+  g'8 bes16(a) c(bes) a(g) d'8 f, |
+  <<  e4.\trill
+    \\ <c, g'>4 >>
+  d'8[ c bes]
+
+  %%9
+  << { f'8 g16(a) a4. g16(f)  |
+      g8 a16(bes) bes4. c16(d) }
+    \\
+    { a,4 <bes d >4. r8 bes4 <g f'>2  }
+  >> |
+
+  %% 11
+  e'8[ f] c,[ g'] f'[ e] |
+  f4 f,2 |
+  << {  a'4 a4.\trill bes8 
+       c bes16 a } \\
+    { f8[ es] es4. r8 d4 } >>
+
+  fis8.\trill es16 d8 c |
+  bes[ g']
+  a,[ fis']
+  es'[ d] |
+  
+  %%16
+  < bes d, g, >4.\trill a8[ g f!] |
+  e bes a f' g a |
+  d, as g es' f g |
+  cis,[ bes'] a[ g16 f] e!8[ f16 d] |
+  cis8 e16 a a,8. g'16 f8(e) |
+  
+  %%21
+  << { d e16(f) f4. e16(d) |
+      e8 f16(g) g4. a16(bes) |
+      a8 cis16 d d,8 e16 f32 g f8\trill e16(d) } \\
+    { bes4 g2 |
+      g4 <bes cis,>4. s8 |
+      <d a f>8 r r g, a4 } >>
+  |
+  \stemUp
+  d4 d,16 a'( b cis d e f g) |
+  \stemNeutral
+  \forcedLastBreak
+  %%25
+  << { a16(b c b) c4. b16(a) |
+      b cis d cis d4. e16(f) | }
+    \\
+    { f,4 fis4. s8 |
+      <d g,>4 gis4.   } >>
+  \voiceOne
+  d'16(cis  d) f,
+  a,8[ e']
+  \oneVoice
+  d'[ cis] |
+  %%  d4 d,,2 |
+  d4
+%  #(assert-system-count-override 6)
+  d,,2 |
+}
+
+
+sarabandeCelloGlobal = {
+  \time 3/4
+  \key d \minor
+  \clef bass
+  \repeat "volta" 2 {
+    s2.*12
+  } \repeat "volta" 2 {
+    s2.*16
+  }
+}
+
+sarabandeCelloScripts = {
+}
+
+sarabandeCelloStaff = \context Staff <<
+  \sarabandeA
+  \sarabandeCelloGlobal
+  \sarabandeCelloScripts
+>>
+
+%% size perversions
+smallerPaper = \layout {
+  \context {
+    \Staff
+    fontSize = #-1
+    \override StaffSymbol  #'staff-space = #0.8
+  }
+  \context {
+    \Score
+    \override SpacingSpanner #'spacing-increment = #0.96
+  }
+  
+  indent = 5.6 \mm
+  line-width = 146.8 \mm
+}
+
+\paper {
+  ragged-bottom = ##t
+  indent = 7. \mm
+  line-width =183.5 \mm
+  between-system-space = 25\mm 
+  between-system-padding = 0\mm
+  system-count = 6
+
+%%  annotatespacing = ##t
+}
+
+\book {
+  \score{
+    \sarabandeCelloStaff
+    \layout { }
+    
+  \midi {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 40 4)
+      }
+    }
+
+
+    \header{
+      opus= "" 
+      piece ="Sarabande" }
+  }
+}
+%%% Local variables:
+%%% LilyPond-indent-level:2
+%%% End:
+
diff --git a/input/regression/les-nereides.ly b/input/regression/les-nereides.ly
new file mode 100644 (file)
index 0000000..53866b4
--- /dev/null
@@ -0,0 +1,270 @@
+\version "2.13.4"
+
+\header {
+    composer = "ARTHUR GRAY"
+    title = "LES NÉRÉIDES"
+    subtitle = "THE NEREIDS"
+    enteredby = "JCN"
+    piece = "Allegretto scherzando"
+    copyright = "public domain"
+}
+
+%{
+
+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
+
+possibly more impressive to render without tweaks?
+
+  grep -v tweak input/les-nereides.ly >> lnnt.ly
+  lilypond lnnt.ly
+
+%}
+
+treble = \new Voice \relative c''{
+    \key a \major
+    r2
+    | %2
+    \stemUp
+    r4 <cis eis a cis>\arpeggio r2
+    | %3
+    r4 <cis fis a cis>\arpeggio r8.
+
+    \change Staff=bass
+
+    cis,16^2(^\markup {\small \italic "m.d." }\sustainOff
+    <fis fis,>8 <e! e,!>
+    | %4
+    <dis, a' dis>4)\sustainOn
+
+    \change Staff=treble
+
+    \slurUp
+    \set PianoStaff.connectArpeggios = ##t
+
+    \ottava #1
+
+    \tieUp
+    cis''''4^\markup { \small \italic "m.g." }\arpeggio~
+    \grace {
+        cis8
+       \revert Stem #'direction
+
+       a16[-5_( fis dis]
+       \ottava #0
+
+       cis32[ a-1 fis-4 dis]   cis[ a  fis)-2]
+                               % the small grace in lower staff comes after us
+       s32
+    }
+
+
+    \stemUp
+    cis'4( bis)
+
+    | %5
+    r8 <a' a,>8(\mf <gis gis,> <fis fis,>
+
+    % \fingerUp
+    \override Fingering  #'direction = #UP
+
+    <gis gis,> <fis fis,> e)-1-4-5 r
+
+    | %6
+    r <a a,>8(\mf <gis gis,> <fis fis,>
+    <gis gis,> <fis fis,>  e) r
+
+    | %7
+    \bar "||"
+}
+
+trebleTwo = \new Voice \relative c''{
+    \stemDown
+    \slurDown
+    % \fingerDown
+    \override Fingering  #'direction = #DOWN
+    s2
+    | %1
+    s1*2
+    | %4
+    s4
+    <cis' a fis dis>4\arpeggio
+    <e, gis, e d!>2
+    | %5
+    s8 cis4. d4
+    % fair to count as one tweak?
+    \override Fingering #'add-stem-support = ##t %tweak
+    \override Fingering #'padding = #0.15
+    \override Fingering #'slur-padding = #0.1
+    <cis e,>8[( <d,_3 b'_1>
+    | %6
+    <cis_1 a'_2>)] cis'4. d4
+    <cis e,>8[( <b d,>
+    | %7
+    <a cis,>)]
+}
+
+bass = \new Voice \relative c{
+    \partial 2
+    \key a \major
+
+    \slurDown
+    \dynamicUp
+
+    r8. e,16(\f_2 <a a,>8[ <b b,>]
+    | %2
+    %\override Staff.SustainPedalLineSpanner #'staff-padding = #5 %tweak
+
+    <cis cis,>4\sustainOn
+    \change Staff=treble
+    \stemDown
+    <a'' eis cis>4)\arpeggio
+
+    \change Staff=bass
+    \stemNeutral
+
+    r8. cis,,16(\sustainOff <fis fis,>8 <gis gis,>
+
+    | %3
+
+    <a a,>4\sustainOn
+    \change Staff=treble
+
+    \stemNeutral
+    \stemDown
+    <a' fis cis>)\arpeggio
+    \change Staff=bass
+    \stemNeutral
+    r2
+
+    | %4
+    \stemDown
+    <b,, b,>4
+    \clef treble
+    \stemNeutral
+    <<
+        %urg: staff-change: ! on dis
+        <cis'' a fis dis!>\arpeggio
+    >>
+
+    \grace {
+       \override Stem  #'stroke-style = #"grace"
+
+        s8
+        s16 s s
+       s32 s s
+       s s s
+       \clef bass
+       <e,,, e,>32(\sustainOff\sustainOn
+
+       \revert Stem #'stroke-style
+    }
+    <gis' e>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-2 cis-3>])
+
+
+    a,8\sustainOn e'[-5(<a cis>])-2-3
+    %%r b,-5 <e-3 gis-5 d'>4
+    r b,-5\sustainOff\sustainOn <e gis d'>4-3-5
+    \slurNeutral
+    e,8[-5(\sustainOff
+
+    | %6
+    a)-2]\sustainOn
+    \slurUp
+    e'[(<a cis>)] r b,\sustainOff\sustainOn <e gis d'>4
+    \slurNeutral
+    e,8[(\sustainOff
+
+    | %7
+    a)]
+}
+
+bassTwo = \new Voice \relative c{
+    \skip 2
+    \skip 1*2
+    \skip 2
+
+    \stemUp
+    \slurUp
+
+    cis'4( bis)
+}
+
+middleDynamics = {
+    %\override Dynamics.TextScript  #'padding = #-1 %tweak
+    s2
+    s1*2
+    | %4
+    s2
+    \grace {
+       s8
+       s16 s s
+       s32 s
+       s\> s
+       s32 s s\! s
+
+    }
+    \textLengthOn
+    s32 s-"rall." s s s8 s4
+    \textLengthOff
+    | %5
+    s2-"a tempo" s8
+    s \> s s
+    | %6
+    s8\!
+    s2 s8 s\> s
+    | %7
+    s8\!
+}
+
+theScore = \score{
+    \context PianoStaff <<
+        \new Staff = "treble" <<
+            \overrideBeamSettings #'Score #'(4 . 4) #'end
+              #'((* . (1 1 1 1))
+                 ((1 . 32) (4 4 4 4 4 4 4 4)))
+           \treble
+           \trebleTwo
+        >>
+       \new Dynamics <<
+           \middleDynamics
+       >>
+        \new Staff = "bass" <<
+           \clef bass
+           \bass
+           \bassTwo
+        >>
+    >>
+    \layout {
+       \context {
+           \Score
+           pedalSustainStrings = #'("Ped." "*Ped." "*")
+           \remove Bar_number_engraver
+        }
+    }
+}
+
+\book{
+    \score { \theScore }
+}
+
+%%% Local variables:
+%%% coding: utf-8
+%%% LilyPond-indent-level:2
+%%% End:
+
diff --git a/input/regression/morgenlied.ly b/input/regression/morgenlied.ly
new file mode 100644 (file)
index 0000000..b7941a4
--- /dev/null
@@ -0,0 +1,192 @@
+\header {
+    title = "Sängers Morgenlied"
+    composer = "Franz Schubert (1797-1828)"
+    date = "27. Februar 1815"
+    source = "Edition Peters"
+    editor = "Paul Losse"
+    enteredby="Han-Wen Nienhuys"
+    maintainer="hanwen@xs4all.nl"
+
+    texidoc = "The source is a rather tightly set Peters in Edition is
+    a heavy font. The Peters edition (4622c) was `herausgegeben' by
+    Paul Losse, whose name also appears on a 1956 edition of some
+    other music. Strictly speaking, his edititorial enhancements will
+    not be in the PD - but I am assuming there are no notable ones in
+    this small piece.
+
+    The original compresses the entire music onto a single page, in 4
+    systems.  Lily does so too if you tune down spacing-increment, but
+    chooses line breaks differently.
+
+    Further manual tweaks: the slur in measure 12 has been flattened
+manually. The beam in measure 3, left-hand, technically is wrong, but
+has been added following the original. The crescendo in measure 4 has
+been lowered
+
+"
+
+}
+
+\version "2.12.0"
+manuscriptBreak = { \break }
+
+
+
+#(set-global-staff-size (/ (* 5.8 72.27) 25.4))
+
+\paper  {
+%#(set-global-staff-size (* 5.8 mm))
+    line-width = #(* mm 160)
+    indent = 8\mm
+    interscoreline = 2.\mm
+    between-system-space = 15\mm
+    ragged-bottom = ##t 
+    }
+
+modernAccidentals = {
+  \set Staff.extraNatural =  ##f
+  \set Staff.autoAccidentals =  #'(Staff (same-octave . 1) (any-octave . 0))
+  \set Staff.autoCautionaries =  #'()  
+}
+
+
+melody =    \relative c'' \repeat volta 2 \new Voice = "singer" {
+    \time 6/8
+    \autoBeamOff
+    s1*0^\markup { \bold \large\larger\larger { \hspace #-3.0 Lieblich, etwas geschwind } }
+  R2.
+  r4 r8 c4 g8 |
+  e4 c8
+    <<
+       \new Voice { \stemUp f8. g16 }
+       { \stemDown f8.[ g16] } >> \stemNeutral a8 |
+  fis4  g8 c16[ b a g] f[ e] |
+  d4 f8 a16[ g fis g] f[ d] |
+  g4. r8 gis gis |
+  a4 a16.[ b32] c4 fis,8 |
+  g4.~ g8-\fermata g8 g |
+  as4 as8 g4 g8 |
+  fis4 fis8 r8 g g  |
+  a!4 a8 g4 g8 |
+  fis4 fis8 d'16[ c b a] g[ f] |
+  e4 g8 d4 g8 e4 r8 b'16[ c d b] g[ f] |
+  e4 g8 d4 a'16[ g] |
+  c,4 r8 r4 r8 |
+
+    % TODO : make \fermata work. 
+  R2.^\fermataMarkup 
+}
+
+
+ignoreMelisma =        \set ignoreMelismata = ##t
+ignoreMelismaOff = \unset ignoreMelismata 
+
+
+firstVerse = \lyricmode {
+    \set stanza = "1."
+    
+    Sü -- ßes Licht! Aus
+    \ignoreMelisma
+    gol --
+    \ignoreMelismaOff
+
+    de -- nen  Pfor -- ten brichst du __ \manuscriptBreak | 
+    sie -- gend durch __ die Nacht. Schö -- ner Tag, du __ bist er -- wacht. __ Mit ge -- |
+    \manuscriptBreak
+    heim -- nis -- vol -- len Wor -- ten, in me -- lo -- di -- schen Ak -- kor -- den, grüß __ ich __ \manuscriptBreak |
+    dei -- ne Ro -- sen -- pracht, grüß __ ich __ dei -- ne Ro -- sen -- pracht. 
+    }
+
+secondVerse = \lyricmode {
+    \set stanza = "2."
+    Ach, der Lie -- be sanf
+    -- tes We -- hen schwellt mir |
+    das be -- weg -- te __ Herz, sanft, wie ein ge -- lieb -- ter Schmerz. __ Dürft ich | 
+    nur auf gold -- nen Hö -- hen mich im Mor -- gen -- duft er -- ge -- hen! Sehn -- sucht |
+    zieht mich him -- mel -- wärts, Sehn -- sucht zieht mich him -- mel -- wärts.
+    }
+
+pianoRH =  \relative c''' \repeat volta 2 {
+    #(set-accidental-style 'modern)
+    g16(_\p fis a g fis g f e d c b a ) | 
+    <g e>8( <es fis a> <d f b> <c e c'>) r8 r | 
+    r8 c'( e,) f r a |
+    \once \override DynamicLineSpanner   #'padding =#3
+    r8 << { s8 s8 }  << { fis(\> g)\!
+                           } \\ { c,4 } >> >> r8 <e c g> <e c g> |
+    <d c a>4. r8 \clef bass  <d b f> <d b f> |
+    e,16_" "_\markup { \bold\italic cresc. } g c g e g d gis b gis d gis |
+    c, e a e c e a,-\f d fis d a d |
+    b d g  d b g r4\fermata \clef treble g''8 |
+    as4.( g 4.) | fis4. r4 <d g>8 ( |
+    <f a>4.) <e g>4.( <es fis> ) <d f>\sf |
+    r8 <e c g> <e c g> r <d b g > <d b g> |
+    r <e c g> <e c g> r <f d b g> <f d b g> |
+    r <e c g> <e c g> r <d b f> <d b f> |
+    c16(_\f b c e g b c b c e g <e b'>) |
+    <c c'>8 r r <c, g e>8 r r\fermata |  
+}
+
+pianoLH =  \relative c'' \repeat volta 2 {
+    #(set-accidental-style 'modern)
+    g16( fis a g fis g f e d c b a) | 
+    \clef bass g4.( c,8) r r
+    \clef treble r4 <bes' c>8([ <a c>)] r <f c'> |
+    \clef bass r8 dis( e) r c c |
+    f,4. r8 g g |
+    <c, c,>4. <e e,>4. |
+    a,4. <d d,>4. |
+    g,8 r r g16 r16\fermata r8 g''8 |
+    as4.( g ) |
+    fis r4 <g b>8( |
+    <f c'>4.)
+
+    \once \override Slur  #'height-limit = #1.0
+
+    <g c>4.( | <a c>4.) <g b,> |
+    c,4 r8 g4 r8 |
+    c4 r8 g4 r8 |
+    c4 r8 g4 r8 |
+    <c g e c>8 <c e g> <c e g>     <c e g> <c e g> <c e g> |
+    <c e g> r r <c, c,>8 r r\fermata \clef treble
+    }
+
+\book {
+    \score {
+       << \time 6/8
+          \new Staff <<
+              \context Staff #(set-accidental-style 'modern)
+              \melody >>
+          \lyricsto "singer" \new Lyrics \firstVerse
+          \lyricsto "singer" \new Lyrics \secondVerse
+          \new PianoStaff << 
+              \set PianoStaff.instrumentName = \markup {
+                  \bold
+                  \larger\larger\larger\larger \huge "2.  " }
+              \new Staff \pianoRH
+              \new Staff \pianoLH
+          >> 
+       >>
+
+       \layout {
+           \context {
+               \Lyrics
+               \override VerticalAxisGroup #'minimum-Y-extent = #'(-0.5 . 2.5)
+               \override LyricText #'font-size = #-1
+           }
+           \context {
+               \Score
+               \override Beam #'thickness = #0.55
+               \override SpacingSpanner #'spacing-increment = #1.0
+               \override Slur #'height-limit = #1.5
+           }
+       }
+       \midi {
+         \context {
+           \Score
+           tempoWholesPerMinute = #(ly:make-moment 70 4)
+         }
+       }
+    }
+}
+
diff --git a/input/regression/mozart-hrn-3.ly b/input/regression/mozart-hrn-3.ly
new file mode 100644 (file)
index 0000000..4e983ce
--- /dev/null
@@ -0,0 +1,106 @@
+\header{
+  title = "Konzert Nr. 3 Es dur"
+  subtitle = "für Horn und Orchester"
+  composer = "Wolfgang Amadeus Mozart (1756-1791)"
+  enteredby = "HWN"
+  opus = "KV 447"
+
+  copyright = "public domain"
+  instrument = "Horn in F"
+  editor = "Henri Kling"
+  mutopiatitle = "Horn Concerto 3"
+  mutopiacomposer = "W.A.Mozart"
+  mutopiaopus = "KV447"
+  style = "classical"
+  maintainer = "hanwen@xs4all.nl"
+  maintainerEmail = "hanwen@xs4all.nl"
+  maintainerWeb = "http://www.xs4all.nl/~hanwen/"      
+  lastupdated = "2002/May/21"
+  source = "Edition Breitkopf 2563"
+  footer = "Mutopia-2002/05/21-25"
+
+  tagline = \markup { \smaller
+      \column {
+          \fill-line { \footer "" }
+          \fill-line { { "This music is part of the Mutopia project,"
+                         \typewriter { "http://mutopiaproject.org/" }
+                        } }
+          \fill-line { #(ly:export (string-append "It has been typeset and placed in the public "
+                         "domain by "  maintainer  "."))  }
+          \fill-line { #(ly:export (string-append "Unrestricted modification and redistribution"
+                         " is permitted and encouraged---copy this music"
+                         " and share it!")) }
+          }
+       }
+}
+%{
+
+This is the Mozart 3 for horn.  It's from an Edition Breitkopf EB
+2563, edited by Henri Kling. Henri Kling (1842-1918) was a horn
+virtuoso that taught in Geneva. 
+
+%}
+
+\version "2.12.0"
+
+\include "mozart-hrn3-defs.ily"
+\include "mozart-hrn3-allegro.ily"
+\include "mozart-hrn3-romanze.ily"
+\include "mozart-hrn3-rondo.ily"
+
+\paper {
+    between-system-space = 20 \mm
+}
+
+
+\book {
+    \score {
+       { \transpose c' bes \allegro }
+       \layout { }
+       \header { piece = "Allegro" opus = "" } 
+       
+  \midi {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 90 4)
+      }
+    }
+
+
+    }
+
+    \score {
+       { \transpose c' bes \romanze }
+       \header { piece = "Romanze" opus = "" } 
+       
+  \midi {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 70 4)
+      }
+    }
+
+
+       \layout {}
+    }
+
+    \score
+    {
+       { \transpose c' bes \rondo }
+       \header { piece = "Rondo" opus = "" }
+       
+  \midi {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 100 4)
+      }
+    }
+
+
+       \layout { }
+    }
+}
+
+%% Local Variables:
+%% coding: utf-8
+%% End:
diff --git a/input/regression/mozart-hrn3-allegro.ily b/input/regression/mozart-hrn3-allegro.ily
new file mode 100644 (file)
index 0000000..d788aee
--- /dev/null
@@ -0,0 +1,198 @@
+\version "2.11.61"
+\include  "mozart-hrn3-defs.ily"
+
+allegro =
+       
+       \relative c'
+{
+       \time 4/4
+       \key c \major
+       \partial 4
+       r4 
+       |
+       R1*4
+       c'2^"Tutti" g
+       c, r
+       R1*1
+       r8 g' g g  g g e c
+       g'4 g, r2
+       R1*18
+       r2 r4^"Solo" g'4 |
+       \mark "A"
+       e'4. ( c8)  f[ (d c  b) ]
+        b[( c)] g4 r8  g[ c e]
+       g2.   g16[( f e  f)]
+       dis4 ( e4) r8  c8[-. c-. c-.]
+       c4.(  d16[ e]  f4  e)
+       a,( d g, c)
+       d-. d-. \grace {
+  \override Stem  #'stroke-style = #"grace"
+   e16( 
+  \revert Stem #'stroke-style }
+ d8.[) c16 d8. e16]
+       c4 r r2
+       R1*3
+       c,2 ~  c8[ e g c]
+        c[  b ] b4 r2
+        c,8[ ( e) g c]  e[( g) e c]
+        c[( b)] b4 r2
+       c4.( g8 e'4. c8)
+        g'[( d) ] d4 r4 d
+        d8[ ( c)] c4.(  d16[ e]  d8[  c)]
+        c8[(\trill  b)] b4 r2 |
+       d2( ~   d8[ e16 d]  c8[  b)] |
+        b[( a)] a4 r8  a[ a a]
+       a4( cis e  g)
+       \grace {
+  \override Stem  #'stroke-style = #"grace"
+   \longgrace g16( \endlonggrace 
+  \revert Stem #'stroke-style }
+
+        fis8[)( e16  d)] d4-. r2 | 
+       \mark "B"
+       R1*3
+       r2 r4  d8[(_\markup { \italic \bold "con espressione" } b) ]
+        a[(  g) d'(  b)]  a[(  g) e'(  c) ]
+        b8[(  a)] a4 r4  a8[ a]
+        a[( \< b c cis\!\> ]  d4  c\!)
+        ais8[( b)] r8 \cresc b  b[( c)] r c
+        cis[ ( d)] r4 r2
+       \endcresc g,1\f ~ g2 ~  g8[ a16 b]  c[( d) e c]
+       %% 64
+       f4-. d-. b-. g-.
+       R1
+
+       c,2\p e4 g c \cresc e g4. e8 |
+       \endcresc d4.\f  e16[ fis]  g[ ( fis) e d]  c[( b) a g]
+
+       << a1(\trill
+         { s2 \grace {
+  \override Stem   #'stroke-style = #"grace"
+    g16[ a] 
+  \revert Stem #'stroke-style }
+ } >>
+       \mark "C"
+        g4) r r2
+       R1*15
+       \mark "D"
+       bes2\mf d4 f
+       g,2~  g8[ g' es c]|
+       bes4(  a4.)  c8[( d  es)]
+       cis4( d) r8  bes[ (c  d)]
+       es2 ( d4) r
+       es2 ( d4) r
+        c8[( g' es  c)] bes4( c)
+       c4.( cis8  d4) r
+       R1*2
+       es1~es1|
+       e!
+       d
+       c
+       c,
+       e'
+       e,
+       c'2  b8[( a gis  a)]
+        gis8[ e gis b ] e4 r |
+       r8  e,[ a c] dis4 r
+        r8  e,[ gis b ] e4 r
+       r8  e,[ a c] dis4 r
+       r8  e,[ g b] e4 r
+       r8  fis,[ b dis] fis4 r
+       r8  gis,[ b d] f4 r
+       r8  g,[ b d_\ritenuto ] f4 r
+       \mark  "E"
+       R1*8
+       r2 r8  g,[ g g]
+       e'4.( c8)  f[( d c  b)]
+        b[( c)] g4 r8  g[ c e] |
+       g2.   g16[( f e  f)]
+       dis4( e) r8  c[-. c-. c-.]
+       c4.(  d16[ e] f4  e)
+       a, ( d g,  c)
+       d d 
+           \grace {
+  \override Stem   #'stroke-style = #"grace"
+   e8( 
+  \revert Stem #'stroke-style }
+
+          d8.[) c16 d8. e16] 
+       c4 r r2
+       \mark "F"
+       R1*3
+       c,2~ c8[ e g c]
+        c8[( b)] b4 r2
+        c,8[ e g c ]  e[ ( g) e c]
+        c[( b)] b4 r2
+       c2 (bes  a)  a8[(b c  cis)]
+       d2( ~  d8[ e16 d] \grace {
+  \override Stem   #'stroke-style = #"grace"
+   \longgrace d16( \endlonggrace 
+  \revert Stem #'stroke-style }
+
+%% todo: should insert grace slur here.
+        c8[ b16  c)]
+       \grace {
+  \override Stem   #'stroke-style = #"grace"
+   \longgrace c16 \endlonggrace 
+  \revert Stem #'stroke-style }
+ b8[( a16  g)] g4 r2 |
+       R1*3
+       r2 r4  g'8[( e)]
+       \mark "G"
+        d[( c) g'( e)]  d[( c) a'( f)]
+        e[( d)] d4 r  d8[ d]
+       d4(~  d16[ e d  e)]  g8[( f) e d] |
+       c4 r r2
+       R1
+       c1 ~
+       c |
+        c8[-. c-.] r c-.  cis[( d)] r\cresc d-. |
+        dis[( e)] r e-.  e[( f)] r f-. |
+       g4-.\f\endcresc  e-. c-. bes-. |
+       g-.\ff e-. c-. r |
+       a'2 ~  a8[_""_\markup { \bold \italic "sempre " \dynamic "f" }  b16 c]  d[( e d  e)]
+
+       
+       f4. ( d8)  f8[ ( d) f d]
+        c[ (e]  g2) \grace {
+  \override Stem   #'stroke-style = #"grace"
+   \longgrace f16(  \endlonggrace 
+  \revert Stem #'stroke-style }
+  e8[)( d16  c)]
+
+       << d1\trill _(
+         { s2 \grace {
+  \override Stem   #'stroke-style = #"grace"
+    c16[ d] 
+  \revert Stem #'stroke-style }
+ } >>
+       
+        c4) r r2
+       R1 |
+       \mark "H"
+       \times 2/3 {  c8[ b a ] } \times 2/3 {  g[ a b] }
+         \times 2/3 {  c[ d e] } \times 2/3 {  f[ e d] } |
+       \times 2/3 {  c[ b a ] } \times 2/3 {  g[ a b] }
+         \times 2/3 {  c[ d e] } \times 2/3 {  f[ e d] }|
+       c4 \times 2/3 {  r8  g'[( e)]} c4 \times 2/3 {  r8  e[ ( c)]} |
+       g4 \times 2/3 {  r8  c8[( g)] } \times 2/3 {  e[ ( g) e-. ] } \times 2/3 {  c[ ( e) c-.] }|
+       g4 r8 g'\f  a[ b c d]|
+
+       << d1_(\trill
+         { s2 \grace {
+  \override Stem   #'stroke-style = #"grace"
+    c16[ d] 
+  \revert Stem #'stroke-style }
+ }  >>
+        c4) r r2
+       R1*3
+
+       c4.^\fermata_"Cadenza ad lib." ( d8) d4.\trill^\fermata (  c16[  d)] 
+       c4 r r2
+       R1*8
+       r4  c8.[^"tutti"\f c16] c4 c
+       c  c,8.[ c16] c4 c|
+       c2 r2 \bar "|."
+       
+}
+
diff --git a/input/regression/mozart-hrn3-defs.ily b/input/regression/mozart-hrn3-defs.ily
new file mode 100644 (file)
index 0000000..c234ffd
--- /dev/null
@@ -0,0 +1,51 @@
+% 
+
+longgrace = \override Stem  #'stroke-style = #'()
+endlonggrace = \revert Stem #'stroke-style
+ritenuto = \markup { \italic  "rit." }
+
+\version "2.11.61"
+  
+cresc =  {
+    #(ly:export (make-event-chord (list (make-span-event 'CrescendoEvent START)))) 
+    \set crescendoText =  \markup { \italic \bold "cresc." }
+    \set crescendoSpanner =  #'text
+}
+
+\layout {
+    \context {
+        \Score
+        skipBars = ##t
+        midiInstrument = #"french horn"
+        %% try to mimic Breitkopf
+        \override RehearsalMark #'padding = #1
+        \override MultiMeasureRest #'padding = #0.5
+        restNumberThreshold = #1
+
+       \override RehearsalMark #'font-series = #'bold
+       \override RehearsalMark #'font-size = #4.5
+
+        \override Beam #'thickness = #0.6
+        \override Beam #'space-function = #(lambda (beam mult) 0.8)
+    }
+    \context {
+        \Staff
+        \override VerticalAxisGroup #'minimum-Y-extent = #'(-2.5 . 3.5)
+    }
+}
+
+\paper{
+
+    % #(define fonts my-sheet)
+
+    % stress page breaking on a6 paper:
+    % line-width = 80 \mm
+    % paper-width = 105 \mm
+    % paper-height = 149 \mm
+    
+    indent = 10. \mm
+    line-width = 189. \mm
+    ragged-last-bottom = ##f
+
+}
+
diff --git a/input/regression/mozart-hrn3-romanze.ily b/input/regression/mozart-hrn3-romanze.ily
new file mode 100644 (file)
index 0000000..cca5e18
--- /dev/null
@@ -0,0 +1,88 @@
+\version "2.11.61"
+\include  "mozart-hrn3-defs.ily"
+
+romanze =  \relative c' {
+       \key f \major
+       \time 2/2
+       \set Score.skipBars =  ##t
+
+       c'4.( _\markup { \dynamic "p" \italic { "" con molto espressione } }
+                f8) a,4 a
+        bes8[( c d bes]  g4) r8 g
+       a r bes r c r  d[( bes)]
+       a2(  g8[) a( bes  b)]
+       c4. ( f8) a,4 a |
+       % 6 
+        bes8[ (c d bes)] g4 r8 c,
+        c8[( e g  bes)]  a[( c f  d)]
+       c r e r f r r4
+       \mark "A"
+       R1*8
+       g4.\mf f8   e[ d c bes]
+       % 18
+        bes[( a d  c)] c4 r
+       R1*2
+       g'4. f8  e[ d c bes]
+        bes[ (a d  c)] c4 r
+       R1
+       % 25
+        c16[ ( d c  d)]  e[ ( f e  f)]  g[( e) c-. c-.]  f[( d) b-. b-.]
+        c16[\p ( d c  d)]  e[ ( f e  f)]  g[( e) c-. c-.]  f[( d) b-. b-.]
+        c8[ \< c, c c]  c[ c c c\!]
+       \mark "B"
+       c1\f
+       R1*9
+       f'4.(\p  d8) b4 r8 g
+       g'4.( e8) c4 r8 cis |
+       % 39
+       d4(~  d16[ e d  e)]  f8[ ( d) f( d)]
+       c2( b4) r
+       R1*4
+       e4. ( g8) c,4 ( cis)
+        d8[( e f  d)] b4 r8 g
+        c[ ( e) g g]  g[( f e  d)]
+       c4(
+       \grace {
+  \override Stem   #'stroke-style = #"grace"
+   \longgrace e16 \endlonggrace 
+  \revert Stem #'stroke-style }
+
+        d8.[  c16) \< ]  c8[ c-.( c-. c)-.]\!
+       \mark "C"
+
+       %% this is a trick to get the sfp-s to align. 
+       \override Hairpin   #'transparent = ##t
+       des1\sfp \> 
+       g,1\sfp\!  \> 
+       c\sfp \!   \> 
+       c,\sfp\!
+       \revert Hairpin #'transparent 
+       R1*3
+       r8  c[\p c c] c2~
+        c8[ c' c c] c2~
+        c8[ \< e( g f]  e[  d\!\> c bes]
+       \mark "D"
+       a4\!) r r2
+       R1*3
+       c4.\p ( f8) a,4 a |
+        bes8[ (c d bes)] g4 r8 c,
+        c8[( e g  bes)]  a[( c f  d)]
+       c r e r f4 r4
+       R1*3
+       r2 r4 r8 c,8
+        c8[( e g  bes)]  a[( c f  d)]
+       c r e r f4 r4   
+       g,1
+       c,2 c4. c8
+        c8[( e g  bes)]  a[( c f  d)]
+       c r e r f4 r4                   % -. ? 
+
+       R1
+       c8-.   r e-. r f4 r4
+
+       % Finish with F if played separately 
+       c8-.(   r c,-. r  c4) r4| 
+       \bar "|."
+}
+
+
diff --git a/input/regression/mozart-hrn3-rondo.ily b/input/regression/mozart-hrn3-rondo.ily
new file mode 100644 (file)
index 0000000..02c0493
--- /dev/null
@@ -0,0 +1,195 @@
+\version "2.11.61"
+
+% \include "mozart-hrn3-defs.ily"
+
+rondotheme =  \relative c' {
+        c'8[ c c]  c[ c c]
+       c4( cis8  d) r g,
+        d'8[ d d]  d[ d d]
+       d4( dis8  e) r c |
+        c[( d) e]  f[ g a]
+        g[ ( e) c] c4 d8
+       e4( d8) e4( f8)
+       e4.( d8) r r |
+}
+
+lipbreaker =  \relative c'
+{
+       r8  g'[-. g-.]  c[( e) g,-.]
+        c[( e) g,-.]  c[( e) g,-.]
+        c[ c, c]  c[ c c]
+        c[ c c]  c[ c c]
+}
+
+rightsixteenth = { \set stemLeftBeamCount =  1
+  \set stemRightBeamCount =  2 }
+leftsixteenth = { \set stemLeftBeamCount =  2
+  \set stemRightBeamCount =  1 }
+bothsixteenth = { \set stemLeftBeamCount =  2
+  \set stemRightBeamCount =  2 }
+
+rondo =        \relative c'
+{
+       \partial 8
+       \time 6/8
+       \key c \major
+       
+       g'8\p |
+       
+       \rondotheme
+       
+       R2.*13 |
+       r8 r^\fermata d'  d[ e f]
+        g[ ( e) c-.]  d[( e) d-.]
+       c4 c8  d[ e f]
+        g[( e) c-.]  d[( e) d-.]
+       c4 r8 r4 r8 |
+       R2.*7
+       \mark  "A"
+       c4.\p \grace {
+  \override Stem   #'stroke-style = #"grace"
+   e16( 
+  \revert Stem #'stroke-style }
+  d8[) c d]
+       c4 r8 r4 r8
+       e4. \grace {
+  \override Stem   #'stroke-style = #"grace"
+   g16( 
+  \revert Stem #'stroke-style }
+  f8[) e f]
+       e4 r8 r4 r8
+       g4. e4 c8
+       g2.~
+        g8[ a b]  c[ d e ]
+       e4.( d8) r r
+       R2.*4
+       e2.~ |
+        e8[ d c]  c[ b a]
+       d2.~
+        d8[ c b]  b[ a g]
+       g'4( e8) b4( cis8)
+       \mark "B"
+       d4 r8 r4 r8
+       R2.*3 |
+       r8  d[-. d-.]  d[( g) d-.]
+        d[( g) d-.]  d[ d d]
+        d[( g)] r r4 r8
+       R2.*1
+       \lipbreaker
+       c,,4 r8  c'[ d e]
+       d4( g8)  c,[ d e]
+       d4 r8 r4 r8
+       R2. |
+       r4 r8  c[-. d-. e-.]
+       d4( g8)  c,[ d e]
+        d[( g) fis]  e[ d c]
+        b[ ( e) d]  c[ b a]
+       \mark "C"
+       g4 r8 r4 r8
+       R2. |
+       %
+       r8  g[\f g]  g[(  b) b-.]
+        b[( d) d-.]  d[( g) g-.]
+       g2.~
+        g8[ \> a g]  f[ e d]
+       << \rondotheme
+         { s8\!\p } >>
+         
+       R2.*12
+       r4 r8 r4 c8
+       \mark "D"
+       c4 f8 c4 a8
+       a4.~a4 a8
+       bes4 c8 d4 bes8
+       g4. ~ g8 r r
+       R2.*3
+       r4 r8 r4 c8
+       a4. c
+       f ~  f8.[ \rightsixteenth e16(  \bothsixteenth d  c)]
+       bes4 g8 e4 g8
+       c,4. ~ c8 r r
+       R2.*3| 
+       r4 r8 r4 c'8
+       b4( c8) b4( c8)
+       bes4. ~ bes4 g8
+       a4 ( c8) f4 ( b,8)
+       d4. ( c8) r r
+       R2.*3| 
+       r4 r8 r4 c8
+       b4( c8) b4( c8)
+       bes4. ~ bes4 g8
+       a4 c8  f[ ( d) b!]
+       d4. ( c8) r r
+       \mark "E"
+       R2.*9  |
+       \lipbreaker 
+       c,8[ c' c] c4.~
+       c8[ c d]  e[ e fis] 
+       g4 r8 r4 r8
+       R2.
+       r8  g,[ g]  g[ g g] |
+       es'4. ~  es8[ d c]
+       b4 r8 r4 r8
+       R2. |
+       r8  g[ g]  g[ g g]
+       es'4. ~  es8[ d c]
+       \cresc b4.  c4. d4. e4.
+       \mark "F"
+       \endcresc
+       
+       f2.\f ~ |
+       f4 r8 r4 r8
+       r8  g,[\> g]  g[ g g]
+       
+       % Edition breitkopf says a-flat (silly!)
+        fis[  g gis] 
+                 a[ bes b]\!
+
+       %% EB does the slur in the Rondo differently from the 1st adn 2nd time.
+       %% why. Should check with MS.
+       << \rondotheme
+         { s8\p } >>
+       R2.*7
+       \mark "G"
+       R2.*4
+       c,4.\mf c4 c8
+       c4. e4 c8
+       g'4. g4 g8
+       g4. g,4 g8
+       c4 r8 r4 r8
+       r4 r8 r4 g'8
+        c[ ( e) g,-.]   c[ ( e) g,-.]
+        c[ ( e) g,-.]   c[ ( e) g,-.]
+       \mark "H"
+       \cresc g'2.  bes,2.
+       a4.  b16[ c d e f g]
+       a4. f4 d8
+       \endcresc c8[\f g' e]  c[ g e]
+        c[ e' c]   g[ e c]
+       g4 r8  g''8[ e c]
+
+       
+       << d2._(\trill
+         { s2  \grace {
+  \override Stem   #'stroke-style = #"grace"
+     c16[ d] 
+  \revert Stem #'stroke-style }
+ } >>
+       
+       
+        c4) r8 r4 r8
+       R2.*5
+       r8 r8^\fermata d8\p  d[ e f]
+        g[ ( e) c]  d[( e) d]
+       \cresc  c[  c c]  d[ e f]
+        g[( e) c]  d[( e) d]
+       \endcresc c4\f  r8 r4 r8
+       R2.*5
+        c8[\f c, c]  c[ c c]
+       c4 r8 c4 r8
+
+       % This is technically incorrect, since we started with an 8th
+       % note pickup, but both eulenburg and EB do this as well.
+       c4 r8 r4 r8 \bar "|."           
+}
+