]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/tex/lilypond-regtest.doc
release: 1.1.67
[lilypond.git] / Documentation / tex / lilypond-regtest.doc
index 4ba4489be80771a884f320c02fbe774fc3893493..3154acf42b82b9487c032ab93c56addcf3af6c6d 100644 (file)
@@ -1,4 +1,4 @@
-% -*-LaTeX-*-
+% -*-LaTeX-*-  vim:tw=72
 \documentclass{article}
 
 \title{LilyPond feature test}
@@ -6,9 +6,10 @@
 \begin{document}
 \maketitle
 
-This document tries give an brief overview of LilyPond features. When
+This document tries give an brief overview of LilyPond features.  When
 the text correspond with the shown notation, we consider LilyPond
-Officially BugFree (tm).
+Officially BugFree (tm).  This document is intended for finding bugs,
+and documenting bugfixes.
 
 \section{Notes and rests} 
 
@@ -24,8 +25,19 @@ you must create a special context called Thread.
 
 \mudelafile{noteheadstyle.ly}
 
+Noteheads can have dots, and ---although this is bad style in duple
+meters--- rests can too.  Augmentation dots should never be printed on
+a staff line, but rather be shifted vertically. They should go up, but
+in case of multiple parts, the down stems have down shifted dots.
+(Wanske p. 186) In case of chords, all dots should be in a column.
+The dots go along as rests are shifted to avoid collisions.
+
+\mudelafile{dots.fly}
+
 Multiple measure rests do not collide with barlines and clefs.  They
-are not expanded when you set Score.SkipBars
+are not expanded when you set \verb+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}
 
@@ -38,18 +50,45 @@ tremolo must be parallel to the beam.  If the stem is invisible
 
 \mudelafile{stem-tremolo.ly}
 
+Chord tremolos look like beams, but are a kind of repeat symbol.
+To avoid confusion, chord tremolo beams do not reach the stems, but 
+leave a gap.  Chord tremolo beams on half notes are not ambiguous,
+as half notes cannot appear in a regular beam, and should reach the 
+stems.
+  
+\mudelafile{chord-tremolo.sly}
+
 Beams, stems and noteheads often have communication troubles, since
 the two systems for y dimensions (1 unit = staffspace, 1 unit = 1
 point) are mixed.
 
-\section{Grace notes}
+Stems, beams, ties and slurs should behave similarly, when placed
+on the middle staff line. Of course stem-direction is down for high
+notes, and up for low notes.
 
-Grace notes are typeset as an encapsulated piece of music. You can
-have beams, notes, chords, stems etc. within a \verb|\grace|
-section. Slurs that start within a grace section, but aren't ended are
-attached to the next normal note.  Grace notes have zero duration 
+\mudelafile{stem-direction.sly}
+
+Similarly, if \verb+stem_default_neutral_direction+ is set to \verb+-1+.
 
+\mudelafile{stem-direction-down.ly}
+
+\section{Scripts}
+
+The staccato dot (and all scripts with follow-into-staff set), must
+not be on staff lines.
+
+\mudelafile{staccato-pos.sly}
+
+\section{Grace notes}
 
+Grace notes are typeset as an encapsulated piece of music. You can
+have beams, notes, chords, stems etc. within a \verb|\grace| section.
+Slurs that start within a grace section, but aren't ended are attached
+to the next normal note.  Grace notes have zero duration.  If there
+are tuplets, the grace notes won't be under the brace.  Grace notes
+can have accidentals, but they are (currently) spaced at a fixed
+distance.  Grace notes (of course) come before the accidentals of the
+main note.  Grace notes can also be positioned after the main note.
 
 \mudelafile{grace.ly}
 
@@ -62,10 +101,27 @@ hidden just as with breakable bar lines.
 
 \mudelafile{beaming.ly}
 
-%Beams should not interfere with various items on the staff (amongst
-%others repeat signs)
-%
-% \mud elafile{beam-repeat.ly}
+Beams should behave reasonably well, even under extreme circumstances.
+Stems may be short, but noteheads should never touch the beam.
+
+\mudelafile{beam-extreme.ly}
+
+Beams should always reach the middle staff line, the second beam
+counting from the note head side, should never be lower than the
+second staff line.  This does not hold for grace note beams.
+
+\mudelafile{beam-position.sly}
+
+Slurs should look nice and symmetric.  The curvature may increase
+only to avoid noteheads, and as little as possible.
+
+\mudelafile{slur-symmetry.ly}
+\mudelafile{slur-symmetry-1.ly}
+
+Ties are strictly horizontal.  They are placed in between note heads.
+The horizontal middle should not overlap with a staffline.
+
+\mudelafile{tie.ly}
 
 Beams can be typeset over fixed distance aligned staffs, beam
 beautification doesn't really work, but knees do. Beams should be
@@ -101,6 +157,7 @@ Unfolded behavior:
 \mudelafile{repeat-unfold.ly}
 
 Semi (un)folded behavior.  Voltas can start on non-barline moments.
+If they don't barlines should still be shown.
 
 \mudelafile{repeat-semifold.ly}
 
@@ -108,6 +165,20 @@ Folded.  This doesn't make sense without alternatives, but it works.
 
 \mudelafile{repeat-fold.ly}
 
+\section{Lyrics}
+
+Lyrics can be set to a melody automatically.  Excess lyrics will be
+dumped.  Lyrics will not be set over rests.  You can have melismata
+either by setting a property melismaBusy, or by setting
+automaticMelismas (which will set melismas during slurs and ties).  If
+you want a different order than first Music, then Lyrics, you must
+precook a chord of staffs/lyrics and label those.  Of course
+\verb+\rhythm+ ignores any other rhythms in the piece.  Hyphens and
+extenders do not assume anything about lyric lengths, so they continue
+to work.
+
+\mudelafile{lyric-combine.ly}
+
 \section{Multiple notes}
 
 Rests should not collide with beams, stems and noteheads.  Rests may
@@ -118,13 +189,15 @@ cases.
 
 \mudelafile{rest-collision.ly}
 
-Normal collisions. We have support for four voice polyphony, where the
-middle voices are horizontally shifted in a limited number of cases.
+Normal collisions. We have support for polyphony, where the
+middle voices are horizontally shifted.
 
 \mudelafile{collisions.ly}
 
 The number of stafflines of a staff can be set with the property
-numberOfStaffLines.  Ledger lines both on note heads and rests are adjusted.
+numberOfStaffLines.  Ledger lines both on note heads and rests are
+adjusted.  Barlines also are adjusted.
+
 
 \mudelafile{number-staff-lines.fly}
 
@@ -135,6 +208,30 @@ effects.  In this example, space for opposite pointed stems is adjusted
 
 \mudelafile{stem-spacing.sly}
 
+If there are accidentals in the music, we add space, but the space
+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
+must stretch like the space within the measure.
+
+Tight:
+
+\mudelafile{spacing-tight.ly}
+
+Natural:
+
+\mudelafile{spacing-natural.ly}
+
+Loose:
+
+\mudelafile{spacing-loose.ly}
+
+
 \section{Global stuff}
 
 Markings that are attached to (invisible) barlines are 
@@ -144,9 +241,8 @@ knowing it.  Consequently, they fall over  often.
 \mudelafile{bar-scripts.ly}
 
 Staff margins are also markings attached to barlines.  They should be
-left otf the staff, and be centered vertically wrt the staff.  They
-may be on normal staffs, but also on compound staffs, like the
-PianoStaff
+left of the staff, and be centered vertically wrt the staff.  They may
+be on normal staffs, but also on compound staffs, like the PianoStaff
 
 \mudelafile{staff-margin.ly}
 
@@ -158,23 +254,41 @@ two measures all have the same distance from each other:
 
 \mudelafile{breathing-sign.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{size11.ly}
+
+\mudelafile{size13.ly}
+
+\mudelafile{size16.ly}
+
+\mudelafile{size20.ly}
+
+\mudelafile{size23.ly}
+
+\mudelafile{size26.ly}
+
 
 \section{Clefs and Time Signatures}
 
 The transparent clef should not occupy any space and with style
 \texttt{fullSizeChanges}, the changing clef should be typeset in full
 size. For octaviated clefs, the ``8'' should appear closely above or
-below the clef respectively.  The ``8'' is processed in a rather
-convoluted way, so this is fragile as well.
+below the clef respectively.  The ``8'' is processed in a convoluted
+way, so this is fragile as well.
 
 \mudelafile{clefs.ly}
 
+\def\bla#1{%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, 3/4, 4/4, 6/4, 9/4, 6/8 and 9/8 are
-typeset with symbols, all other signatures retain the default layout.
-The style ``1'', gives single number signatures for all signatures.
-
-\mudelafile{time.fly}
-
+with style ``old'', 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and
+9/8 are typeset with symbols, all other signatures retain the default
+layout. The style ``1'', gives single number signatures for all
+signatures. 
+%
+\mu delafile{time.fly}
+}
 \end{document}