ebook img

LilyPond Regression Tests PDF

429 Pages·2014·23.2 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview LilyPond Regression Tests

LilyPond Regression Tests Introduction This document presents proofs for LilyPond 2.18.2. When the text corresponds with the shown notation, we consider LilyPond Officially BugFree (tm). This document is intended for finding bugs and for documenting bugfixes. In the web version of this document, you can click on the file name or figure for each example to see the corresponding input file. TODO: order of tests (file names!), test only one feature per test. Smaller and neater tests. Regression test cases Accidentals are available in different ancient styles, which all are collected here. ‘accidental-ancient.ly’ default hufnagelmedicaeavaticanamensural 3 (cid:8)(cid:0) (cid:5)(cid:0) (cid:6)(cid:0) N(cid:0) (cid:1)(cid:0) (cid:9)(cid:0) N(cid:0) (cid:1)(cid:0) (cid:2)(cid:0) N(cid:0) (cid:1)(cid:0) (cid:4)(cid:0) N(cid:0) (cid:1)(cid:0) (cid:3)(cid:0) (cid:7) 4 When a tie is broken, the spacing engine must consider the accidental after the line break. The second and third lines should have the same note spacing. ‘accidental-broken-tie-spacing.ly’ (cid:1) ™ (cid:1) (cid:2) (cid:0) 2 (cid:3) Õ(cid:1) (cid:1) (cid:3) (cid:0) (cid:2) 3 (cid:3) Õ(cid:1) (cid:1) (cid:3) (cid:0) (cid:2) Cautionary accidentals may be indicated using either parentheses (default) or smaller acci- dentals. ‘accidental-cautionary.ly’ (cid:4) (cid:2) (cid:0)(cid:1),(cid:2)=(cid:2) (cid:0)(cid:1),(cid:2) (cid:3) Accidentals are invalidated at clef changes. ‘accidental-clef-change.ly’ (cid:2) (cid:1) (cid:2)(cid:25) (cid:1)(cid:1) (cid:2) (cid:0) (cid:3) (cid:4) (cid:25)(cid:1) (cid:2)(cid:1)(cid:2)(cid:1) accidentals avoid stems of other notes too. ‘accidental-collision.ly’ (cid:2) (cid:0) £ (cid:2) (cid:1) Several automatic accidental rules aim to reproduce contemporary music notation practices: • ’dodecaphonic style prints accidentals on every note (including naturals) • ’neo-modern style prints accidentals on every note (not including naturals), except when a note is immediately repeated • ’neo-modern-cautionary style acts like neo-modern, adding cautionary parentheses around accidentals. • ’teaching prints accidentals normally, but adds cautionary accidentals when an accidental is already included in the key signature. Both scores should show the same accidentals. ‘accidental-contemporary.ly’ (cid:1)å(cid:0)å (cid:0) (cid:0) (cid:6) (cid:7) (cid:0)å (cid:1)å (cid:1)å (cid:5)å (cid:0)å å(cid:0)å å å (cid:0)å(cid:0)å (cid:4)(cid:0)(cid:3)å å (cid:4)(cid:1)(cid:3)(cid:2) (cid:0) (cid:0) (cid:0)å 4 (cid:3) (cid:3) (cid:3) (cid:3) (cid:4) (cid:0)(cid:3)(cid:0) (cid:2)(cid:3)(cid:1)(cid:0) (cid:0) (cid:2)(cid:3)(cid:1)Î (cid:1)å(cid:0)å (cid:0) (cid:0) (cid:6) (cid:7) (cid:0)å (cid:1)å (cid:1)å (cid:5)å (cid:0)å å(cid:0)å å å (cid:0)å(cid:0)å (cid:4)(cid:0)(cid:3)å å (cid:4)(cid:1)(cid:3)(cid:2) (cid:0) (cid:0) (cid:0)å 4 (cid:3) (cid:3) (cid:3) (cid:3) (cid:4) (cid:0)(cid:3)(cid:0) (cid:2)(cid:3)(cid:1)(cid:0) (cid:0) (cid:2)(cid:3)(cid:1)Î If two forced accidentals happen at the same time, only one sharp sign is printed. ‘accidental-double.ly’ (cid:0) (cid:2) I (cid:1) (cid:0)(cid:0)II I Horizontal Fingering grobs should not collide with accidentals. ‘accidental-fingering-collision.ly’ 2 (cid:1) 4 4(cid:0)I4(cid:0)I 3 I3 I Accidentals can be forced with ! and ? even if the notes are tied. Cautionary accidentals applied to tied notes after a bar line are valid for the whole measure. ‘accidental-forced-tie.ly’ (cid:4) (cid:7) (cid:5) (cid:0)(cid:3)(cid:0)(cid:3) (cid:2)(cid:0)(cid:1)(cid:3) (cid:0)(cid:6) (cid:0)Î Î (cid:2)(cid:0)(cid:1)Î Î BysettingaccidentalGroupingto’voice,LilyPondwillhorizontallystaggertheaccidentals of octaves in different voices as seen in this test’s E-sharp. ‘accidental-grouping.ly’ ò(cid:0) ò(cid:0) ò (cid:0) ò (cid:0) ò (cid:0) ò (cid:0) ò(cid:0) ò(cid:0) (cid:1) (cid:2) ò (cid:0) ò(cid:0) Ledgerlinesareshortenedwhenthereareaccidentals. Thishappensonlyforthesingleledger line close to the note head, and only if the accidental is horizontally close to the head. ‘accidental-ledger.ly’ (cid:2)å(cid:3)(cid:4)å å(cid:0)å(cid:1)å (cid:2)å (cid:4)å (cid:3)å(cid:0)å(cid:1)å (cid:5) (cid:6) (cid:0)å (cid:0) å (cid:1)å(cid:3)(cid:0)å (cid:3)å (cid:4)å (cid:2)å (cid:2)å(cid:3)(cid:4)å (cid:3)å (cid:0)å(cid:1)å This shows how accidentals in different octaves are handled. The note names are also auto- matically printed but the octavation has been dropped out. ‘accidental-octave.ly’ (cid:0) (cid:1) (cid:0)(cid:1) (cid:5) (cid:0)· (cid:0) (cid:4) (cid:3) (cid:0)(cid:1) (cid:2)(cid:1) (cid:0)(cid:5) · (cid:0)· · · gis g g gis gis g g gis g gis g 8 (cid:2) (cid:0)(cid:1) (cid:2)(cid:1) (cid:0)(cid:4) · (cid:2) (cid:3) (cid:1) (cid:0)(cid:1) (cid:4) (cid:0)· · (cid:0)· (cid:0)· fis f f fis fis f f fis f fis f In piano accidental style, notes in both staves influence each other. In this example, each note should have an accidental. ‘accidental-piano.ly’ (cid:5) (cid:4) (cid:3)(cid:0) (cid:3)(cid:0) (cid:2) (cid:2) (cid:9) (cid:5) ´ ´ (cid:4) (cid:1)(cid:0) (cid:1)(cid:0) Accidental padding works for all accidentals, including those modifying the same pitch. ‘accidental-placement-padding.ly’ (cid:2) (cid:1) (cid:0) (cid:3) ·· (cid:0) (cid:0) ·· When two (or more) accidentals modify the same pitch, they are printed adjacent to one another unless they represent the same alteration, in which case they are printed in exactly the same position as one another. In either case, collisions with accidentals of different pitches are correctly computed. ‘accidental-placement-samepitch.ly’ (cid:7) (cid:8) ==(cid:0)(cid:1)(cid:5)==(cid:3)(cid:2)(cid:2)(cid:6)(cid:6)(cid:6)(cid:6)(cid:6)(cid:6)(cid:6)(cid:6)(cid:6)(cid:6) (cid:4)(cid:2) (cid:6)(cid:6) Accidentalsareplacedascloselyaspossible. Accidentalsincorrespondingoctavesarealigned. The top accidental should be nearest to the chord. The flats in a sixth should be staggered. ‘accidental-placement.ly’ (cid:2)å (cid:5) (cid:4) (cid:3)(cid:1)ååå(cid:0)å (cid:3)å (cid:1)(cid:1)åå (cid:0)(cid:1)(cid:0)ååå (cid:1)(cid:1)åå(cid:0)(cid:0)åå (cid:3)(cid:1)åå (cid:1)(cid:1)åå(cid:0)(cid:2)(cid:0)(cid:1)(cid:1)(cid:0)(cid:3)(cid:1)åååååååååå(cid:0)(cid:1)åå (cid:1)(cid:0)åå (cid:1)(cid:1) (cid:3)ååå (cid:1)åååå(cid:1)åååå Quarter tone notation is supported, including threequarters flat. ‘accidental-quarter.ly’ 12 (cid:5)I(cid:0)(cid:8)I(cid:0)(cid:7)I(cid:0)(cid:1)I (cid:0)I I (cid:4)I(cid:3)I(cid:2)I(cid:9)I (cid:6) 4 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. ‘accidental-single-double.ly’ (cid:5) (cid:4) (cid:6)(cid:1) ª(cid:0)(cid:1) (cid:2)(cid:1) ª(cid:3)(cid:1) gisisgis gesesges setting the suggestAccidentals will print accidentals vertically relative to the note. This is useful for denoting Musica Ficta. ‘accidental-suggestions.ly’ (cid:1) (cid:1) (cid:0)(cid:1)(cid:26) (cid:0)(cid:1)(cid:26) (cid:0) å(cid:2) å 2 å å (cid:1) 4 paren The second and third notes should not get accidentals, because they are tied to a note. However, an accidental is present if the line is broken at the tie, which happens for the G sharp. The presence of an accidental after a broken tie can be overridden. ‘accidental-tie.ly’ f f f fis gis (cid:0) (cid:2) (cid:3) (cid:1)(cid:4) (cid:5) å(cid:0)å(cid:0)å gis f f f fis gis 3 (cid:0) (cid:2) (cid:0)(cid:1) (cid:3)(cid:1) (cid:4) å(cid:0)å(cid:0)å gis 6 (cid:1) (cid:0) · Tied notes with accidentals do not cause problems with spacing. ‘accidental-unbroken-tie-spacing.ly’ 4444 4444 3 4 (cid:2) (cid:0) (cid:0) (cid:0) (cid:3) (cid:1)(cid:0)(cid:0) (cid:0)(cid:0) (cid:0) (cid:0) This shows how modern cross voice auto cautionary accidentals are handled. The first two fisses get accidentals because they belong to different voices. The first f gets cautionary natural becauseofpreviousmeasure. Thelastfgetscautionarynaturalbecausefiswasonlyintheother voice. ‘accidental-voice.ly’ fis a f fis a (cid:6) (cid:5) (cid:4)(cid:3) (cid:4)(cid:3)(cid:3) (cid:1)(cid:2)(cid:1)(cid:2)(cid:0)(cid:0)åå(cid:4)å (cid:1)(cid:2)(cid:0)(cid:3)(cid:3) (cid:3) å c fis f c f Accidentals work: the second note does not get a sharp. The third and fourth show forced and cautionary accidentals. ‘accidental.ly’ force (cid:4) (cid:4) (cid:0)å å(cid:0)å (cid:2)(cid:0)(cid:1)å (cid:3) (cid:4) (cid:4) (cid:5) disdisdis dis \add-grace-property can be used at various context levels in order to override grace prop- erties. Overrides in different parallel contexts are independent. ‘add-grace-property.ly’ Voice (cid:1) (cid:0) (cid:2) mensural (cid:1) · Voice (cid:1) (cid:0) (cid:2) diamond (cid:0) · Score (cid:1) (cid:0) (cid:2) cross ' · add-stem-support can be removed or implemented only for beamed notes. ‘add-stem-support.ly’ (cid:5) 4 4 (cid:5) 1 1 35 (cid:6)(cid:4) 35 (cid:6)(cid:4) (cid:8) (cid:9) (cid:1)(cid:1)(cid:3)(cid:3)(cid:3)(cid:3) (cid:7) (cid:4)(cid:4) (cid:4)(cid:4) (cid:4)34 (cid:127) (cid:0) (cid:1)(cid:1)(cid:3)(cid:3)(cid:3)(cid:3) (cid:7) (cid:4) (cid:2) (cid:2) (cid:1) 4 4 4 4 1 1 4 1 1 35 (cid:2)å (cid:5) åå åå å34 (cid:3) (cid:4) (cid:6)(cid:6)(cid:8)(cid:8)(cid:8)(cid:8) (cid:0) åå åå å34 (cid:3) (cid:4) å å (cid:7) Newly created contexts can be inserted anywhere in the vertical alignment. ‘alignment-order.ly’ (cid:2) (cid:1) (cid:0) (cid:0) belowfirststaff (cid:2) (cid:1) (cid:0) (cid:0) staff this above 6 (cid:2) (cid:3) ü ü ü ü ü ü staff last (cid:2) (cid:1) (cid:0) (cid:0) Alignmentsmaybechangedpersystembysettingalignment-distancesintheline-break- system-details property ‘alignment-vertical-manual-setting.ly’ G (cid:3) (cid:1) (cid:2) (cid:3) (cid:1) (cid:2) (cid:3) (cid:1) (cid:2) (cid:0) G2 (cid:1) (cid:2) (cid:1) (cid:2) (cid:1) (cid:2) (cid:0) G3 (cid:1) (cid:1) (cid:2) (cid:1) (cid:1) (cid:2) (cid:1) (cid:1) (cid:2) (cid:0) Music engraving by LilyPond 2.18.2—www.lilypond.org The command \alterBroken may be used to override the pieces of a broken spanner inde- pendently. The following example demonstrates its usage with a variety of data types. ‘alter-broken.ly’ ü ü ü ü (cid:1) (cid:0) ü ü 8va 2 ü ü ü ü ü ü (cid:0) 8va 4 ü ü (cid:0) ü ü Ambitus for pieces beginning with \cueDuringWithClef. Cues are often used at or near the beginning of a piece. Furthermore, a cue is frequently in a different clef, so the \cueDuringWithClef command is handy. Using this command at the beginning of a piece should leave the ambitus displayed based on the main clef. ‘ambitus-cue.ly’ (cid:1) (cid:1) (cid:2) (cid:0) (cid:0) å(cid:2) (cid:0)(cid:3) î å å å (cid:0) ThegapsbetweenanAmbitusLineanditsnoteheadsaresetbythegapproperty. Bydefault, gap is a function that reduces the gap for small intervals (e.g. a fourth), so that the line remains visible. ‘ambitus-gap.ly’ I I 2 (cid:0) 4 I I I I I I 2 I(cid:0) I 4 I I Adding ambitus to percussion contexts does not cause crashes, since the Ambitus_engraver will only acknowledge pitched note heads. ‘ambitus-percussion-staves.ly’ (cid:0) (cid:0) ‹ ‹ (cid:1) (cid:2) ‹

Description:
Introduction In the web version of this document, you can click on the file name or figure for each The second and third lines should have the same note spacing 3 5. 3. 4. Newly created contexts can be inserted anywhere in the vertical Arpeggio stays clear of accidentals and flipped note heads.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.