![]() |
GNU LilyPond-- -- |
||||||||||
|
About this manualAs you will notice in the coming pages the program makes good decisions in a lot of cases: what comes out of LilyPond generally looks good. The default layout of lilypond even is suitable for publication for some specific files. However, some aspects of the formatting are not yet very good. For us programmers, this gives inspiration for improving the program. However, most users are more interested in improving their printouts, and then they have to make manual adjustments to the output. Another aspect of our system of encoding through ASCII then shows: it can be complicated to fine tune the layout of a piece. There is no graphical user interface, where you can simply click and drag a symbol. On the other hand, if you have written the code for tuning one specific aspect of the layout, then you can simply store the file on disk, retrieve it when you need it: there is no need to remember how you did it, since it is all in the input file. Lilypond also comes with a huge collection of snippets that show all kinds of tricks. This collection is much needed, because of the way LilyPond is structured. It is a large program, but almost all of the internal functionality is exported: that is, the variables that are internally used for formatting the sheet music are available directly to the user. These are variables to control thicknesses, distances, and other formatting options. There are a huge number of them, and it would be impossible to describe them all in a hand-written manual. There is no need to despair, there is an `automatic' manual, that lists all of the variables that are available. It is directly generated from the definitions that LilyPond itself uses, so it is always up to date. If you are reading this from a screen: it is available from the web, and is included with most binary distributions. If you're reading this from paper, then we advise you to use the digital version anyway: the hyperlinks make finding topics in the lilypond-internals manual much easier. For those who really want to get their hands dirty: it is even possible to add your own functionality, by extending LilyPond in the built-in scripting language, a dialect of the powerful programming language Scheme. There is no real distinction between what a user can do and what a programmer is allowed to do. In summary, this manual does not pretend to be exhaustive, but it is merely a guide that tries to explain the most important principles, and shows popular input idioms. The rest of the manual is structured as follows: it starts with a tutorial that explains how to use lilypond. In the tutorial, a number of fragments of increasing complexity are shown and explained. Then comes the reference manual, which gives more detailed information on all features. If you're new to lilypond, then you should start reading the tutorial, and experiment for yourself. If you already have some experience, then you can simply use the manual as reference: there is an extensive index1, but the document is also available in One Big Page, which is is available for text search using your browser's search facility. |
||||||||||
Go back to index of LilyPond.
Please send GNU LilyPond questions and comments to lilypond-user@gnu.org. Please send comments on these web pages to (address unknown) Copyright (c) 1997--2002 Han-Wen Nienhuys and Jan Nieuwenhuizen. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. |
This page was built from LilyPond-1.7.14 (development-branch) by