]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/lilypond.pod
patch::: 0.1.12.jcn2: kliener pats
[lilypond.git] / Documentation / 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 GNU LilyPond is a program which converts music definition files into
12 visual or auditive output: it can typeset formatted sheet music to a
13 TeX file and play (mechanical) performances to MIDI files.
14
15 =head1 OPTIONS
16
17 =over 5
18
19 =item B<-I,--include>=F<FILE>,
20
21 add F<FILE> to the search path for input files.
22
23 =item B<-M,--midi>
24
25 do midi output only.
26
27 =item B<-d,--debug>,
28
29 Turn debugging info on.  GNU LilyPond reads the file F<.dstreamrc>, 
30 which lists what functions and classes may produce copious debugging
31 output.
32
33 =item B<-w,--warranty>,
34
35 Show the warranty with which GNU LilyPond comes. (It comes with B<NO
36 WARRANTY>!)
37
38 =item B<-o,--output=>F<FILE>,
39
40 Set the default output file to F<FILE>.
41
42 =item B<-h,--help>,
43
44 Show a summary of usage.
45
46 =item B<-i,--init=>F<FILE>,
47
48 Set init file to F<FILE> (default: F<symbol.ly>).
49
50 =item B<--include, -I>=F<DIRECTORY>,
51
52 Add F<DIRECTORY> to the search path for input files.
53
54 =item B<--ignore-version, -V>,
55
56 Make incompatible mudela version non-fatal.
57
58 =back
59
60 =head1 FEATURES
61
62 This is an overview of the features that GNU LilyPond supports.  For
63 details on how to use them, you should consult mudela(5).
64
65 =over 5
66
67 =item *
68
69 ASCII script input, with identifiers (for music reuse),
70 customizable notenames, customisable fontset.
71
72 =item *
73
74 MIDI output lets you check if you have entered the correct notes.
75
76 =item *
77
78 MIDI to Mudela conversion through the mi2mu program.
79
80 =item *
81
82 Multiple staffs in one score.  Each staff can have different meters.
83
84 =item *
85
86 Beams, slurs, ties, chords, super/subscripts (accents and text)
87 triplets, general n-plet (triplet, quadruplets, etc.), lyrics,
88 transposition dynamics (both absolute and hairpin style).
89
90 =item *
91
92 Multiple voices within one staff; beams optionally shared
93 between voices.  Up to four voices is handled cleanly.
94
95 =item *
96
97 Multiple scores within one input file.  Each score is output to
98 a different file.
99
100 =item *
101
102 Clef changes, meter changes, cadenza-mode, key changes, repeat bars.
103
104 =back
105
106 =head1 DISCLAIMER & COPYING POLICY
107
108 GNU LilyPond is copyright 1996, 1997 by its authors.  GNU LilyPond is
109 distributed under the terms of the GNU General Public License.  GNU LilyPond 
110 is provided without any warranty what so ever.
111 GNU LilyPond may be freely distributed.  For further information consult 
112 the GNU General Public License, from the file F<COPYING>.
113
114 =head1 AUTHORS
115
116 Please consult the documentation file AUTHORS for more detailed
117 information, and small contributions. 
118
119 =over 4
120
121 =item *
122
123 Han-Wen Nienhuys <hanwen@stack.nl>, http://www.stack.nl/~hanwen
124
125 =item *
126
127 Jan Nieuwenhuizen <jan@digicash.com>,  http://www.digicash.com/~jan.
128
129 =back
130
131
132 =head1 PROBLEMS
133
134
135 There is an extensive list of todoes and bugs.  See F<TODO>.  In
136 general, try to find out 
137
138 =over 4
139
140 =item *
141
142 If the bug has been fixed in a newer release.  
143
144 =item *
145
146 If the bug has been found earlier, consult F<TODO> and F<BUGS>.
147
148 =back 
149
150 If you have found a bug, then you should send a bugreport.
151
152 =over 4
153
154 =item *
155 Send a copy of the input which causes the error.
156
157 =item *
158 Send a description of the platform you use.
159
160 =item *
161 Send a description of the LilyPond version you use (with
162 compile/configure options please).
163
164 =item *
165 Send a description of the bug itself.
166
167 =item *
168 Send it to bug-gnu-music@vuse.vanderbilt.edu.
169
170 =back
171
172 It does help if you can find out where the bug comes from: if GNU
173 LilyPond bombs out, then please recompile using with debugging info
174 turned on, and send gdb stacktrace of the crash.  It also helps if you
175 can print the values of the objects.  So if your trace is
176
177         received SIGSEGV 
178         (gdb) backtrace 12
179         #0  Interval::operator+= (this=0x11fffec60..)
180             at ../flower/interval.hh:50
181         #1  0x12005195c in Item::width (this=0x14008a680) at src/item.cc:39
182         #2  0x12008fdbc in itemlist_width (its=0x11fffed58 ..
183           :
184           :
185
186 Than it would help if you send a dump of the Interval and the Item
187 (use: C<print *this> or use LilyPond C<print()> methods).
188
189
190 =head1 FILES
191
192 =over 5
193
194 =item F<symbol.ly>
195
196 The initialisation file with symbol tables etc.  It
197 includes files from the directory F<init/>.
198
199 =back
200
201 =head1 ENVIRONMENT
202
203 B<LILYINCLUDE> an (one) additional directory for finding lilypond data.
204
205 =head1 BUGS
206
207 =head1 SEE ALSO
208
209 =over 4
210
211 =item lilygut
212
213 On technical details of LilyPond
214
215 =item mudela-man
216
217 On the input format.  This is a LilyPond-enhanced LaTeX document.
218
219 =item MANIFESTO
220
221 Goals of the GNU LilyPond project.
222
223 =item FAQ
224
225 The GNU LilyPond FAQ list
226
227 =item http://www.stack.nl/~hanwen/lilypond/index.html
228
229 GNU LilyPond has her own webpage.  This webpage contains the MIDI, GIF
230 and PS files for some standard music files.  It also has the complete
231 LilyPond documentation
232
233 =back
234
235 GNU LilyPond is
236 updated very frequently, the latest version is always available at:
237 ftp://pcnov095.win.tue.nl/pub/lilypond and
238 ftp://alpha.gnu.ai.mit.edu/gnu/lilypond/
239
240
241 For programs which are part of the GNU music project, the following
242 mailing list have been setup:
243
244
245 =over 4
246
247 =item info-gnu-music@vuse.vanderbilt.edu
248
249 For information on the GNU Music project, to subscribe: send mail with
250 subject "subscribe" to info-gnu-music-request@vuse.vanderbilt.edu
251
252 =item help-gnu-music@vuse.vanderbilt.edu
253
254 For help with programs from the GNU music project.  To subscribe: send
255 mail with subject "subscribe" to
256 help-gnu-music-request@vuse.vanderbilt.edu
257
258 =item bug-gnu-music@vuse.vanderbilt.edu
259
260 If you have bugreports, you should send them to this list.  If you want
261 to read all bugreports, you should subscribe to this list.  To
262 subscribe: send mail with subject "subscribe" to
263 bug-gnu-music-request@vuse.vanderbilt.edu
264         
265 =item gnu-music-discuss@vuse.vanderbilt.edu,
266
267 For discussions concerning the GNU Music project, to subscribe: send
268 mail with subject "subscribe" to
269 gnu-music-discuss-request@vuse.vanderbilt.edu,
270
271
272 =back
273
274 Announces of new versions will be sent to info-gnu-music and
275 gnu-music-discuss.
276
277 =head1  REMARKS
278
279 GNU LilyPond has no connection with the music package Rosegarden, other
280 than the names being similar :-)
281
282 =head1 HISTORY
283
284 (for a  detailed changelog, see F<NEWS>)
285
286 GNU LilyPond's roots lie in MPP, a preprocessor to the rather arcane
287 MusiXTeX macro package for TeX.  A friend of mine, Jan Nieuwenhuizen
288 wrote the first 44 versions (0.01 to 0.44), then his program caught my
289 attention, and I was slowly sucked in to the interesting problem of
290 easily producing beautifully printed music.  I contributed some
291 code.  We soon realised that MPP's design was too fundamentally broken
292 to be repaired, so it was decided to rewrite MPP.  We debated a lot about
293 the requirements to an inputformat (fall 1995).  I sat down and started
294 with a parser-first, bottom-up rewrite called mpp95 (which totally
295 failed, obviously).
296
297 After long and hard thinking, I came up with an algorithm for the
298 horizontal spacing of multiple staffs (april 1996) I coded it (and did
299 not test it).  After starting with this fundamental piece, I slowly
300 added the stages which come before spacing, and after.  A half year
301 later, I had a first working version, (october 1996).  I announced
302 Patchlevel 0.0.7 (or 8) to the mutex list after asking some technical
303 details on spacing; it was downloaded approximately 4 times.  Then I
304 got the hang of it, and in the subsequent two months, I coded until it
305 had doubled in size (pl 23).
306
307 Most the other history is described in the NEWS file.  The first large
308 scale release (0.1) was done after approximately 78 patchlevels on
309 August 1, 1997.
310