Next: Including LilyPond files, Previous: Editor support, Up: Running LilyPond
The major part of this manual is concerned with entering various
forms of music in LilyPond. However, many music expressions are not
valid input on their own, for example, a .ly
file containing
only a note
c'4
will result in a parsing error. Instead, music should be inside other expressions, which may be put in a file by themselves. Such expressions are called toplevel expressions. This section enumerates them all.
A .ly
file contains any number of toplevel expressions, where a
toplevel expression is one of the following
\paper
, \midi
, and
\layout
. Such a definition at the toplevel changes the default
settings for the block entered.
\header
block. This sets the global header block. This
is the block containing the definitions for book-wide settings, like
composer, title, etc.
\addquote
statement. See Quoting other voices
for more information.
\score
block. This score will be collected with other
toplevel scores, and combined as a single \book
.
This behavior can be changed by setting the variable
toplevel-score-handler
at toplevel. The default handler is
defined in the init file scm/lily.scm.
\book
block logically combines multiple movements
(i.e., multiple \score
blocks) in one document. A number of
\scores
creates a single output file, where all movement are
concatenated.
This behavior can be changed by setting the variable
toplevel-book-handler
at toplevel. The default handler is
defined in the init file scm/lily.scm.
{ c'4 d' e'2 }
This will add the piece in a \score
and format it in a
single book together with all other toplevel \score
s and music
expressions.
This behavior can be changed by setting the variable
toplevel-music-handler
at toplevel. The default handler is
defined in the init file scm/lily.scm.
\markup { 2. The first line verse two. }
Markup texts are rendered above, between or below the scores or music expressions, wherever they appear.
foo = { c4 d e d }
This can be used later on in the file by entering \foo
. The
name of an identifier should have alphabetic characters only; no
numbers, underscores or dashes.
The following example shows three things that may be entered at toplevel
\layout { % movements are non-justified by default raggedright = ##t } \header { title = "Do-re-mi" } { c'4 d' e2 }
At any point in a file, any of the following lexical instructions can be entered:
\version
\include
\renameinput
This page is for LilyPond-2.6.3 (stable-branch).