3 lilypond - the GNU music typesetter
7 lilypond [options] [inputfiles]
11 LilyPond is the GNU Project music typesetter. The program generates
12 visual or auditive output from a music definition file: it can typeset
13 formatted sheet music to a TeX file and play (mechanical) performances
20 =item B<-I,--include>=F<FILE>,
22 add F<FILE> to the search path for input files.
26 This disables TeX output. If you have a \midi definition, it will do
31 Turn debugging info on. GNU LilyPond reads the file F<.dstreamrc>,
32 which lists what functions and classes may produce copious debugging
37 Switch on any experimental features. Not for general public use.
39 =item B<-w,--warranty>,
41 Show the warranty with which GNU LilyPond comes. (It comes with B<NO
44 =item B<-o,--output=>F<FILE>,
46 Set the default output file to F<FILE>.
50 Show a summary of usage.
52 =item B<-i,--init=>F<FILE>,
54 Set init file to F<FILE> (default: F<lily-init.ly>).
56 =item B<--include, -I>=F<DIRECTORY>,
58 Add F<DIRECTORY> to the search path for input files.
60 =item B<--ignore-version, -V>,
62 Make incompatible mudela version non-fatal.
64 =item B<--no-postscript, -P>,
66 Don't generate embedded PostScript (or MetaFont) symbols, but resort to
67 less beautiful fixed-size versions.
69 LilyPond uses PostScript for variable symbols where possible. (For some
70 of these symbols runtime MetaFont source will be genarated too. These are
71 not used unless you also include the appropriate TeX file too. See
78 This is an overview of the features that GNU LilyPond supports. For
79 details on how to use them, you should consult mudela(5).
85 ASCII script input, with identifiers (for music reuse),
86 customizable notenames, customisable fontset.
90 MIDI output lets you check if you have entered the correct notes.
94 MIDI to Mudela conversion through the mi2mu program.
98 Multiple staffs in one score. Each staff can have different meters.
102 Beams, slurs, ties, chords, super/subscripts (accents and text)
103 triplets, general n-plet (triplet, quadruplets, etc.), lyrics,
104 transposition dynamics (both absolute and hairpin style).
108 Multiple voices within one staff; beams optionally shared
109 between voices. Up to four voices is handled cleanly.
113 Multiple scores within one input file. Each score is output to
118 Clef changes, meter changes, cadenza-mode, key changes, repeat bars.
122 =head1 DISCLAIMER AND COPYING POLICY
124 GNU LilyPond is copyright 1996-1998 by its authors. GNU LilyPond is
125 distributed under the terms of the GNU General Public License. GNU LilyPond
126 is provided without any warranty what so ever.
127 GNU LilyPond may be freely distributed. For further information consult
128 the GNU General Public License, from the file F<COPYING>.
132 Please consult the documentation file AUTHORS for more detailed
133 information, and small contributions.
139 Han-Wen Nienhuys <hanwen@cs.ruu.nl>, http://www.cs.ruu.nl/people/hanwen
143 Jan Nieuwenhuizen <jan@digicash.com>, http://www.digicash.com/~jan.
151 There is an extensive list of todoes and bugs. See F<TODO>. If you
152 have a problem you should try to find out
158 If the bug has been fixed in a newer release.
162 If the bug has been found earlier, consult F<TODO> and F<BUGS>.
166 If you have found a bug, then you should send a bugreport.
171 Send a copy of the input which causes the error.
174 Send a description of the platform you use.
177 Send a description of the LilyPond version you use (with
178 compile/configure options please).
181 Send a description of the bug itself.
184 Send it to bug-gnu-music@gnu.org (you don't have to subscribe
185 to this mailinglist).
189 It does help if you can find out where the bug comes from: if GNU
190 LilyPond bombs out, then please recompile using with debugging info
191 turned on, and send gdb stacktrace of the crash. It also helps if you
192 can print the values of the objects. So if your trace is
196 #0 Interval::operator+= (this=0x11fffec60..)
197 at ../flower/interval.hh:50
198 #1 0x12005195c in Item::width (this=0x14008a680) at src/item.cc:39
199 #2 0x12008fdbc in itemlist_width (its=0x11fffed58 ..
203 Than it would help if you send a dump of the Interval and the Item
204 (use: C<print *this> or use LilyPond C<print()> methods).
211 =item F<lily-init.ly>
213 The initialisation file with symbol tables etc. It
214 includes files from the directory F<init/>.
220 B<LILYINCLUDE> an (one) additional directory for finding lilypond data.
224 Lots of them. See F<TODO> and F<BUGS>
232 On technical details of LilyPond
236 On the input format. This is a LilyPond-enhanced LaTeX document.
240 Goals of the GNU LilyPond project.
244 The GNU LilyPond FAQ list
246 =item http://www.cs.ruu.nl/people/hanwen/lilypond/index.html
248 GNU LilyPond has her own webpage. This webpage contains the MIDI, GIF
249 and PS files for some standard music files. It also has the complete
250 LilyPond documentation
255 updated very frequently, the latest version is always available at:
256 ftp://pcnov095.win.tue.nl/pub/lilypond and
257 ftp://alpha.gnu.org/gnu/lilypond/
260 For programs which are part of the GNU music project, the following
261 mailing list have been setup:
266 =item info-gnu-music@gnu.org
268 For information on the GNU Music project, to subscribe: send mail with
269 subject "subscribe" to info-gnu-music-request@gnu.org
271 =item help-gnu-music@gnu.org
273 For help with programs from the GNU music project. To subscribe: send
274 mail with subject "subscribe" to
275 help-gnu-music-request@gnu.org
277 =item bug-gnu-music@gnu.org
279 If you have bugreports, you should send them to this list. If you want
280 to read all bugreports, you should subscribe to this list. To
281 subscribe: send mail with subject "subscribe" to
282 bug-gnu-music-request@gnu.org
284 =item gnu-music-discuss@gnu.org,
286 For discussions concerning the GNU Music project, to subscribe: send
287 mail with subject "subscribe" to
288 gnu-music-discuss-request@gnu.org,
293 Announces of new versions will be sent to info-gnu-music and
298 GNU LilyPond has no connection with the music package Rosegarden, other
299 than the names being similar :-)
303 (for a detailed changelog, see F<NEWS>)
305 GNU LilyPond's roots lie in MPP, a preprocessor to the rather arcane
306 MusiXTeX macro package for TeX. A friend of mine, Jan Nieuwenhuizen
307 wrote the first 44 versions (0.01 to 0.44), then his program caught my
308 attention, and I was slowly sucked in to the interesting problem of
309 easily producing beautifully printed music. I contributed some
310 code. We soon realised that MPP's design was too fundamentally broken
311 to be repaired, so it was decided to rewrite MPP. We debated a lot about
312 the requirements to an inputformat (fall 1995). I sat down and started
313 with a parser-first, bottom-up rewrite called mpp95 (which totally
316 After long and hard thinking, I came up with an algorithm for the
317 horizontal spacing of multiple staffs (april 1996) I coded it (and did
318 not test it). After starting with this fundamental piece, I slowly
319 added the stages which come before spacing, and after. A half year
320 later, I had a first working version, (october 1996). I announced
321 Patchlevel 0.0.7 (or 8) to the mutex list after asking some technical
322 details on spacing; it was downloaded approximately 4 times. Then I
323 got the hang of it, and in the subsequent two months, I coded until it
324 had doubled in size (pl 23).
326 Most the other history is described in the NEWS file. The first large
327 scale release (0.1) was done after approximately 78 patchlevels on