[icon]

GNU LilyPond

-- --

What is LilyPond
Home
Examples
Templates
Download
GNU/Linux binaries
Windows binaries
Source code
Documentation
Tutorial
Manual
Glossary
Index

Support
Mailing lists
Search
WikiWiki

External sites
lilypond.org/stable
lilypond.org/development
savannah.gnu.org
ftp.lilypond.org
Mutopia
Other music online

Introduction

This document tests all kinds of features, from simple to advanced, that are not really suited for the reference manual, and are not needed as a regression test.

Here you may also find dirty tricks, or very the very latest features that have not been documented or fully implemented yet. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/+.ly

[picture of music]

Absolute dynamics have effect in MIDI files./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/absolute-volume.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/ac-extra-voice.ly
[picture of music]

Using make-music, you can add various stuff to notes. Here is an example how to add staccato dots. Note: for this simple case one would not use scm constructs. See separate-staccato.ly first./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/add-staccato.ly

[picture of music]

Using make-music, you can add various stuff to notes. Here is an example how to add an extra fingering.

In general, first do a display of the music you want ot create, then write a function that will build the structure for you./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/add-text-script.ly

[picture of music]

Accidentals are available in different ancient styles. This files lists all of them./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/ancient-accidentals.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/ancient-font.ly
[picture of music]

Should use old style./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/ancient-time.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/auto-beam-4-8.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/auto-beam-override.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/auto-beam.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/bagpipe.ly
[picture of music]

Different types of bar lines demonstrated./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/bar-lines.ly

[picture of music]

Bar numbers can also be printed at regular intervals./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/bar-number-every-fifth.ly

[picture of music]

Second line has bar-numbers on start of every measure./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/bar-script-visibility.ly

[picture of music]

You can move around Bar_engraver and Span_bar_engraver if you want bar lines on lyrics./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/barline-lyric-only.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-abbrev.ly
[picture of music]

Hmm. what's this supposed to test?/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-chord.ly

[picture of music]

Controlling beam positions./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-control.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-count.ly
[picture of music]

Beams are less steep than the notes they encompass. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-damp.ly

[picture of music]

There are several ways to calculate the direction of a beam

majority
number count of up or down notes
mean
mean centre distance of all notes
median
mean centre distance weighted per note

These beam direction functions are defined in scm/beam.scm. If your favourite algorithm isn't one of these, you can hook up your own.

Of course, this depends on the neutral-direction for the middle line, down by default. We set that to 1 (up) in the lower staff./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-dir-function.ly

[picture of music]

There are several ways to calculate the direction of a beam.

majority
number count of up or down notes
mean
mean center distance of all notes
median
mean centre distance weighted per note

You can spot the differences of these settings from these simple examples:

These beam direction functions are defined in scm/beam.scm. If your favourite algorithm isn't one of these, you can hook up your own. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-dir-functions.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-dir.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-isknee.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-neutral-direction.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-pos.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-position.ly
[picture of music]

Beams over rests. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-rest.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-second.ly
[picture of music]

Beam-stem attachment test. Helper file for ps/dvips problems./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-stem-test.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-suspect.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beam-trend.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beamed-slur-endings.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/beams.ly
[picture of music]

print lesson sheets that contain blank lines and just portions of blank lines./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/blank-notes.ly

[picture of music]

Blank music paper with clefs/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/blank.ly

[picture of music]

overriding the molecule callback can also be used to draw a box around arbitrary grobs.

TODO: circled molecules. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/boxed-molecule.ly

[picture of music]

Broken spanners can be adjusted individually, but this requires complicated scheme code. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/broken-spanner-adjustment.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/broken-thread-line.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/broken.ly
[picture of music]

Small caps is available as font-shape caps.

/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/caps.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/cautionaries.ly
[picture of music]

chord/markup test/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/chord-markup.ly

[picture of music]

Chord names in american styles, according to one of our users.

FIXME /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/chord-names-american.ly

[picture of music]

Chord name scheme test - double-plus-new-chord-name jazz/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/chord-names-dpnj.ly

[picture of music]

Jazz notation for chord names.

FIXME. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/chord-names-jazz.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/chords.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/clef-8-syntax.ly
[picture of music]

Scales, but with clef and key signature at the end of the line./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/clef-end-of-line.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/coda-kludge.ly
[picture of music]

Demonstration of how to set up an orchestral score./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/coriolan-margin.ly

[picture of music]

Display the number of systems, or the system number of a Grob. This can be most useful to assertain that a piece uses a specified number of lines./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/count-systems.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/crescendi.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/crescendo-text.ly
[picture of music]

Cue notes should be set in smaller type. Cue clefs are usually not restored explicitly./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/cue-notes.ly

[picture of music]

The direction of a perfectly centred beams can be controlled through Voice.Beam's grob-property directlyneutral-direction /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/default-neutral-dir.ly

[picture of music]

By setting barAlways and defaultBarType, you can automatically insert barlines everywhere./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/defaultbars.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/different-time-signatures.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/diverse-spacing.ly
[picture of music]

test file for new-new-chord names, ie, double-plus-new-chord-name TODO: FIXME. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/dpncnt.ly

[picture of music]

Slurs can be forced to always attach to note heads. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/drarn-slurs.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/drarn.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/duration-check.ly
[picture of music]

Additional tricks for dynamics. Pi`u forte dynamic script/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/dynamic-extra.ly

[picture of music]

By inserting the TeX command \embeddedps, you can insert postscript directly into the output.

TODO: make molecule-callback to do this. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/embedded-postscript.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/embedded-scm.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/embedded-tex.ly
[picture of music]

Blank music paper, another example: empty staffs and a tablature staff./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/empty-staffs.ly

[picture of music]

The full orchestra plays a notes, where groups stop one after another. USe this to tune equalizer settings. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/equaliser.ly

[picture of music]

Explicit pitches and durations./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/explicit.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/extra-staff.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/fake-grace.ly
[picture of music]

Test figured bass.

Figured bass is created by the FiguredBass context which eats note-requests and rest-requests. You can enter these either using standard << >> notation, or using the special \figures { } mode, which allows you to type numbers, like <<4 6+>>. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/figured-bass.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/fill-a4.ly
[picture of music]

Theads can be traced automagically when they switch staves by setting property followVoice. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/follow-thread.ly

[picture of music]

Force hshift to override collisions/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/force-hshift.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/gourlay.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/grace-end.ly
[picture of music]

some instruments (notably: cello and double bass) are alternatively written on one and two staves. This is the way to do it:/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/hara-kiri-switch.ly

[picture of music]

Hara kiri staves disappear when empty /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/hara-kiri.ly

[picture of music]

Harmonic notes: a different style on the same stem. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/harmonic.ly

[picture of music]

High level functionality can be accomplished with GUILE. Semantics aren't nice though./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/header-ifelse.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/hshift.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/hymn.ly
[picture of music]

note heads for improvisation have a different shape. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/improv.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/incipit.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/instrument-name-grandstaff.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/instrument-name-mmrest.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/key-clefs.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/knee-mult.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/knee-sym.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/knee.ly
[picture of music]

Draw abritrary lines. This brings LilyPond on par with Mup. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/lines.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/ly2dvi-testpage.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/lyric-extender.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/lyric-hyphen.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/lyric-phrasing.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/lyrics.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/manual-clef.ly
[picture of music]

Test font selection and scm text markup /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/markup.ly

[picture of music]

Control the number of rests in a collision with maximum-rest-count./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/maximum-rest-count.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/mensural-ligatures.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/metronome.ly
[picture of music]

MIDI and midi2ly test file. Diff between this and midi2ly.py (experimental, 1.5.17) should be minimal/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/midi-scales.ly

[picture of music]

Midi2ly tuplet test.

       python scripts/midi2ly.py --duration-quant=32 \
           --allow-tuplet=4*2/3 \
           --allow-tuplet=8*2/3 \
           --allow-tuplet=4*3/5 \
           --allow-tuplet=8*3/5 \
           tu.midi
     
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/midi-tuplets.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/mmrest-collision.ly
[picture of music]

Positions of accidentals may be manually set. This involves some scheme code./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/move-accidentals.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/move-mark.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/move-notehead.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/move-specific-text.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/multi-slope.ly
[picture of music]

This example shows prelude in C major of WTK1, but coded using Scheme functions to save typing work. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/music-box.ly

[picture of music]

You can create music expressions from Scheme. The mechanism for this is rather clumsy to use, so avoid if possible./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/music-creation.ly

[picture of music]

In InnerStaffGroup and InnerChoirStaff, the brackets should be shiftet leftwards. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/nested-groups.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/no-bar-lines.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/no-staff.ly
[picture of music]

Don't extend stems to cetner line./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/no-stem-extend.ly

[picture of music]

Chord names don't attempt to find inversions and bass notes./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/note-chords.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/note-shift.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/notemode-chords.ly
[picture of music]

Octave duplicate parts of music/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/octave-duplicate.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/orchestalpart.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/orchestscore.ly
[picture of music]

Ossias present alternatives for a piece. They are not really supported, but can be somewhat faked in lily./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/ossia.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/ottava.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/part-combine-moments.ly
[picture of music]

Template for part-combining orchestral scores/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/part-combine-score.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/part-combine-staff.ly
[picture of music]

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 "à2" are typeset automagically, as appropriate. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/part-combine.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/partial-blank.ly
[picture of music]

Piano pedal symbols merge stop and start. The strings are configurable. Text style, bracket style, and a mixture of both are supported. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/pedal.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/perform-grace.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/perform-tie.ly
[picture of music]

Make PhrasingSlur higher, to avoid colission from other slurs/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/phrasing-slur-height.ly

[picture of music]

Polymetric music with aligned note values can be written by moving the timing engraver to staff context./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/poly-metric.ly

[picture of music]

Grob extents may be hard coded using grob properties. This requires Grob::preset_extent () function. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/preset-extent.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/repeat-manual.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/repeat.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/rest-dot-positions.ly
[picture of music]

rests in various styles./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/rests.ly

[picture of music]

Simple customised music apply. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/reverse-music.ly

[picture of music]

a way to generate rhythm exercises with lilypond (e.g. no staff but retaining the barlines/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/rhythm-excercise.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/rhythmic-staff.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/scales-greek.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/scales.ly
[picture of music]

With ly:export, you can pass of the result of Scheme expressions as lilypond input. Within a Scheme expression, you can use, define or change lilypond variables. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/scheme-interactions.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/script-horizontal.ly
[picture of music]

Relative placements of different script types can be controlled by overriding script-priority./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/script-priority.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/scripts.ly
[picture of music]

You can enter notes and articulations separately, and merge them into one thread. Here is an example to add repeated staccato dots./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/separate-staccato.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/short-part-combine.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/simple-slur-endings.ly
[picture of music]

sketch output supported features/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/sketch.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/sleur.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-area.ly
[picture of music]

In some cases, you may want to set slur attachments by hand. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-attachment-override.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-attachment.ly
[picture of music]

The same goes for slurs. They behave decently when broken across linebreak. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-broken-cross-staff.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-broken.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-damping.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-dash.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-follow-music.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-mininum.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-positions.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-proof.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-symmetry-2.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-symmetry-3.ly
[picture of music]

You can get ugly slurs, if you want. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/slur-ugly.ly

[picture of music]
         Here's a copy of my feature request :
     
Your task, if you accept it is to implement a \smarttranspose command> that would translate such oddities into more natural notations. Double accidentals should be removed, as well as E-sharp (-> F), bC (-> B), bF (-> E), B-sharp (-> C).
You mean like this. (Sorry 'bout the nuked indentation.) Modified to use the standard transpose mechanism. The question is how useful these enharmonic modifications are. Mats B.
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/smart-transpose.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/solo-a2.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/spacing-2.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/spacing.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/span-bars.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/stacked-scripts.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/staff-bracket.ly
[picture of music]

By splitting the grouping (Axis_group_engraver) and creation functionality into separate contexts, you can override interesting things. You can also drop the \consistsend feature./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/staff-container.ly

[picture of music]

Setting staff space on a staff /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/staff-line-leading.ly

[picture of music]

staff symbol property set workaround/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/staff-lines.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/staff-margin-partial.ly
[picture of music]

Setting staff sizes is a little clumsy. There are two options: using StaffContainer and override/revert, or \outputproperty. Both methods are shown in this example./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/staff-size.ly

[picture of music]

mensural note heads./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/stem-centered.ly

[picture of music]

Cross staff stems

Unfortunately, there is no support for putting chords across staves. You can get this result by increasing the length of the stem in the lower stave so it reaches the stem in the upper stave, or vice versa. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/stem-cross-staff.ly

[picture of music]

Conventionally, stems and beams extend to the middle staff line. This extension can be controlled through Voice.Stem's grob-property no-stem-extend: /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/stem-extend.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/stem-length.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/stem.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/system-start-brace.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/system-start-bracket.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/tablature-hammer.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/tablature.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/tchaikovsky.ly
[picture of music]

ottava spanners./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/text-spanner.ly

[picture of music]

Test font selection and scm text markup/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/textscript.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/thumb.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/tie-broken.ly
[picture of music]

setting sparseTies causes only one tie to be generated per chord pair./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/tie-sparse.ly

[picture of music]

IMPORTANT NOTE: The current selection scheme for time signature symbols is not flexible enough for future extensions such as various flavours of early mensural notation or complex signatures as in contemporary music. Therefore, the semantics of time-signature properties will quite definitely change, and maybe the syntax of the ime request will possibly be extended. See the input file for TODOs. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/time.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/timing.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/title.ly
[picture of music]

The input representation is very generic. It should not be hard to convert it to XML or a similar format:

     <music
        type="score">
     <music
        type="SequentialMusic">
     <music
        type="SimultaneousMusic">
     <music
        type="EventChord">
     <music
        type="NoteEvent">
     <duration
        log="2"
        dots="0"
        numer="1"
        denom="1">
     </duration>
     <pitch
        octave="1"
        notename="0"
        alteration="0">
     </pitch>
     </music>
     </music>
     <music
        type="VoiceSeparator">
     </music>
     <music
        type="EventChord">
     <music
        type="NoteEvent">
     <duration
        log="2"
        dots="0"
        numer="1"
        denom="1">
     </duration>
     <pitch
        octave="0"
        notename="4"
        alteration="0">
     </pitch>
     </music>
     </music>
     </music>
     </music>
     </music>
     
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/to-xml.ly
[picture of music]

the transposing property leaves output invariant, but has effect on MIDI./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/transposing.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/transposition.ly
[picture of music]

show trill line type/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/trill.ly

[picture of music]

Document trills, pralls and turns/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/trills.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/tuplet-rest.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/tuplet-spanner-duration.ly
[picture of music]

If you specify two different key sigs at one point, a warning is printed./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/two-key.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/two-slurs.ly
[picture of music]

The standard function unfold-repeats will recursively unfold all repeats for correct MIDI output. Thanks to Rune Zedeler./home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/unfold-all-repeats.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/uniform-breaking.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/vaticana.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/vertical-align.ly
[picture of music]

vertical extents may be overriden by verticalExtent, verticalExtent, verticalExtent. These are normal property values, and are written itno the grob when the associated context finishes, so using it in \property works. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/vertical-extent.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/vertical-text.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/voice-switch.ly
[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/voicify-chords.ly
[picture of music]

Volta braces are hung on barlines. At the start of the line, they should always start after the prefatory matter. /home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/volta-start.ly

[picture of music]
/home/buchan/rpm/BUILD/lilypond-1.7.14/input/test/volta.ly
[picture of music]
Go back to index of LilyPond.

Please send GNU LilyPond questions and comments to lilypond-user@gnu.org.

Please send comments on these web pages to (address unknown)

Copyright (c) 1997--2002 Han-Wen Nienhuys and Jan Nieuwenhuizen.

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.


This page was built from LilyPond-1.7.14 (development-branch) by

Buchan Milne <(address unknown)>, Thu Mar 6 21:10:14 2003 CET.