]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/man/lilypond.pod
release: 0.1.61
[lilypond.git] / Documentation / man / lilypond.pod
1 =head1 NAME
2
3 lilypond - the GNU music typesetter
4
5 =head1 SYNOPSIS
6
7         lilypond [options] [inputfiles]
8
9 =head1 DESCRIPTION
10
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 
14 to a MIDI file.
15
16 =head1 OPTIONS
17
18 =over 5
19
20 =item B<-I,--include>=F<FILE>,
21
22 add F<FILE> to the search path for input files.
23
24 =item B<-M,--midi>
25
26 This disables TeX output. If you have a \midi definition, it will do
27 the midi output only.
28
29 =item B<-d,--dependencies>
30
31 Also output rules to be included in Makefile.
32
33 =item B<-D,--debug>,
34
35 Turn debugging info on.  GNU LilyPond reads the file F<.dstreamrc>, 
36 which lists what functions and classes may produce copious debugging
37 output.
38
39 =item B<-t,--test>,
40
41 Switch on any experimental features.  Not for general public use.
42
43 =item B<-w,--warranty>,
44
45 Show the warranty with which GNU LilyPond comes. (It comes with B<NO
46 WARRANTY>!)
47
48 =item B<-o,--output=>F<FILE>,
49
50 Set the default output file to F<FILE>.
51
52 =item B<-h,--help>,
53
54 Show a summary of usage.
55
56 =item B<-i,--init=>F<FILE>,
57
58 Set init file to F<FILE> (default: F<lily-init.ly>).
59
60 =item B<--include, -I>=F<DIRECTORY>,
61
62 Add F<DIRECTORY> to the search path for input files.
63
64 =item B<--ignore-version, -V>,
65
66 Make incompatible mudela version non-fatal.
67
68 =item B<--no-postscript, -P>,
69
70 Don't generate embedded PostScript (or MetaFont) symbols, but resort to
71 less beautiful fixed-size versions.
72
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 
76 F<tex/fetdefs.tex>.)
77
78 =back
79
80 =head1 FEATURES
81
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).
84
85 =over 5
86
87 =item *
88
89 ASCII script input, with identifiers (for music reuse),
90 customizable notenames, customisable fontset.
91
92 =item *
93
94 MIDI output lets you check if you have entered the correct notes.
95
96 =item *
97
98 MIDI to Mudela conversion through the mi2mu program.
99
100 =item *
101
102 Multiple staffs in one score.  Each staff can have different meters.
103
104 =item *
105
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).
109
110 =item *
111
112 Multiple voices within one staff; beams optionally shared
113 between voices.  Up to four voices is handled cleanly.
114
115 =item *
116
117 Multiple scores within one input file.  Each score is output to
118 a different file.
119
120 =item *
121
122 Clef changes, meter changes, cadenza-mode, key changes, repeat bars.
123
124 =back
125
126 =head1 DISCLAIMER AND COPYING POLICY
127
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>.
133
134 =head1 AUTHORS
135
136 Please consult the documentation file AUTHORS for more detailed
137 information, and small contributions. 
138
139 =over 4
140
141 =item *
142
143 Han-Wen Nienhuys <hanwen@cs.ruu.nl>, http://www.cs.ruu.nl/people/hanwen
144
145 =item *
146
147 Jan Nieuwenhuizen <jan@digicash.com>,  http://www.digicash.com/~jan.
148
149 =back
150
151
152 =head1 PROBLEMS
153
154
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
157
158 =over 4
159
160 =item *
161
162 If the bug has been fixed in a newer release.  
163
164 =item *
165
166 If the bug has been found earlier, consult F<TODO> and F<BUGS>.
167
168 =back 
169
170 If you have found a bug, then you should send a bugreport.
171
172 =over 4
173
174 =item *
175 Send a copy of the input which causes the error.
176
177 =item *
178 Send a description of the platform you use.
179
180 =item *
181 Send a description of the LilyPond version you use (with
182 compile/configure options please).
183
184 =item *
185 Send a description of the bug itself.
186
187 =item *
188 Send it to bug-gnu-music@gnu.org (you don't have to subscribe
189 to this mailinglist).
190
191 =back
192
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
197
198         received SIGSEGV 
199         (gdb) backtrace 12
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 ..
204           :
205           :
206
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).
209
210
211 =head1 FILES
212
213 =over 5
214
215 =item F<lily-init.ly>
216
217 The initialisation file with symbol tables etc.  It
218 includes files from the directory F<init/>.
219
220 =back
221
222 =head1 ENVIRONMENT
223
224 B<LILYINCLUDE> an (one) additional directory for finding lilypond data.
225
226 =head1 BUGS
227
228 Lots of them.  See F<TODO> and F<BUGS>
229
230 =head1 SEE ALSO
231
232 =over 4
233
234 =item internals
235
236 On technical details of LilyPond
237
238 =item mudela-man
239
240 On the input format.  This is a LilyPond-enhanced LaTeX document.
241
242 =item MANIFESTO
243
244 Goals of the GNU LilyPond project.
245
246 =item FAQ
247
248 The GNU LilyPond FAQ list
249
250 =item http://www.cs.ruu.nl/people/hanwen/lilypond/index.html
251
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
255
256 =back
257
258 GNU LilyPond is
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/
262
263
264 For programs which are part of the GNU music project, the following
265 mailing list have been setup:
266
267
268 =over 4
269
270 =item info-gnu-music@gnu.org
271
272 For information on the GNU Music project, to subscribe: send mail with
273 subject "subscribe" to info-gnu-music-request@gnu.org
274
275 =item help-gnu-music@gnu.org
276
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
280
281 =item bug-gnu-music@gnu.org
282
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
287
288 =item gnu-music-discuss@gnu.org,
289
290 For discussions concerning the GNU Music project, to subscribe: send
291 mail with subject "subscribe" to
292 gnu-music-discuss-request@gnu.org,
293
294
295 =back
296
297 Announces of new versions will be sent to info-gnu-music and
298 gnu-music-discuss.
299
300 =head1  REMARKS
301
302 GNU LilyPond has no connection with the music package Rosegarden, other
303 than the names being similar :-)
304
305 =head1 HISTORY
306
307 (for a  detailed changelog, see F<NEWS>)
308
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
318 failed, obviously).
319
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).
329
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
332 August 1, 1997.
333