1 \input texinfo @c -*-texinfo-*-
2 @setfilename MANIFESTO.info
3 @settitle MANIFESTO - Rationale behind the GNU LilyPond project
5 @node Top, , Goals for mudela, (dir)
8 * MANIFESTO - Rationale behind the GNU LilyPond project::MANIFESTO - Rationale behind the GNU LilyPond project
13 @node MANIFESTO - Rationale behind the GNU LilyPond project, Goals for LilyPond, , Top
15 * Goals for LilyPond:: Goals for LilyPond
16 * Development constraints:: Development constraints
17 * Goals for mudela:: Goals for mudela
19 @chapter MANIFESTO -- Rationale behind the GNU LilyPond project
22 @node Goals for LilyPond, Development constraints, MANIFESTO - Rationale behind the GNU LilyPond project, MANIFESTO - Rationale behind the GNU LilyPond project
23 @section Goals for LilyPond
25 GNU LilyPond was written with some considerations in mind:
28 @item Describing a well-defined language for defining music. We call
29 this language (rather arrogantly) The Musical Definition Language
30 (mudela for short). GNU LilyPond reads a mudela sourcefile and outputs a
32 @item Providing an easy-to-use interface for typesetting music in
33 its broadest sense. This interface should be intuitive from a musical
34 point of view. By broadest sense we mean: it is designed for music
35 printed left to right in staffs, using notes to designate rythm and
37 @item Generating high-quality output. Ideally it should be of a professional
38 quality. We'd like to render Herbert Chlapiks words, "Fine music
39 setting is not possible without a knowledgeable printer," untrue.
40 @item Making a system which is fully tweakable. It should be possible to
41 typeset a book on how not to typeset music.
44 @node Development constraints, Goals for mudela, Goals for LilyPond, MANIFESTO - Rationale behind the GNU LilyPond project
45 @section Development constraints
47 Further considerations while doing the programming
50 @item 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.
53 @item GNU LilyPond does not display notes directly, nor will it be rehacked
54 to be used interactively. GNU LilyPond writes output to a file. It
55 will not be extended to play music, or to recognize music.
56 @item GNU LilyPond is intended to run on Unix platforms, but it should
57 be portable to any platform which can run TeX and the GNU tools
58 @item GNU LilyPond is free. Commercial windows packages for setting music are
59 abundant. Free musicprinting software is scarce. For more thoughts on
60 this, please consult the @file{gnu-music} documentation.
61 @item GNU LilyPond is written in GNU C++. It will not be downgraded/ported to fit
65 @node Goals for mudela, Top, Development constraints, MANIFESTO - Rationale behind the GNU LilyPond project
66 @section Goals for mudela
68 The design of Mudela has been (perfect past tense, hopefully) an
69 ongoing process, the most important criteria being:
72 @item define the (musical) message of the composer as unambiguously as possible.
73 This means that, given a piece Mudela, it should be possible for a
74 program to play a reasonable interpretation of the piece.
76 It also means that, given a piece of Mudela, it should be possible for a
77 program to print a score of the piece.
78 @item be intuitive, and easily readable (compared to, say, Musi*TeX input,
80 @item be easily writable in ASCII with a simple texteditor
83 Other considerations were (and will be):
86 @item be able to edit the layout without danger of changing the original
88 @item allow for adding different interpretations, again,
89 without danger of changing the original,
90 @item easy to create a conductor's score,
91 as well as the scores for all individual instruments,
92 @item provide simple musical manipulations, such as @emph{i} extracting a
93 slice of music from a previously defined piece, @emph{ii} extracting
94 only the rhythm from a piece of music, @emph{iii} transposing, etc.,
95 @item easy to comprehend to both programmers and others.
98 One of the things that (might) be here would be: feasible to use in a
99 graphic editor. We don't have experience with these beasts, so we
100 don't know how to do this. Comments appreciated.
102 Musical pieces could be
105 @item Orchestral scores, (eg Mahler)
106 @item piano pieces (eg. Schubert, Rachmaninov),
107 @item pop songs (lyrics and chords),
108 @item Gregorian chants,
109 @item Bach multivoice organ pieces,
110 @item Short excerpts to be used in musicological publications.