3 LilyInput - LilyPond input format
7 This page globally documents the the LilyPond input format, mudela.
8 To get a better impression, please study some examples.
12 General format of a construct:
14 BLOCKNAME { <info to go with this block> }
16 Some types allow declarations:
18 IDENTIFIER = BLOCKNAME {
19 <info to go with this block>
36 Twin- kle, twin- kle lit- tle star,2
38 a lot of characters parse differently
39 than in "command" mode, eg,
41 identifier = score { .. }
43 So you have to signal this to the tokenizer. This is done with
44 '$'. '$' is a delimiter, which used by the tokenizer only. The same
45 goes for lyrics, it has a '@' delimiter.
48 musicmode: The brace still is used to group grammatical groups.
51 musicmode: "word" are preceded by a '\' (backslash)
53 This means you can write some stuff in a zillion ways:
56 $\var = \blockname { ... } $
59 var = blockname { $ ... $ }
62 var = $ $ $\blockname { ... $ }
66 Not really crystallized; you can use '#' or '%' as line comment
70 LilyPond first reads 'symbol.ini', which contains declarations crucial
71 to proper operation of LilyPond (symbol tables, note names).
73 This language looks a lot like Rayce's (Rayce is a raytracer that I've
74 written as a hobby project. I used as a practice program for writing
75 (among others) C++ and Yacc. It also gave me RSI :-( ) which in turn
76 owes a lot to the POVRay raytracer. Now, I know, musictypesetting and
77 Raytracing do not necessarily require the same input format, but I was
78 just to lazy to make up a new and/or better input format. Suggestions
82 LilyInput - LilyPond input format
86 This page globally documents the the LilyPond input format, mudela.
87 To get a better impression, please study some examples.
91 General format of a construct:
93 BLOCKNAME { <info to go with this block> }
95 Some types allow declarations:
97 IDENTIFIER = BLOCKNAME {
98 <info to go with this block>
113 and in lyricmode, eg,
115 Twin- kle, twin- kle lit- tle star,2
117 a lot of characters parse differently
118 than in "command" mode, eg,
120 identifier = score { .. }
122 So you have to signal this to the tokenizer. This is done with
123 '$'. '$' is a delimiter, which used by the tokenizer only. The same
124 goes for lyrics, it has a '@' delimiter.
127 musicmode: The brace still is used to group grammatical groups.
130 musicmode: "word" are preceded by a '\' (backslash)
132 This means you can write some stuff in a zillion ways:
135 $\var = \blockname { ... } $
138 var = blockname { $ ... $ }
141 var = $ $ $\blockname { ... $ }
145 Not really crystallized; you can use '#' or '%' as line comment
149 LilyPond first reads 'symbol.ini', which contains declarations crucial
150 to proper operation of LilyPond (symbol tables, note names).