]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/lilypond.pod
release: 0.0.63
[lilypond.git] / Documentation / lilypond.pod
index 3482fa961c231b1401f4d4edf4c6fb4da8c7d9ee..dcbaab0d00a8c73189e7b06d7505560c35d11795 100644 (file)
@@ -20,7 +20,6 @@ Typesetting music is a complex task, whereas the message that printed
 music conveys is usually a simple one. GNU LilyPond is a try at providing
 a simple interface for setting music.
 
-
 =head1 OPTIONS
 
 =over 5
@@ -42,7 +41,8 @@ output.
 
 =item B<-w,--warranty>,
 
-Show the warranty with which GNU LilyPond comes. (It comes with B<NO WARRANTY>!)
+Show the warranty with which GNU LilyPond comes. (It comes with B<NO
+WARRANTY>!)
 
 =item B<-o,--output=>F<FILE>,
 
@@ -57,12 +57,16 @@ Show a summary of usage
 set init file to F<FILE> (default: F<symbol.ini>)
 
 =item B<--include, -I>=F<DIRECTORY>
+
 add F<DIRECTORY> to the search path for input files.
 
 =back
 
 =head1 FEATURES
 
+This is an overview of the features that GNU LilyPond supports. For
+details on how to use them, you should consult mudela(5)
+
 =over 5
 
 =item *
@@ -88,14 +92,14 @@ multiple stafftypes (melodic, rhythmic) [broken from  pl28 on]
 
 =item *
 
-beams, slurs, chords, super/subscripts (accents and text), triplets,
-general n-plet (triplet, quadruplets, etc.), lyrics, transposition
-dynamics (both absolute and hairpin style)
+beams, slurs, ties, chords, super/subscripts (accents and text),
+triplets, general n-plet (triplet, quadruplets, etc.), lyrics,
+transposition dynamics (both absolute and hairpin style)
 
 =item *
 
 multiple voices within one staff; beams optionally shared
-between voices. (well, more than 2 voices won't look pretty --yet.)
+between voices. Up to four voices is handled cleanly.
 
 =item *
 
@@ -108,64 +112,7 @@ clef changes, meter changes, cadenza-mode, key changes, repeat bars
 
 =back
 
-=head1 DESIGN CONSIDERATIONS
-
-GNU LilyPond was written with some considerations in mind:
-
-=over 5
-
-=item *
-
-Describing a well-defined language for defining music. We call
-this language (rather arrogantly) The Musical Definition Language
-(mudela for short). GNU LilyPond reads a mudela sourcefile and outputs a
-TeX file.  
-
-=item *
-
-We want to provide an easy-to-use interface for typesetting music in
-its broadest sense. This interface should be intuitive from a musical
-point of view. By broadest sense we mean: it is designed for music
-printed left to right in staffs, using notes to designate rythm and
-pitch.
-
-=item *
-
-GNU LilyPond uses MusiXTeX fonts and TeX for its output. This is not a key
-issue: in a future version, GNU LilyPond might bypass TeX, but at the moment
-TeX is very convenient for producing output.
-
-=item  *
-
-Generate high-quality output. Ideally it should be of a professional
-quality. We'd like to render Herbert Chlapiks words, "Fine music
-setting is not possible without a knowledgeable printer,"  untrue.
-
-=item *
-
-GNU LilyPond does not display notes directly, nor will it be rehacked to be
-used interactively. GNU LilyPond writes output to a file.  It will not be
-extended to play music, or to recognize music.
-
-=item *
-
-GNU LilyPond is intended to run on Unix platforms, but it should
-be portable to any platform which can run TeX and the GNU tools
-
-=item *
-
-GNU LilyPond is free. Commercial windows packages for setting music are
-abundant. Free musicprinting software is scarce.
-
-=item *
-
-GNU LilyPond is written in GNU C++. It will not be downgraded/ported to fit
-broken systems.
-
-=back
-
-=head1
-DISCLAIMER & COPYING POLICY
+=head1 DISCLAIMER & COPYING POLICY
 
 GNU LilyPond is copyright 1996,97 by its authors. GNU LilyPond is
 distributed under the terms of the GNU General Public
@@ -175,7 +122,10 @@ the GNU General Public License, which is in the file F<COPYING>
 
 =head1 AUTHORS
 
-=over 5
+Please consult the documentation file AUTHORS for more detailed
+information, and small contributions. 
+
+=over 4
 
 =item *
 
@@ -190,10 +140,6 @@ Jan Nieuwenhuizen <jan@digicash.com>,  http://www.digicash.com/~jan.
 Context errors, Lyrics, mi2mu, MIDI stuff, make structure, bits of
 FlowerLib, general comments, Mudela design.
 
-=item *
-
-Mats Bengtsson <matsb@s3.kth.se>, bugfixes, testing, general comments.
-
 =back
 
 Your name could be here! If you want to help, then take a look at the
@@ -206,30 +152,28 @@ At this time, GNU LilyPond output looks nice, but is not of production
 quality. If you're not discouraged; this is what I type in my xterm:
 
        lilypond someinput.ly
-       tex test
+       tex lelie.tex
        xdvi test&
 
 This is what the output looks like over here:
 
-       GNU LilyPond 0.0.40 #0/FlowerLib 1.1.7 #2. Compile: Mar 11 1997, 22:58:47 (g++ 2.7.2)
-       Parsing ... [./init//symbol.ini[./init//dynamic.ini][./init//dutch.ini]
-       [./init//script.ini][./init//table_sixteen.ini]][./input/wohltemperirt.ly]
-       Setting up music ...Processing music ............
-       Preprocessing ...
-       Calculating column positions ... [3][6][9]
-       Postprocessing ...
-       TeX output to lelie.out ...
-       midi output to lelie.midi ...
-
-       hw:~/musix/spacer$ tex test
+       hw:~/musix/spacer$ GNU LilyPond 0.0.60 #8/FlowerLib 1.1.14 #2
+       Parsing ... [./input/kortjakje.ly[lots of stuff]]
+       Setting up requests...Processing requests ...[8][16][24][25]
+       Preprocessing elements... 
+       Calculating column positions ... [3][7][12][16][20][25]
+       Postprocessing elements...
+       TeX output to lelie.tex ...
+
+       hw:~/musix/spacer$ tex lelie
        This is TeX, Version 3.14159 (C version 6.1)
-       (test.tex
-       Hyphenation patterns for english, dutch, loaded.
-       (lilyponddefs.tex) (lelie.uit) [1] [2] )
-       Output written on test.dvi (2 pages, 8420 bytes).
-       Transcript written on test.log.
+       (lelie.tex
+       Hyphenation patterns for english, dutch, german, loaded.
+       (/home/hw/lib/texmf/tex/lilypond/lilyponddefs.tex) [1] )
+       Output written on lelie.dvi (1 page, 8944 bytes).
+       Transcript written on lelie.log.
 
-       hw:~/musix/spacer$ xdvi test&
+       hw:~/musix/spacer$ xdvi lelie&
        [1] 855
 
 Check out the input files, some of them have comments
@@ -237,10 +181,27 @@ Check out the input files, some of them have comments
 
 =head1 PROBLEMS
 
-If GNU LilyPond bombs out, then please recompile using with debugging info
-turned on, and send a copy of the input which causes the error and a
-gdb stacktrace of the crash. It also helps if you can print the values
-of the objects. So if your trace is
+
+There is an extensive list of todoes and bugs. See F<TODO>. In
+general, try to find out 
+
+=over 4
+
+=item *
+
+if the bug has been fixed in a newer release.  
+
+=item *
+
+if the bug has been found earlier, consult F<TODO>
+
+=item * 
+
+where the bug comes from: if GNU LilyPond bombs out, then please
+recompile using with debugging info turned on, and send a copy of the
+input which causes the error and a gdb stacktrace of the crash. It
+also helps if you can print the values of the objects. So if your
+trace is
 
        (gdb) backtrace 12
        #0  Interval::operator+= (this=0x11fffec60..)
@@ -253,11 +214,12 @@ of the objects. So if your trace is
 Than it would help if you send a dump of the Interval and the Item
 (use: C<print *this> or use GNU LilyPond C<print()> methods).
 
-This is a beta version of GNU LilyPond. Please send your helpful comments
-and patches to me (see AUTHORS section)
+=back
 
-GNU LilyPond is updated very frequently, the latest version is always available at:
-ftp://pcnov095.win.tue.nl/pub/lilypond.
+Bug reports should be directed to
+bug-gnu-music@vuse.vanderbilt.edu. In any case, they should contain a
+description of the problem, an small input file which reproduces it
+(if applicable), lilypond version and a description of the platform.
 
 
 =head1 FILES
@@ -265,6 +227,7 @@ ftp://pcnov095.win.tue.nl/pub/lilypond.
 =over 5
 
 =item F<symbol.ini>
+
 The initialisation file with symbol tables etc. It
 includes files from the directory F<init/>.
 
@@ -274,14 +237,78 @@ includes files from the directory F<init/>.
 
 B<LILYINCLUDE> an (one) additional directory for finding lilypond data.
 
+=head1 BUGS
+
 =head1 SEE ALSO
 
-mudela(5)
+=over 4
+
+=item lilygut
+
+On technical details of LilyPond
+
+=item mudela(5)
+
+On the input format
+
+=item MANIFESTO
+
+Goals of the GNU LilyPond project.
+
+=item FAQ
+
+The GNU LilyPond FAQ list
 
-There are some documentation files  in the subdirectory F<Documentation/>,
-among others: lilygut,  error, faq,
+=item http://
 
-http://www.stack.nl/~hanwen/lilypond/index.html
+The GNU Music project. GNU LilyPond is part of the GNU Music
+project. For more information on the GNU Music project, 
+
+=item http://www.stack.nl/~hanwen/lilypond/index.html
+
+GNU LilyPond has her own webpage at
+This webpage contains
+the MIDI, GIF and PS files for some standard music files. It also has
+the complete LilyPond documentation
+
+
+=back
+
+GNU LilyPond is
+updated very frequently, the latest version is always available at:
+ftp://pcnov095.win.tue.nl/pub/lilypond.
+
+For programs which part of the GNU music project, the following mailing list
+have been setup:
+
+
+=over 4
+
+=item info-gnu-music@vuse.vanderbilt.edu
+
+For information on the GNU Music project, to subscribe: send mail with
+subject "subscribe" to info-gnu-music-request@vuse.vanderbilt.edu
+
+=item help-gnu-music@vuse.vanderbilt.edu
+
+For help with programs from the GNU music project. To subscribe: send
+mail with subject "subscribe" to
+help-gnu-music-request@vuse.vanderbilt.edu
+
+=item bug-gnu-music@vuse.vanderbilt.edu
+
+If you have bugreports, you should send them to this list. If you want
+to read all bugreports, you should subscribe to this list.  To
+subscribe: send mail with subject "subscribe" to
+bug-gnu-music-request@vuse.vanderbilt.edu
+       
+=item gnu-music-discuss@vuse.vanderbilt.edu,
+
+For discussions concerning the GNU Music project, to subscribe: send
+mail with subject "subscribe" to
+gnu-music-discuss-request@vuse.vanderbilt.edu,
+
+=back
 
 =head1  REMARKS
 
@@ -307,8 +334,8 @@ After long and hard thinking, I came up with an algorithm for the
 horizontal spacing of multiple staffs (april 1996) I coded it (and did
 not test it). After starting with this fundamental piece, I slowly
 added the stages which come before spacing, and after.  A half year
-later later, I had a first working version, (october 1996).  I
-announced Patchlevel 0.0.7 (or 8) to the mutex list after asking some
-technical details on spacing; it was downloaded approximately 4 times.
-Then I got the hang of it, and in the subsequent two months, I coded
-until it had doubled in size (pl 23).
+later, I had a first working version, (october 1996).  I announced
+Patchlevel 0.0.7 (or 8) to the mutex list after asking some technical
+details on spacing; it was downloaded approximately 4 times.  Then I
+got the hang of it, and in the subsequent two months, I coded until it
+had doubled in size (pl 23).