From: fred Date: Sun, 24 Mar 2002 19:39:21 +0000 (+0000) Subject: lilypond-0.0.51 X-Git-Tag: release/1.5.59~4954 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=dc01b2f4b0503047ce62f037ef99b357bebe285c;p=lilypond.git lilypond-0.0.51 --- diff --git a/Documentation/MANIFESTO.pod b/Documentation/MANIFESTO.pod new file mode 100644 index 0000000000..7808c4bb19 --- /dev/null +++ b/Documentation/MANIFESTO.pod @@ -0,0 +1,157 @@ +=head1 NAME + +MANIFESTO -- Rationale behind the GNU LilyPond project + +=head1 DESCRIPTION + + +GNU LilyPond was written with some considerations in mind: + + +=over 4 + +Describing a well-defined language for defining music. We call +this language (rather arrogantly) The Musical Definition Language +(mudela for short). GNU LilyPond reads a mudela sourcefile and outputs a +TeX file. + +=item * + +We want to provide an easy-to-use interface for typesetting music in +its broadest sense. This interface should be intuitive from a musical +point of view. By broadest sense we mean: it is designed for music +printed left to right in staffs, using notes to designate rythm and +pitch. + +=item * + +Generate high-quality output. Ideally it should be of a professional +quality. We'd like to render Herbert Chlapiks words, "Fine music +setting is not possible without a knowledgeable printer," untrue. + +=back + +=head1 LILYPOND + + +Further considerations while doing the programming + +=over 4 + +=item * + +GNU LilyPond uses MusiXTeX fonts and TeX for its output. This is not a key +issue: in a future version, GNU LilyPond might bypass TeX, but at the moment +TeX is very convenient for producing output. + + +=item * + +GNU LilyPond does not display notes directly, nor will it be rehacked to be +used interactively. GNU LilyPond writes output to a file. It will not be +extended to play music, or to recognize music. + +=item * + +GNU LilyPond is intended to run on Unix platforms, but it should +be portable to any platform which can run TeX and the GNU tools + +=item * + +GNU LilyPond is free. Commercial windows packages for setting music are +abundant. Free musicprinting software is scarce. + +=item * + +GNU LilyPond is written in GNU C++. It will not be downgraded/ported to fit +broken systems. + +=back + +=head1 MUDELA + +The design of Mudela has been (perfect past tense, hopefully) an +ongoing process, the most important criteria being: + +=over 4 + +=item * + +define the (musical) message of the composer as unambiguously as possible, + +=item * + +be intuitive, and easily readable +(compared to, say, Musi*TeX input, or MIDI :-), + +=item * + +be writable in ASCII with a simple texteditor, yfte(TM). + +=back + +Other considerations were (and will be): + +=over 4 + +=item * + +be able to edit the layout without danger of changing the original +music (Urtext), + +=item * + +allow for adding different interpretations, again, +without danger of changing the original, + +=item * + +easy to create a conductor's score, +as well as the scores for all individual instruments, + +=item * + +provide simple musical manipulations, such as +S<(i) extracting> a slice of music from a previously defined piece, +S<(ii) extracting> only the rhythm from a piece of music, +S<(iii) transposing>, etc., + +=item * + +easy to comprehend to both programmers and others. + +=back + +One of the things that (might) be here would be: feasible to use in a +graphic editor. We don't have experience with these beasts, so we +don't know how to do this. Comments appreciated. + +Musical pieces could be + +=over 4 + +=item * + +Mahlerian orchestral scores, + +=item * + +piano pieces (Schubertian, Rachmaninovian), + +=item * + +pop songs (lyrics and chords), + +=item * + +gregorian chants, + +=item * + +Bach multivoice organ pieces, + +=item * + +short excerpts to be used in musicological publications. + +=back diff --git a/Documentation/mudela.pod b/Documentation/mudela.pod index 4ee456d040..d8bfb8541a 100644 --- a/Documentation/mudela.pod +++ b/Documentation/mudela.pod @@ -1,10 +1,10 @@ =head1 NAME -Mudela - LilyPond input format 0.1 +Mudela - GNU LilyPond input format 0.1 =head1 DESCRIPTION -This document describes the the LilyPond input format, which is an +This document describes the the GNU LilyPond input format, which is an effective language for definining music. We call this language (rather arrogantly) The Musical Definition Language (S). @@ -12,89 +12,6 @@ The first aim of Mudela is to define a piece of music, being complete from both from a musical typesetting, as from a musical performing point of view. -The design of Mudela has been (perfect past tense, hopefully) -an ongoing process, -the most important criteria being: - -=over 4 - -=item * - -define the (musical) message of the composer as unambiguously as possible, - -=item * - -be intuitive, and easily readable -(compared to, say, Musi*TeX input, or MIDI :-), - -=item * - -be writable in ASCII with a simple texteditor, yfte(TM). - -=back - -Other considerations were (and will be): - -=over 4 - -=item * - -be able to edit the layout without danger of changing the original -music (Urtext), - -=item * - -allow for adding different interpretations, again, -without danger of changing the original, - -=item * - -easy to create a conductor's score, -as well as the scores for all individual instruments, - -=item * - -provide simple musical manipulations, such as -S<(i) extracting> a slice of music from a previously defined piece, -S<(ii) extracting> only the rhythm from a piece of music, -S<(iii) transposing>, etc., - -=item * - -easy to comprehend to both programmers and others. - -=back - -Musical pieces could be - -=over 5 - -=item * - -Mahlerian orchestral scores, - -=item * - -piano pieces (Schubertian, Rachmaninovian), - -=item * - -pop songs (lyrics and chords), - -=item * - -gregorian chants, - -=item * - -Bach multivoice organ pieces, - -=item * - -short excerpts to be used in musicological publications. - -=back - =head1 Overview @@ -118,6 +35,15 @@ entering C at the start of a line: Line comments are introduced by a C<%> +=head2 Versions + +Occasionally, small changes in syntax across different versions of +Mudela might give syntax errors. To warn you about possible +incompatibilities, you can specify the Mudela version for which the +inputfile was written, + + \version "0.0.50"; + =head2 Words Keywords are preceded by a backslash "\". They contain alphabetic @@ -251,7 +177,9 @@ duration is one and a half quaver (C<4.>) times 2/3. Notenames are just a special kind of identifiers, and can be declared for any language appropriate (see F). The default language -for notenames is defined to be dutch, +for notenames is defined to be dutch. In dutch, the notenames are +a,b,c,d,e,f and g. Sharps are formed by adding the extension "is", +flats by adding "es" % double sharp cisis disis eisis fisis gisis aisis bisis @@ -336,7 +264,6 @@ the c- construct chooses the default up/down direction. - =head2 Defaults If omit the duration of a, a default value is substituted. For this @@ -392,7 +319,7 @@ duration entry are bound together using an underscore =head2 Music direction -Mudela reads left to right, but LilyPond can stack voices and +Mudela reads left to right, but you can still stack voices and Voice_elements which are produced in two directions: horizontal (voice like) and vertical (chord like) @@ -419,6 +346,14 @@ The duration of a chord equals the union of the durations of each of its elements. The C<\multivoice> is a construct which is explained below. +=head2 Transposition + +You can transpose horizontal music in the following way: + + \transpose { d % from c to d that's one octave up. + { e4 f4 } % the horizontal music + } + =head2 Rhythms Rhythms in Mudela are entered identical to Simple mudela. @@ -462,7 +397,7 @@ In concrete, a piece of Mudela has the following structure: =head2 Examples -Examples are included with the LilyPond distribution. For the sake of +Examples are included with the GNU LilyPond distribution. For the sake of maintenance no long examples are included in this document. @@ -528,15 +463,11 @@ requests. Merging of requests is preferably done with other requests done by members of the same voicegroups (beams, brackets, stems) -=head2 Other - -LilyPond first reads F, which contains declarations crucial -to proper operation of LilyPond (symbol tables, note names). =head1 HISTORY -This language has a number of roots. First and foremost, LilyPond's +This language has a number of roots. First and foremost, GNU LilyPond's predecessor mpp was the inspiration of simple Mudela. Secondly, the hierarchical structure looks a lot like Rayce's (Rayce is a raytracer that I've written as a hobby project. ), which in turn owes a lot to diff --git a/init/dutch.ini b/init/dutch.ini index 5d040d38dd..7d814d91c0 100644 --- a/init/dutch.ini +++ b/init/dutch.ini @@ -35,6 +35,7 @@ gis = \melodic_request { -1 4 1 } gisis = \melodic_request { -1 4 2 } ases = \melodic_request { -1 5 -2 } + aes = \melodic_request { -1 5 -1 } as = \melodic_request { -1 5 -1 } a = \melodic_request { -1 5 0 } ais = \melodic_request { -1 5 1 } @@ -76,7 +77,9 @@ G = \melodic_request { -2 4 0 } Gis = \melodic_request { -2 4 1 } Gisis = \melodic_request { -2 4 2 } + Aeses = \melodic_request { -2 5 -2 } Ases = \melodic_request { -2 5 -2 } + Aes = \melodic_request { -2 5 -1 } As = \melodic_request { -2 5 -1 } A = \melodic_request { -2 5 0 } Ais = \melodic_request { -2 5 1 }