]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/MANIFESTO.pod
release: 0.0.59
[lilypond.git] / Documentation / MANIFESTO.pod
1 =head1 NAME
2
3 MANIFESTO -- Rationale behind the GNU LilyPond project
4
5 =head1 DESCRIPTION
6
7
8 GNU LilyPond was written with some considerations in mind:
9
10
11 =over 4
12
13 Describing a well-defined language for defining music. We call
14 this language (rather arrogantly) The Musical Definition Language
15 (mudela for short). GNU LilyPond reads a mudela sourcefile and outputs a
16 TeX file.  
17
18 =item *
19
20 We want to provide an easy-to-use interface for typesetting music in
21 its broadest sense. This interface should be intuitive from a musical
22 point of view. By broadest sense we mean: it is designed for music
23 printed left to right in staffs, using notes to designate rythm and
24 pitch.
25
26 =item  *
27
28 Generate high-quality output. Ideally it should be of a professional
29 quality. We'd like to render Herbert Chlapiks words, "Fine music
30 setting is not possible without a knowledgeable printer,"  untrue.
31
32 =item *
33
34 Make a  which system which fully tweakable. It should be possible to
35 typeset a book on how not to typeset music. 
36
37 =back 
38
39 =head1 LILYPOND
40
41
42 Further considerations while doing the programming
43
44 =over 4
45
46 =item *
47
48 GNU LilyPond uses MusiXTeX fonts and TeX for its output. This is not a key
49 issue: in a future version, GNU LilyPond might bypass TeX, but at the moment
50 TeX is very convenient for producing output.
51
52
53 =item *
54
55 GNU LilyPond does not display notes directly, nor will it be rehacked to be
56 used interactively. GNU LilyPond writes output to a file.  It will not be
57 extended to play music, or to recognize music.
58
59 =item *
60
61 GNU LilyPond is intended to run on Unix platforms, but it should
62 be portable to any platform which can run TeX and the GNU tools
63
64 =item *
65
66 GNU LilyPond is free. Commercial windows packages for setting music are
67 abundant. Free musicprinting software is scarce.
68
69 =item *
70
71 GNU LilyPond is written in GNU C++. It will not be downgraded/ported to fit
72 broken systems.
73
74 =back
75
76 =head1 MUDELA
77
78 The design of Mudela has been (perfect past tense, hopefully) an
79 ongoing process, the most important criteria being:
80
81 =over 4
82
83 =item *
84
85 define the (musical) message of the composer as unambiguously as possible,
86
87 =item *
88
89 be intuitive, and easily readable 
90 (compared to, say, Musi*TeX input, or MIDI :-),
91
92 =item *
93
94 be writable in ASCII with a simple texteditor, yfte(TM).
95
96 =back
97
98 Other considerations were (and will be):
99
100 =over 4
101
102 =item *
103
104 be able to edit the layout without danger of changing the original
105 music (Urtext),
106
107 =item *
108
109 allow for adding different interpretations, again, 
110 without danger of changing the original,
111
112 =item *
113
114 easy to create a conductor's score, 
115 as well as the scores for all individual instruments,
116
117 =item *
118
119 provide simple musical manipulations, such as 
120 S<(i) extracting> a slice of music from a previously defined piece, 
121 S<(ii) extracting> only the rhythm from a piece of music, 
122 S<(iii) transposing>, etc.,
123
124 =item *
125
126 easy to comprehend to both programmers and others.
127
128 =back
129
130 One of the things that (might) be here would be: feasible to use in a
131 graphic editor. We don't have experience with these beasts, so we
132 don't know how to do this. Comments appreciated.
133
134 Musical pieces could be
135
136 =over 4
137
138 =item *
139
140 Mahlerian orchestral scores,
141
142 =item *
143
144 piano pieces (Schubertian, Rachmaninovian),
145
146 =item *
147
148 pop songs (lyrics and chords),
149
150 =item *
151
152 gregorian chants,
153
154 =item *
155
156 Bach multivoice organ pieces,
157
158 =item *
159
160 short excerpts to be used in musicological publications.
161
162 =back