summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Percival <graham@percival-music.ca>2010-01-10 13:54:13 +0000
committerGraham Percival <graham@percival-music.ca>2010-01-10 15:53:49 +0000
commit6e9f6d75e2b1ffa9b69fe1ea0f8f034afa8a0598 (patch)
tree86623a96a45c68e84ac04d51c8b79d80c9e5377f
parent54ef49768776f686e5ea452acd49e02ef8715279 (diff)
Reinstate delete files and put them in regression.
-rw-r--r--input/regression/baerenreiter-sarabande.ly202
-rw-r--r--input/regression/les-nereides.ly270
-rw-r--r--input/regression/morgenlied.ly192
-rw-r--r--input/regression/mozart-hrn-3.ly106
-rw-r--r--input/regression/mozart-hrn3-allegro.ily198
-rw-r--r--input/regression/mozart-hrn3-defs.ily51
-rw-r--r--input/regression/mozart-hrn3-romanze.ily88
-rw-r--r--input/regression/mozart-hrn3-rondo.ily195
8 files changed, 1302 insertions, 0 deletions
diff --git a/input/regression/baerenreiter-sarabande.ly b/input/regression/baerenreiter-sarabande.ly
new file mode 100644
index 0000000000..7012fe762f
--- /dev/null
+++ b/input/regression/baerenreiter-sarabande.ly
@@ -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
index 0000000000..53866b4780
--- /dev/null
+++ b/input/regression/les-nereides.ly
@@ -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
index 0000000000..b7941a4f55
--- /dev/null
+++ b/input/regression/morgenlied.ly
@@ -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
index 0000000000..4e983cebb5
--- /dev/null
+++ b/input/regression/mozart-hrn-3.ly
@@ -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
index 0000000000..d788aeecbc
--- /dev/null
+++ b/input/regression/mozart-hrn3-allegro.ily
@@ -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
index 0000000000..c234ffd3d5
--- /dev/null
+++ b/input/regression/mozart-hrn3-defs.ily
@@ -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
index 0000000000..cca5e1885c
--- /dev/null
+++ b/input/regression/mozart-hrn3-romanze.ily
@@ -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
index 0000000000..02c0493b0f
--- /dev/null
+++ b/input/regression/mozart-hrn3-rondo.ily
@@ -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 "|."
+}
+