The bigger 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 expressions is one of the following
\paper, \midi
and \layout. Such a definition at 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) into 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 formats it into a
single book together with all other toplevel \scores 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.
The following example shows three things which 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
\encoding
\renameinput
This page is for LilyPond-2.4.5 (stable-branch).