@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
@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,
after a double flat sign is automatically prepended with a
natural sign.
-@mudelafile{double-single-acc.ly}
+@mudelafile{accidental-single-double.ly}
@section Stems
@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
@mudelafile{grace.ly}
-
@section Beams, slurs and other spanners
Beaming is generated automatically. Beams may cross bar lines. In that
@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.
@mudelafile{repeat-fold.ly}
-Across linebreaks, first and second bracket should be equal
+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
@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
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
@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
@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.
@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
@mudelafile{keys.ly}
+
+
+
@ignore
@c the input file is too long and does not test for specific bugs
@section Hacks and Features
-As a last resort, the placement of items can be adjusted manually.
+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