]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/regression-test.tely
release: 1.3.92
[lilypond.git] / Documentation / regression-test.tely
index 82025c42ef5624938f64fd9914238112508ff2a4..5d9ca9f1978bd9f8b31c54e26a52ce8d6a102095 100644 (file)
@@ -8,15 +8,21 @@
 @title LilyPond Regression test
 @end ignore
 
-@node Top, , ,
+@node Top, , , (dir)
 
 @section Introduction
 
-This document tries give an brief overview of LilyPond features.  When
+This document tries give a brief overview of LilyPond features.  When
 the text correspond with the shown notation, we consider LilyPond
 Officially BugFree (tm).  This document is intended for finding bugs,
 and documenting bugfixes.
 
+[TODO: revise and completize this. ]
+
+[TODO: should generate out of header fields using ly2dvi?]
+
+
+
 @section Notes and rests
 
 Rests.  Note that the dot of 8th, 16th and 32nd rests rest should be
@@ -43,11 +49,17 @@ a column.  The dots go along as rests are shifted to avoid collisions.
 
 @mudelafile{dots.ly}
 
+Accidentals work: the second note does not get a sharp. The third and
+fourth show forced and courtesy accidentals
+
+@mudelafile{accidental.ly}
+
 Multiple measure rests do not collide with barlines and clefs.  They
 are not expanded when you set @code{Score.skipBars}.  Although the
 multi-measure-rest is a Spanner, minimum distances are set to keep it
 colliding from barlines. 
 
+
 @mudelafile{multi-measure-rest.ly}
 
 If @code{Score.skipBars} is set,
@@ -61,7 +73,7 @@ A sharp sign after a double sharp sign, as well as a flat sign
 after a double flat sign is automatically prepended with a
 natural sign.
 
-@mudelafile{double-single-acc.ly}
+@mudelafile{accidental-single-double.ly}
 
 @section Stems
 
@@ -101,6 +113,11 @@ not be on staff lines.
 
 @mudelafile{staccato-pos.ly}
 
+Dynamics appear below or above the staff.  If multiple dynamics are
+linked with (de)crescendi, they should be on the same line.
+
+@mudelafile{dyn-line.ly}
+
 @section Chord names
 
 Chord names are generated from a list pitches, and are customisable
@@ -125,7 +142,6 @@ not set.  Main note scripts don't end up on the grace note.
 
 @mudelafile{grace.ly}
 
-
 @section Beams, slurs and other spanners
 
 Beaming is generated automatically. Beams may cross bar lines. In that
@@ -147,11 +163,20 @@ Override with @code{noStemExtend}.
 @mudelafile{beam-position.ly}
 
 Slurs should look nice and symmetric.  The curvature may increase
-only to avoid noteheads, and as little as possible.
+only to avoid noteheads, and as little as possible.  Slurs never
+run through noteheads or stems.
 
+@mudelafile{slur-nice.ly}
 @mudelafile{slur-symmetry.ly}
 @mudelafile{slur-symmetry-1.ly}
 
+Across line breaks, slurs behave nicely.  On the left, they extend to
+just after the preferatory matter, and on the right to the end of the
+staff.  A slur should follow the same vertical direction it would have
+in unbroken state.
+
+@mudelafile{slur-broken-trend.ly}
+
 Ties are strictly horizontal.  They are placed in between note heads.
 The horizontal middle should not overlap with a staffline.
 
@@ -222,6 +247,16 @@ Folded.  This doesn't make sense without alternatives, but it works.
 
 @mudelafile{repeat-fold.ly}
 
+Across linebreaks, the left edge of a first and second alternative
+bracket should be equal
+
+@mudelafile{repeat-line-break.ly}
+
+Auto change piano staff switches  voices  between up and down staffs
+automatically; rests are switched along with the coming note.
+
+@mudelafile{auto-change.ly}
+
 @section Lyrics
 
 Lyrics can be set to a melody automatically.  Excess lyrics will be
@@ -236,6 +271,10 @@ to work.
 
 @mudelafile{lyric-combine.ly}
 
+Multiple stanzas
+
+@mudelafile{lyrics-multi-stanza.ly}
+
 @section Multiple notes
 
 Rests should not collide with beams, stems and noteheads.  Rests may
@@ -270,7 +309,6 @@ between note and accidentals is less than between the notes with the
 same value.  Clef changes also get extra space, but not as much as
 barlines.
 
-
 Even if a line is very tightly spaced, there will still be room
 between prefatory matter and the following notes.  The space after the
 prefatory is very rigid.  In contrast, the space before the barline
@@ -293,6 +331,18 @@ lyrics don't collide with barlines.
 
 @mudelafile{lyrics-bar.ly}
 
+Text is set with empty horizontal dimensions.  The boolean property
+textNonEmpty is used to respect the horizontal size of text.
+
+@mudelafile{non-empty-text.ly}
+
+
+
+
+@section PianoStaff
+
+
+
 @section Global stuff
 
 Breaks can be encouraged and discouraged using @code{\break} and
@@ -300,7 +350,6 @@ Breaks can be encouraged and discouraged using @code{\break} and
 
 @mudelafile{break.ly}
 
-
 Markings that are attached to (invisible) barlines are 
 delicate: the are attached to the rest of the score without the score
 knowing it.  Consequently, they fall over  often.
@@ -321,21 +370,35 @@ two measures all have the same distance from each other:
 
 @mudelafile{breathing-sign.ly}
 
+Hara kiri staffs kill themselves if they are empty.  This example really
+contains two staffs, but the second contains only spaces, and is
+therefore removed. 
+
+@mudelafile{hara-kiri-short.ly}
+
+In orchestral scores and hymns, voices are traditionally combined onto
+one staff.  LilyPond has a part combiner, that combines or separates two
+voices according to actual rhythm and pitch.  User-defined texts such as
+``solo'' and ``@`a2'' are typeset automagically, as appropriate.
+
+@mudelafile{part-combine.ly}
+
+
 Fonts are  available in a default set of sizes: 11, 13, 16, 20, 23 and
 26pt staffheight.  Sizes of the text fonts and symbol fonts are made
 to match the staff dimensions.    
 
-@mudelafile[nofly]{size11.ly}
+@mudelafile[nonfragment]{size11.ly}
 
-@mudelafile[nofly]{size13.ly}
+@mudelafile[nonfragment]{size13.ly}
 
-@mudelafile[nofly]{size16.ly}
+@mudelafile[nonfragment]{size16.ly}
 
-@mudelafile[nofly]{size20.ly}
+@mudelafile[nonfragment]{size20.ly}
 
-@mudelafile[nofly]{size23.ly}
+@mudelafile[nonfragment]{size23.ly}
 
-@mudelafile[nofly]{size26.ly}
+@mudelafile[nonfragment]{size26.ly}
 
 
 @section Clefs and Time Signatures
@@ -348,8 +411,20 @@ way, so this is fragile as well.
 
 @mudelafile{clefs.ly}
 
+
+Key signatures appear on key  changes. They may also
+appear without barlines.  The restoration accidentals are not printed at
+the start of the line. If @code{createKeyOnClefChange} is set, they're
+also created on a clef change.
+
+@mudelafile{keys.ly}
+
+
+
+
 @ignore
 @c the input file is too long and does not test for specific bugs
+
 By default, time signatures are written with two numbers. With style
 ``C'', 4/4 and 2/2 are written with their corresponding symbols and
 with style ``old'', 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and
@@ -360,4 +435,18 @@ signatures.
 \mu delafile{time.ly}
 @end ignore
 
+
+
+@section Hacks and Features
+
+As a last resort, the placement of items can be adjusted manually, by
+setting the @code{extra-offset} of an output object.
+
+@mudelafile{generic-output-property.ly}
+
+The same mechanism can be  used  to force pagebreaks.
+
+@mudelafile{between-systems.ly}
+
 @bye
+