lilypond-1.3.65
[lilypond.git] / Documentation / MANIFESTO.pod
blob58847a4d842c659ab75d8ca4997a2ac75c2a1572
1 =head1 NAME
3 MANIFESTO -- Rationale behind the GNU LilyPond project
5 =head1 DESCRIPTION
8 GNU LilyPond was written with some considerations in mind:
11 =over 4
13 =item *
15 Describing a well-defined language for defining music. We call
16 this language (rather arrogantly) The Musical Definition Language
17 (mudela for short). GNU LilyPond reads a mudela sourcefile and outputs a
18 TeX file.  
20 =item *
22 Providing an easy-to-use interface for typesetting music in
23 its broadest sense. This interface should be intuitive from a musical
24 point of view. By broadest sense we mean: it is designed for music
25 printed left to right in staffs, using notes to designate rythm and
26 pitch.
28 =item  *
30 Generating high-quality output. Ideally it should be of a professional
31 quality. We'd like to render Herbert Chlapiks words, "Fine music
32 setting is not possible without a knowledgeable printer,"  untrue.
34 =item *
36 Making a system which is fully tweakable. It should be possible to
37 typeset a book on how not to typeset music.
39 =back 
41 =head1 LILYPOND
44 Further considerations while doing the programming
46 =over 4
48 =item *
50 GNU LilyPond uses TeX for its output. This is not a key issue: in a
51 future version, GNU LilyPond might bypass TeX, but at the moment TeX
52 is convenient for producing output.
54 =item *
56 GNU LilyPond does not display notes directly, nor will it be rehacked
57 to be used interactively. GNU LilyPond writes output to a file.  It
58 will not be extended to play music, or to recognize music.
60 [As an aside, I am contemplating to create a library for rendering
61 music, which is "X-capable", so that others can create interactive tools]
63 =item *
65 GNU LilyPond is intended to run on Unix platforms, but it should
66 be portable to any platform which can run TeX and the GNU tools
68 =item *
70 GNU LilyPond is free. Commercial windows packages for setting music are
71 abundant. Free musicprinting software is scarce. For more thoughts on
72 this, please consult the F<gnu-music> documentation.
74 =item *
76 GNU LilyPond is written in GNU C++. It will not be downgraded/ported to fit
77 broken systems.
79 =back
81 =head1 MUDELA
83 The design of Mudela has been (perfect past tense, hopefully) an
84 ongoing process, the most important criteria being:
86 =over 4
88 =item *
90 define the (musical) message of the composer as unambiguously as possible.
92 This means that, given a piece Mudela, it should be possible for a
93 program to play a reasonable interpretation of the piece.
95 It also means that, given a piece of Mudela, it should be possible for a
96 program to print a score of the piece.
98 =item *
100 be intuitive, and easily readable (compared to, say, Musi*TeX input,
101 or MIDI :-),
103 =item *
105 be easily writable in ASCII with a simple texteditor
107 =back
109 Other considerations were (and will be):
111 =over 4
113 =item *
115 be able to edit the layout without danger of changing the original
116 music (Urtext),
118 =item *
120 allow for adding different interpretations, again, 
121 without danger of changing the original,
123 =item *
125 easy to create a conductor's score, 
126 as well as the scores for all individual instruments,
128 =item *
130 provide simple musical manipulations, such as S<(i) extracting> a
131 slice of music from a previously defined piece, S<(ii) extracting>
132 only the rhythm from a piece of music, S<(iii) transposing>, etc.,
134 =item *
136 easy to comprehend to both programmers and others.
138 =back
140 One of the things that (might) be here would be: feasible to use in a
141 graphic editor. We don't have experience with these beasts, so we
142 don't know how to do this. Comments appreciated.
144 Musical pieces could be
146 =over 4
148 =item *
150 Orchestral scores, (eg Mahler)
152 =item *
154 piano pieces (eg. Schubert, Rachmaninov),
156 =item *
158 pop songs (lyrics and chords),
160 =item *
162 Gregorian chants,
164 =item *
166 Bach multivoice organ pieces,
168 =item *
170 Short excerpts to be used in musicological publications.
172 =back