3 LilyInput - LilyPond input format
7 This page documents the the LilyPond input format, mudela.
11 General format of a construct:
13 BLOCKNAME { <info to go with this block> }
15 Some types allow declarations:
17 IDENTIFIER = BLOCKNAME {
18 <info to go with this block>
35 Twin- kle, twin- kle lit- tle star,2
37 a lot of characters parse differently
38 than in "command" mode, eg,
40 identifier = score { .. }
42 So you have to signal that to the tokenizer. This is done with
43 '$'. '$' is a delimiter, which used by the tokenizer only. The same
44 goes for lyrics, it has a '@' delimiter.
47 musicmode: The brace still is used to group grammatical groups.
50 musicmode: "word" are preceded by a '\' (backslash)
52 This means you can write some stuff in a zillion ways:
55 $\var = \blockname { ... } $
58 var = blockname { $ ... $ }
61 var = $ $ $\blockname { ... $ }
65 Not really crystallized; you can use '#' or '%' as line comment
69 LilyPond first reads 'symbol.ini', which contains declarations crucial
70 to proper operation of LilyPond (symbol tables, note names).
72 This language looks a lot like Rayce's which in turn owes a lot to the
73 POVRay raytracer. Now, I know, musictypesetting and Raytracing do not
74 necessarily require the same input format, but I was just to lazy to
75 make up a new and/or better input format. Suggestions appreciated.