
@node Preface
@chapter Preface


It must have been during a rehearsal of the EJE (Eindhoven Youth
Orchestra), somewhere in 1995 that Jan, one of the cranked violists told
Han-Wen, one of the distorted french horn players, about the grand new
project he was working on.  It was an automated system for printing
music (to be precise, it was MPP, a preprocessor for MusiXTeX).  As it
happened, Han-Wen accidentally wanted to print out some parts from a
score, so he started looking at the software, and he quickly got hooked.
It was soon decided that MPP was a dead end. After lots of
philosophizing and heated e-mail exchanges Han-Wen started LilyPond in
1996.  This time, Jan got sucked into Han-Wen's new project.  The rest
is, as they say, history.

You're reading the preface of the manual for LilyPond 1.4, which is in
all honesty, the first release of LilyPond that combines stability,
flexibility and good documentation.  We hope you will have as much fun
in using LilyPond as we have when hacking it.

This manual was written to help you learn LilyPond, but as you might
imagine, we ourselves don't have much to learn about it.  We can't
really judge whether the manual is helpful for users, but maybe you can!
Don't hesitate to tell us if you find any part of the manual vague,
unclear or outdated.

Han-Wen and Jan

Utrecht/Amsterdam, The Netherlands, March 2001.


@ignore

appendix?
[details from lilypond-1.0.0]

GNU LilyPond's roots lie in MPP, a preprocessor to the rather arcane
MusiXTeX macro package for TeX.  A friend of mine, Jan Nieuwenhuizen
wrote the first 44 versions (0.01 to 0.44), then his program caught my
attention, and I was slowly sucked in to the interesting problem of
easily producing beautifully printed music.  I contributed some
code.  We soon realised that MPP's design was too fundamentally broken
to be repaired, so it was decided to rewrite MPP.  We debated a lot about
the requirements to an inputformat (fall 1995).  I sat down and started
with a parser-first, bottom-up rewrite called mpp95 (which totally
failed, obviously).

After long and hard thinking, I came up with an algorithm for the
horizontal spacing of multiple staves (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, 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).

Most the other history is described in the NEWS file.  The first large
scale release (0.1) was done after approximately 78 patchlevels on
August 1, 1997.


@end ignore
