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
29 =item B<-d,--dependencies>
31 Also output rules to be included in Makefile.
35 Turn debugging info on. GNU LilyPond reads the file F<.dstreamrc>,
36 which lists what functions and classes may produce copious debugging
41 Switch on any experimental features. Not for general public use.
43 =item B<-w,--warranty>,
45 Show the warranty with which GNU LilyPond comes. (It comes with B<NO
48 =item B<-o,--output=>F<FILE>,
50 Set the default output file to F<FILE>.
54 Show a summary of usage.
56 =item B<-i,--init=>F<FILE>,
58 Set init file to F<FILE> (default: F<lily-init.ly>).
60 =item B<--include, -I>=F<DIRECTORY>,
62 Add F<DIRECTORY> to the search path for input files.
64 =item B<--ignore-version, -V>,
66 Make incompatible mudela version non-fatal.
68 =item B<--no-postscript, -P>,
70 Don't generate embedded PostScript (or MetaFont) symbols, but resort to
71 less beautiful fixed-size versions.
73 LilyPond uses PostScript for variable symbols where possible. (For some
74 of these symbols runtime MetaFont source will be genarated too. These are
75 not used unless you also include the appropriate TeX file too. See
82 This is an overview of the features that GNU LilyPond supports. For
83 details on how to use them, you should consult mudela(5).
89 ASCII script input, with identifiers (for music reuse),
90 customizable notenames, customisable fontset.
94 MIDI output lets you check if you have entered the correct notes.
98 MIDI to Mudela conversion through the mi2mu program.
102 Multiple staffs in one score. Each staff can have different meters.
106 Beams, slurs, ties, chords, super/subscripts (accents and text)
107 triplets, general n-plet (triplet, quadruplets, etc.), lyrics,
108 transposition dynamics (both absolute and hairpin style).
112 Multiple voices within one staff; beams optionally shared
113 between voices. Up to four voices is handled cleanly.
117 Multiple scores within one input file. Each score is output to
122 Clef changes, meter changes, cadenza-mode, key changes, repeat bars.
126 =head1 DISCLAIMER AND COPYING POLICY
128 GNU LilyPond is copyright 1996-1998 by its authors. GNU LilyPond is
129 distributed under the terms of the GNU General Public License. GNU LilyPond
130 is provided without any warranty what so ever.
131 GNU LilyPond may be freely distributed. For further information consult
132 the GNU General Public License, from the file F<COPYING>.
136 Please consult the documentation file AUTHORS for more detailed
137 information, and small contributions.
143 Han-Wen Nienhuys <hanwen@cs.ruu.nl>, http://www.cs.ruu.nl/people/hanwen
147 Jan Nieuwenhuizen <jan@digicash.com>, http://www.digicash.com/~jan.
155 There is an extensive list of todoes and bugs. See F<TODO>. If you
156 have a problem you should try to find out
162 If the bug has been fixed in a newer release.
166 If the bug has been found earlier, consult F<TODO> and F<BUGS>.
170 If you have found a bug, then you should send a bugreport.
175 Send a copy of the input which causes the error.
178 Send a description of the platform you use.
181 Send a description of the LilyPond version you use (with
182 compile/configure options please).
185 Send a description of the bug itself.
188 Send it to bug-gnu-music@gnu.org (you don't have to subscribe
189 to this mailinglist).
193 It does help if you can find out where the bug comes from: if GNU
194 LilyPond bombs out, then please recompile using with debugging info
195 turned on, and send gdb stacktrace of the crash. It also helps if you
196 can print the values of the objects. So if your trace is
200 #0 Interval::operator+= (this=0x11fffec60..)
201 at ../flower/interval.hh:50
202 #1 0x12005195c in Item::width (this=0x14008a680) at src/item.cc:39
203 #2 0x12008fdbc in itemlist_width (its=0x11fffed58 ..
207 Than it would help if you send a dump of the Interval and the Item
208 (use: C<print *this> or use LilyPond C<print()> methods).
215 =item F<lily-init.ly>
217 The initialisation file with symbol tables etc. It
218 includes files from the directory F<init/>.
224 B<LILYINCLUDE> an (one) additional directory for finding lilypond data.
228 Lots of them. See F<TODO> and F<BUGS>
236 On technical details of LilyPond
240 On the input format. This is a LilyPond-enhanced LaTeX document.
244 Goals of the GNU LilyPond project.
248 The GNU LilyPond FAQ list
250 =item http://www.cs.ruu.nl/people/hanwen/lilypond/index.html
252 GNU LilyPond has her own webpage. This webpage contains the MIDI, GIF
253 and PS files for some standard music files. It also has the complete
254 LilyPond documentation
259 updated very frequently, the latest version is always available at:
260 ftp://pcnov095.win.tue.nl/pub/lilypond and
261 ftp://alpha.gnu.org/gnu/lilypond/
264 For programs which are part of the GNU music project, the following
265 mailing list have been setup:
270 =item info-gnu-music@gnu.org
272 For information on the GNU Music project, to subscribe: send mail with
273 subject "subscribe" to info-gnu-music-request@gnu.org
275 =item help-gnu-music@gnu.org
277 For help with programs from the GNU music project. To subscribe: send
278 mail with subject "subscribe" to
279 help-gnu-music-request@gnu.org
281 =item bug-gnu-music@gnu.org
283 If you have bugreports, you should send them to this list. If you want
284 to read all bugreports, you should subscribe to this list. To
285 subscribe: send mail with subject "subscribe" to
286 bug-gnu-music-request@gnu.org
288 =item gnu-music-discuss@gnu.org,
290 For discussions concerning the GNU Music project, to subscribe: send
291 mail with subject "subscribe" to
292 gnu-music-discuss-request@gnu.org,
297 Announces of new versions will be sent to info-gnu-music and
302 GNU LilyPond has no connection with the music package Rosegarden, other
303 than the names being similar :-)
307 (for a detailed changelog, see F<NEWS>)
309 GNU LilyPond's roots lie in MPP, a preprocessor to the rather arcane
310 MusiXTeX macro package for TeX. A friend of mine, Jan Nieuwenhuizen
311 wrote the first 44 versions (0.01 to 0.44), then his program caught my
312 attention, and I was slowly sucked in to the interesting problem of
313 easily producing beautifully printed music. I contributed some
314 code. We soon realised that MPP's design was too fundamentally broken
315 to be repaired, so it was decided to rewrite MPP. We debated a lot about
316 the requirements to an inputformat (fall 1995). I sat down and started
317 with a parser-first, bottom-up rewrite called mpp95 (which totally
320 After long and hard thinking, I came up with an algorithm for the
321 horizontal spacing of multiple staffs (april 1996) I coded it (and did
322 not test it). After starting with this fundamental piece, I slowly
323 added the stages which come before spacing, and after. A half year
324 later, I had a first working version, (october 1996). I announced
325 Patchlevel 0.0.7 (or 8) to the mutex list after asking some technical
326 details on spacing; it was downloaded approximately 4 times. Then I
327 got the hang of it, and in the subsequent two months, I coded until it
328 had doubled in size (pl 23).
330 Most the other history is described in the NEWS file. The first large
331 scale release (0.1) was done after approximately 78 patchlevels on