[ << Tutorial ] | [Top][Contents][Index][ ? ] | [ Fundamental concepts >> ] | ||
[ < Simple notation ] | [ Up : First steps ] | [ How to read the manual > ] |
2.1.3 Working on input files
LilyPond input files are similar to source files in many common
programming languages. They are case sensitive, and white-space
is generally ignored. Expressions are formed with curly braces
{ }, and comments are denoted with %
or
%{ ... %}
.
If the previous sentences sound like nonsense, don’t worry! We’ll explain what all these terms mean:
-
Case sensitive:
it matters whether you enter a letter in lower case (e.g.
a, b, s, t
) or upper case (e.g.A, B, S, T
). Notes are lower case:{ c d e }
is valid input;{ C D E }
will produce an error message. -
Whitespace insensitive:
it does not matter how many spaces (or new lines) you add.
{ c d e }
means the same thing as{ c
d e } and:{ c d e }
Of course, the previous example is hard to read. A good rule of thumb is to indent code blocks with either a tab or two spaces:
{ c d e }
-
Expressions:
every piece of LilyPond input needs to have { curly
braces } placed around the input. These braces tell LilyPond
that the input is a single music expression, just like parentheses
()
in mathematics. The braces should be surrounded by a space unless they are at the beginning or end of a line to avoid ambiguities.A LilyPond command followed by a simple expression in braces (such as
\relative { }
) also counts as a single music expression. -
Comments:
a comment is a remark for the human reader of the music input; it
is ignored while parsing, so it has no effect on the printed
output. There are two types of comments. The percent symbol
%
introduces a line comment; anything after%
on that line is ignored. By convention, a line comment is placed above the code it refers to.a4 a a a % this comment refers to the Bs b2 b
A block comment marks a whole section of music input as a comment. Anything that is enclosed in
%{
and%}
is ignored. However, block comments do not ‘nest’. This means that you cannot place a block comment inside another block comment. If you try, the first%}
will terminate both block comments. The following fragment shows possible uses for comments:% notes for twinkle twinkle follow c4 c g' g a a g2 %{ This line, and the notes below are ignored, since they are in a block comment. f f e e d d c2 %}
[ << Tutorial ] | [Top][Contents][Index][ ? ] | [ Fundamental concepts >> ] | ||
[ < Simple notation ] | [ Up : First steps ] | [ How to read the manual > ] |