From bf522751a1d342ca768517e528222968a3011c4c Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:28:20 +0000 Subject: [PATCH] lilypond-0.0.23 --- Documentation/README.pod | 136 +++++++++++++++++++++++---------------- NEWS | 21 +++++- cadenza.ly | 38 ----------- kortjakje.ly | 79 ----------------------- maartje.ly | 79 ----------------------- pavane.ly | 119 ---------------------------------- scales.ly | 36 ----------- symbol.ini | 7 -- 8 files changed, 101 insertions(+), 414 deletions(-) delete mode 100644 cadenza.ly delete mode 100644 kortjakje.ly delete mode 100644 maartje.ly delete mode 100644 pavane.ly delete mode 100644 scales.ly delete mode 100644 symbol.ini diff --git a/Documentation/README.pod b/Documentation/README.pod index 750aa773ea..491c18e06a 100644 --- a/Documentation/README.pod +++ b/Documentation/README.pod @@ -9,10 +9,10 @@ Lilypond - a music typesetter =head1 DESCRIPTION LilyPond typesets music. It translates script files (mudela files or -F<.ly>'s) into TeX input. Typesetting music is a complex task, +F<*.ly>'s) into TeX input. Typesetting music is a complex task, whereas the message that printed music conveys is usually a simple one. LilyPond is a try at providing a simple interface for setting -music LilyPond has these features: +music. LilyPond has these features: =over 5 @@ -39,27 +39,25 @@ a different file. =head1 DESIGN CONSIDERATIONS -LilyPond was written with some -considerations in mind: +LilyPond was written with some considerations in mind: =over 5 -=item * -Describing a well-defined language for defining music. We call this -language (rather arrogantly) The Musical Definition Language (mudela -for short). LilyPond reads a mudela sourcefile -and outputs a TeX file. This musical definition language should: +=item * Describing a well-defined language for defining music. We call +this language (rather arrogantly) The Musical Definition Language +(mudela for short). LilyPond reads a mudela sourcefile and outputs a +TeX file. This musical definition language should: =over 5 -=item 1 +=item 1. define the musical message of the writer as unambigiously as possible. -=item 2 +=item 2. be easily readable. (as compared to, say, MusixTeX input) -=item 3 +=item 3. be writable in ASCII (with a simple texteditor). =back @@ -80,7 +78,7 @@ issue: in a future version, LilyPond might bypass TeX, but at the moment TeX is very convenient for producing output. =item * - Generate high-quality output. Ideally it should be of a professional +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. @@ -111,21 +109,25 @@ broken systems. =over 5 +=item B<-I,--include>=F + +add F to the search path for input files. + =item B<-d,--debug>, debugging. LilyPond will read the file F<.dstreamrc>, which tells for what functions to produce copious debugging output. =item B<-w,--warranty>, -warranty +Show the warranty with which LilyPond comes. (It comes with B!) -=item B<-o,--output>, +=item B<-o,--output=>F, -default output file +Set the default output file to F. =item B<-h,--help>, -help +Show a summary of usage =back @@ -146,41 +148,37 @@ Compilation: =item * Unix. Any decent Linux distribution is fine. LilyPond is known to run -on Linux and Solaris +on Linux, AIX, Digital Unix and Solaris =item * - GNU C++ v2.7 or better (with libg++ ) +GNU C++ v2.7 or better, with libg++. Version 2.7.2 or better recommended. =item * - GNU make. +GNU make. =item * - flex (2.5.1 or better) +flex (2.5.1 or better) =item * -bison/yacc +Bison or YACC. -=item * -The "flower" library, -which should be available from the -same source you got this from. +=item * The "Flower" library, which should be available from the same +source you got this from. -=item * -perl +=item * perl. The Makefile uses perl for trivial operations, and you +could tinker with it to use sed or awk. =back - -The Makefile uses perl for trivial operations, and you could tinker -with it to use sed or awk. - -Operation: +LilyPond does use a lot of resources. For operation you need the following: =over 5 -=item * TeX +=item * +TeX -=item * the MusixTeX fonts +=item * +The MusixTeX fonts. (I use version T.59) =back @@ -193,6 +191,7 @@ Do: cd flower; make; cd .. tar zxf lilypond-1.2.13.tar.gz cd lilypond-1.2.13 + configure make You might want to edit Variables.make to tailor the compilation flags. @@ -206,16 +205,16 @@ builtin bool =item * typeof -=item * +=item * operator ? -=item * +=item * the new for-scope =item * class Rational (libg++) -=item * +=item * named return values =back @@ -231,18 +230,19 @@ Han-Wen Nienhuys , Main author Jan Nieuwenhuizen , bits of FlowerLib, general comments. =item * -Mats Bengtsson , bugfixes, testing. +Mats Bengtsson , bugfixes, testing, general comments. =back Your name could be here! If you want to help, then take a look at the -SMALLISH PROJECTS section of LilyPond. Some do not involve coding C++ +SMALLISH PROJECTS section of in the file F. Some do not involve +coding C++ =head1 EXAMPLES At this time, LilyPond is only suited for Quick & Dirty jobs (the -output quality still is too low). If you're not discouraged; this is -what I type in my xterm: +output quality of multistaff material still is too low). If you're not +discouraged; this is what I type in my xterm: lilypond someinput.ly tex test @@ -250,24 +250,25 @@ what I type in my xterm: This is what the output looks like over here: - hw:~/musix/spacer$ lilypond maartje.ly - LilyPond 0.0.17/FlowerLib 1.0.14. Compile: Dec 17 1996, 11:33:54 (g++ 2.7.2) - Parsing ... [symbol.ini][maartje.ly] - Processing ... Calculating ... Postprocessing ... - output to lelie.uit... + hw:~/musix/spacer$ lilypond input/maartje + LilyPond 0.0.23/FlowerLib 1.0.20. Compile: Jan 20 1997, 00:51:06 (g++ 2.7.2) + Parsing ... [./init//symbol.ini[./init/dutch.ini][./init/script.ini][./init/table_sixteen.ini]][./input/maartje.ly] + Processing music ... warning: process_requests(): beamed note should have a stem (t = 5/8) + Preprocessing ... Calculating ... Postprocessing ... + output to lelie.out... hw:~/musix/spacer$ tex test This is TeX, Version 3.14159 (C version 6.1) (test.tex Hyphenation patterns for english, dutch, loaded. (lilyponddefs.tex) (lelie.uit) [1] [2] ) - Output written on test.dvi (2 pages, 8072 bytes). + Output written on test.dvi (2 pages, 8420 bytes). Transcript written on test.log. hw:~/musix/spacer$ xdvi test& - [1] 1468 + [1] 855 -Check out kortjakje.ly, it has some comments +Check out F, it has some comments =head1 PROBLEMS @@ -275,7 +276,7 @@ Check out kortjakje.ly, it has some comments If LilyPond bombs out, then please recompile using B<-g>, and send a copy of the input which causes the error and a gdb stacktrace of the crash. It also helps if you can print the values of the objects. So if -you trace is +your trace is (gdb) backtrace 12 #0 Interval::operator+= (this=0x11fffec60..) @@ -286,7 +287,7 @@ you trace is : Than it would help if you send a dump of the Interval and the Item -(use: 'print *this' or use LilyPond print() methods). +(use: C or use LilyPond C methods). This is a beta version of LilyPond. Please send your helpful comments and patches to me (see AUTHORS section) @@ -303,9 +304,36 @@ includes files from the directory F. =head1 SEE ALSO -lilygut(1), lilyinput(1) +There are some documentation files in the subdirectory F, +among others: lilygut, lilyinput, error, faq, -=head1 REMARKS +=head1 REMARKS LilyPond has no connection with the music package RoseGarden, other than the names being similar. + + +=head1 HISTORY + +(for a detailed changelog, see F) + +LilyPond's roots lie in MPP, a preprocessor to the rather arcane +MusiXTeX macro package for TeX. A friend of mine, Jan Nieuwenhuizen +wrote the first 44 versions (0.01 to 0.44), then his program caught my +attention, and I was slowly sucked in to the interesting problem of +easily producing beautifully printed music. I contributed some +code. We soon realised that MPP's design was too fundamentally broken +to be repaired. It was decided to rewrite MPP. We debated a lot about +the requirements to an inputformat (fall 1995). I sat down and started +with a parser-first, bottom-up rewrite called mpp95 (which totally +failed, obviously). + +After long and hard thinking, I came up with an algorithm for the +horizontal spacing of multiple staffs (april 1996) I coded it (and did +not test it). After starting with this fundamental piece, I slowly +added the stages which come before spacing, and after a few months, I +had a first working version, (october 1996). I announced Patchlevel 0.0.7 +(or 8) to the mutex list after asking some technical details on +spacing; it was downloaded approximately 4 times. Then I got the hang +of it, and in the subsequent two months, I coded until it had +doubled in size (pl 23). diff --git a/NEWS b/NEWS index a2033eb366..93baaa2807 100644 --- a/NEWS +++ b/NEWS @@ -1,13 +1,30 @@ + +pl 23: + - TODO file inc'd + - cadenza mode. + - default extension, search path. + - error.pod,faq.pod + - Markers + - configure script + - scrapped VPATH + - inputfile name in output. +Internal changes: + - Split Input_* parsing steps to enable marking +Bugfixes: + - unconnected columns + + pl 22: - doco from mpp - repeat signs - | checks for bar in a voice (Barcheck_req) Internal changes: - naming (Hungarian notation, svec vs. Array) - - huge memleak fixed; unearthed lots of bugs - - bug noteheadswap - cleanup PScore, Score - removed Staff_commands, plugging commands into Staff_column directly +Bugfixes: + - bug noteheadswap + - huge memleak fixed; unearthed lots of bugs pl 21: - scripts diff --git a/cadenza.ly b/cadenza.ly deleted file mode 100644 index b61616cf02..0000000000 --- a/cadenza.ly +++ /dev/null @@ -1,38 +0,0 @@ -% -% Cadenza to Mozart Horn/3 -% - -cad = music { $ - \duration { 8} - \textstyle "italic" - 'c4._"f" g8 - \textstyle "roman" - ['e^"accel" ()'d 'c b] - [b()'c] g-\fermata c [c_"rubato" e g 'c] - \octave{'} - e4. e [g ()f_"rit" e d] - - \duration{16} - dis4()e4 r8 [c d] [e f g gis] - \duration{4} - a-> `f()`e g - f-> `d()`cis e - \duration{8} - d4^\fermata r8 `a [`b cis] - \duration{16} - [d cis d e] - f4()[f e d c] `b4 - \octave{} \plet{2/3} ['d8 'c8 a8] \plet{1/1} % triplet! - g2 [g c e g] ['c e g 'c]\octave{'} - [e `g c e] g4^\fermata %()% BUG! - [g8.(_"a tempo" e g8. )e] - a4. g8 [f8 e8 d8 c8] - `g2 d2^"tr" - c4 $} - -score { - staff { melodic - music { cad } - } - commands { meter 4 4 skip 13:0 } -} diff --git a/kortjakje.ly b/kortjakje.ly deleted file mode 100644 index ac78340c4f..0000000000 --- a/kortjakje.ly +++ /dev/null @@ -1,79 +0,0 @@ -% "Ah, je vous dirai, maman" (Mozart) -% -% bare bones version. (written down from memory :-) - -% the % is a comment. - -% declare music (which will be in *one* staff ) for the lead voice - -melodie = music { - $ % switch Lilypond in note-mode - \octave {} % set the default octave - % the default note duratino is 4 - %%% theme - c c | % the '|' checks if there is a new measure here. - g g| - a a| - - g2| % g2 means a "g-1" pitched half-note - f f| e e| d d| c2 - g g| f f| e e| d d| g g| f f| e e| d d| - %%% var 1 - c r8 c8 % r8 means an 8th rest. - (| % start a slur - % NOTE: the slurstart should be directly after the note - ) % end a slur. - g r8 g8 (| ) a r8 a8 (| ) g r4 - f r8 f8 (| ) e4 r8 e8 ( |) d4 r8 d8 (| ) c4 r4 -$} - - % more of this. -begeleiding = -$ - \music { % as you can see, the $ sign obliges - % you to precede keyword by a backslash: \ - \octave { ` } % default octave: 1 below the first octave. - - %%% theme - `c % ` means one octave lower. - % Similarly: ' means one higher. - c e c f c e c d `b c `a `f `g `c2 - \octave { ` } - e `g d `g c `g `b `g e `g d `g c `g `b `g - %%%% var 1 - r8 e8() c r8 e8() c r8 f8()c r8 e8()c - r8 d8()`b r8 c8()`a r8 `a8()`f r8 `e8()`c -}$ - - -% create a staff named bstaf -bstaf = staff { - melodic - music { begeleiding } % use the declared music - commands { % commands with Staff-wide impact. - clef bass % bass-clef - } - } - -% another one -vstaf = staff { - melodic - music { melodie } - commands { clef violin } - % default clef is violin clef - } - - -score { - staff { vstaf } - staff { bstaf } - paper { - unitspace 2.5cm % a whole note takes 2.5 cm ideally. - } - commands { - meter 2 4 % a 2/4 meter. - skip 33:0 % skip 32 measures, and generate the bars -% meter 6 8 % another meter - } -} - diff --git a/maartje.ly b/maartje.ly deleted file mode 100644 index f585c27b80..0000000000 --- a/maartje.ly +++ /dev/null @@ -1,79 +0,0 @@ -ritme = staff {rhythmic - music {$ - c8 - [a8() a8. a8 a16 a16 a16] c4. - - %[c8( )'a8() c8 c8]% BUG! - c2 c2 - - [fis16 'dis16( fis16 'dis16 ][fis16) 'dis16 fis16 'dis16] - c2 r32 r32 r16 r8 r4 - [c8. c16] - [c16 c8.] - [c16 c16 c8] - [c16 c8 c16] -% [c16 r8 c16] - - c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 - - $} -} - -melody= -staff { melodic - music{$ -c8 - r4 r4 r4 r4 - 'cis2.. r8 - r4 r8 r16 r32 r32 - - \duration {4} - { - \music { c () `bes [c8 c8] } - \music { 'fis ()'gisis fis8 fis8 } - \music { d () d dis8 dis8 } - \music { a () bes eis8 eis8 } - \music { fis () g gis8 gis8 } - } - { c4 'c4 } - - [d8 e8 'f8 g8] d8 e8 f8 g8 - ''fis2 - a8 b8 'c8 'd8 ''c8 ```c8 c4 c4 c4 c4 - \duration{ 16 } `b `a `g `f \duration{ 4} - - - c `b `a `g `f `e `d `c ``b ``a ``g ``f ``e ``d ``c - $} - - commands { - - skip 3:0%BUG - key $ fis cis gis $ - skip 2:0 - key $ $%BUG - skip 5:0 - clef bass -} -} - -score { - paper { - geometric 1.4 - unitspace 3.0 cm - } - staff { ritme } - staff { melody } - commands { - meter 4 4 - partial 8 - skip 1:2 - bar ":|:" - skip 2:0 - meter 2 4 - skip 19:0 - } -} - - - diff --git a/pavane.ly b/pavane.ly deleted file mode 100644 index a5ad5cc311..0000000000 --- a/pavane.ly +++ /dev/null @@ -1,119 +0,0 @@ -% pavane pour une Infante d\'efunte -% -% Maurice Ravel -% -% (Ravel has been dead for over 50 years. This does not have copyright) -% - -horn = -staff {melodic - music{ $ - \octave { ' } - \duration { 8} - -% 1 - d2( [)d e cis `b] | - `a4 [`b cis] [cis `b] `b4 | - fis2( [)fis g e d] | - cis4 [d e(] [)e fis d cis] | - `b4 [cis d(] [)d e cis `b] | - cis2 r2^"c\'edez" | - r4 fis2 fis4 | - fis2^"en mesure" ()[fis e a fis]| - fis4-- e4-- d4-- e4-- | - `b2()[`b^"un peu retenu" `a( d cis]| -% 11 - )`b [`fis^"en \'elargissant"-- `a-- `b--] cis4-- `b4--| - `fis2 r2 | - cis4^"1er mouvement" d4^"tr\`es lontain" ()[d cis d e] - \octave { } - | a4 gis2. | - a4 b4()[b a b 'cis] | - fis4 e4 cis2 | - e4 fis4 () [fis e fis gis] | - cis4 `b4()`b8 r8 r4^"tr\`es soutenu" | - - r4 r4 | %2/4 meter - - 'cis4_"\dyn ppp" 'd4 () ['d 'cis 'd 'e] | - a4 gis2. | - a4 b4()[b a b 'cis] | - fis4 e4 cis2 | - e4_"\dyn pp" fis4()[fis e fis gis] | - cis4_"\dyn mf" `b4()`b8 r8 r4^"un peu plus lent" | - r1 | - r2 r4 r4 %^\fermata -%% cut 'n paste. - \octave { ' } - | d2^"Reprenez le mouvement"( [)d e cis `b] | - `a4 [`b cis] [cis `b] `b4 | - fis2( [)fis g e d] | - cis4 [d e(] [)e fis d cis] | - `b4 [cis d(] [)d e cis `b] | - cis2 r2^"c\'edez" | - r4 fis2 fis4 | - fis2^"en mesure"()[fis e a fis] | - fis4-- e4-- d4-- e4-- | - `b2() [`b `a-. d-. cis-.] | - `b-. [`fis^"large" `a `b] cis4 `b4 `fis2 r2 | - - %% mark B - r1^"1er mouvement" - \duration {8} - | r2 [c-.( e-. c-. )`a-. ] - \plet {2/3}\octave{} | - | [c e a ] \plet{1/1} b4-> () [b c-- e-- a--] | - b4. b8()g2 | - r1 | - r2 [f a f d] - \plet {2/3} - | [f a 'c] \plet{1/1} 'e4-^ () ['e f-> a-> 'c->] | - 'e4._"sf" 'e8()'c4 r4 | - r1 | - r4 r4-\fermata - \octave { ' } - |d2( [)d e cis `b] | - `a4 [`b cis] [cis `b] `b4 | - fis2( [)fis g e d] | - cis4 [d e(] [)e fis d cis] | - `b4 [cis d(] [)d e cis `b] | - cis2 r2^"c\'edez" | - r4 fis2 fis4 | - fis2()[fis e a fis] | - fis4-- e4-- d4-- e4-- - \octave{ } - | b2()[b a 'd 'cis] | - b [fis a b ] 'cis4 b4 | - fis2 r2 | - r1-\fermata - $} - commands { - key $fis cis $ - } -} -score { - staff { - horn - } - paper { - output "pavane.out" - unitspace 1.5 cm - geometric 1.4 - } - commands { - meter 4 4 - skip 18:0 - meter 2 4 - skip 1:0 - meter 4 4 - skip 20:0 - bar "|:" - skip 9:0 - meter 2 4 - skip 1:0 - bar ":|" - meter 4 4 - skip 13:0 - bar "||" - } -} \ No newline at end of file diff --git a/scales.ly b/scales.ly deleted file mode 100644 index 99d6f5630a..0000000000 --- a/scales.ly +++ /dev/null @@ -1,36 +0,0 @@ - -blah = -staff {melodic - music{ $ c1 - \duration { 8} - [c-> d-> e-> f->][g-> a-> b-> 'c->] -\octave{'} ['c-^ b-^ a-^ g-^][f-^ e-^ d-^ c-^] - -\octave{} ['c-^ b-^ a-^ g-^][f-^ e-^ d-^ c-^] - - [c-. d-. e-. f-.][g-. a-. b-. 'c-.] - ['c-- b-- a-- g][f-- e-- d c--] - [c-\portato d-\portato e-\portato f-\portato][g-\portato a-\portato b-\portato 'c-\portato] - ['c-\upbow b-\upbow a-\downbow g-\downbow][f-\downbow e-\downbow d-\upbow c-\upbow] - [c-| d-| e-| f-|][g-| a-| b-| 'c-|] - ['c b a g][f e d c] - [c d e f][g a b 'c] - ['c b a g][f e d c] - $} - commands { - } -} -score { - staff { - blah - } - paper { - symboltables { table_sixteen} - unitspace 1.5 cm - geometric 1.4 - } - commands {meter 4 4 - - skip 18:0 - } -} \ No newline at end of file diff --git a/symbol.ini b/symbol.ini deleted file mode 100644 index eab55e899f..0000000000 --- a/symbol.ini +++ /dev/null @@ -1,7 +0,0 @@ - - -include "init/dutch.ini" -include "init/script.ini" -include "init/table_sixteen.ini" - - -- 2.39.5