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