From 73be5f6fe264e90a56e45f2d70129b133731188b Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 10 Mar 1999 11:37:49 +0100 Subject: [PATCH] release: 1.1.34 --- AUTHORS.txt | 642 +-- Documentation/README-W32.yo | 8 +- Documentation/faq.yo | 8 + Documentation/man/ly2dvi.yo | 6 +- Documentation/man/out/lilypond.1 | 18 +- Documentation/man/out/ly2dvi.1 | 6 +- Documentation/ntweb/index.yo | 6 +- Documentation/topdocs/AUTHORS.yo | 2 +- Documentation/topdocs/index.yo | 6 +- INSTALL.txt | 3452 ++--------------- NEWS | 20 + PATCHES.txt | 1445 +------ README.txt | 1304 +------ TODO | 40 +- VERSION | 4 +- aclocal.m4 | 2 +- configure | 2 +- lily/axis-group-element.cc | 11 - lily/axis-group-spanner.cc | 2 - lily/bar-script-engraver.cc | 7 +- lily/base-span-bar-engraver.cc | 5 + lily/clef-item.cc | 14 +- lily/font-size-engraver.cc | 4 +- lily/graphical-element.cc | 16 - lily/include/audio-column.hh | 4 +- lily/include/axis-group-element.hh | 2 - lily/include/axis-group-item.hh | 10 - lily/include/axis-group-spanner.hh | 8 - lily/include/graphical-element.hh | 2 - lily/include/horizontal-group-item.hh | 6 - .../include/horizontal-vertical-group-item.hh | 3 - lily/include/item.hh | 31 +- lily/include/line-of-score.hh | 2 - lily/include/midi-item.hh | 19 +- lily/include/midi-stream.hh | 16 +- lily/include/performance.hh | 11 +- lily/include/score-element.hh | 31 +- lily/include/span-bar.hh | 1 - lily/include/spanner.hh | 2 - lily/include/stem.hh | 2 - lily/include/super-element.hh | 1 - lily/include/translator.hh | 5 +- lily/include/vertical-group-spanner.hh | 2 - lily/item.cc | 32 +- lily/line-of-score.cc | 13 - lily/lookup.cc | 31 +- lily/midi-item.cc | 19 +- lily/p-score.cc | 4 - lily/performance.cc | 43 +- lily/score-element.cc | 95 +- lily/span-bar-engraver.cc | 2 - lily/span-bar.cc | 6 - lily/span-score-bar-engraver.cc | 10 +- lily/spanner.cc | 20 - lily/super-element.cc | 9 - lily/template8.cc | 20 - lily/tfm.cc | 2 +- lily/translator.cc | 6 + make/out/lelievijver.lsm | 8 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 4 +- make/toplevel.make.in | 2 +- scm/lily.scm | 50 +- stepmake/Documentation/topdocs/AUTHORS.yo | 2 +- .../Documentation/topdocs/out/AUTHORS.txt | 9 +- stepmake/aclocal.m4 | 2 +- stepmake/configure | 2 +- stepmake/stepmake/install-out-targets.make | 5 +- stepmake/stepmake/install-targets.make | 7 +- stepmake/stepmake/metapost-targets.make | 4 +- 70 files changed, 960 insertions(+), 6643 deletions(-) delete mode 100644 lily/template8.cc diff --git a/AUTHORS.txt b/AUTHORS.txt index 69f0e8bae7..5ff726d465 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -1,577 +1,65 @@ -x T ascii -x res 240 24 40 -x init -p1 -x font 3 B -f3 -s10 -V400 -H240 -tAUTHORS -wh24 -t- -wh24 -twho -wh24 -tdid -wh24 -twhat -wh24 -ton -wh24 -tGNU -wh24 -tLilyPond? -n40 0 -V520 -H0 -tContents -n40 0 -V2560 -H1440 -n40 0 -V2640 -p2 -x font 1 R -f1 -s10 -V160 -H696 -t-2- -h672 -n40 0 -V280 -H0 -tThis -wh48 -tfile -wh48 -tlists -wh48 -tauthors -wh48 -tof -wh48 -tGNU -wh48 -tLilyPond, -wh24 -tand -wh24 -twhat -wh24 -tthey -n40 0 -V320 -H0 -twrote. -wh48 -tThis -wh24 -tlist -wh24 -tis -wh24 -talphabetically -wh24 -tordered. -n40 0 -V440 -H0 -to -h96 -tTom -wh24 -tCato -wh24 -tAmundsen -wh24 -t, -wh48 -tcembalo-par -Chy -h24 -n40 0 -V480 -H120 -ttita -wh24 -tin -wh24 -tmudela, -wh24 -taccordion -wh24 -tsymbols, -wh24 -tsome -wh24 -tmudela-book.py -n40 0 -V560 -H0 -to -h96 -tMats -wh288 -tBengtsson -wh288 -t, -n40 0 -V600 -H120 -thttp://www.s3.kth.se/~matsb/ -wh48 -tclef -wh48 -tstuff, -wh48 -tkey -wh48 -tstuff, -n40 0 -V640 -H120 -tswedish -wh24 -tnotenames, -wh24 -ttesting, -wh24 -tgeneral -wh24 -tcomments. -n40 0 -V720 -H0 -to -h96 -tEric -wh24 -tBullinger -wh24 -t, -wh24 -taccidental -wh24 -ttrans -Chy -h24 -n40 0 -V760 -H120 -tposition. -n40 0 -V840 -H0 -to -h96 -tJan -wh48 -tArne -wh48 -tFagertun -wh48 -t, -n40 0 -V880 -H120 -tTeX -wh24 -ttitling -wh24 -tand -wh24 -tlytodvi.sh -n40 0 -V960 -H0 -to -h96 -tAnthony -wh24 -tFok -wh24 -t, -wh24 -tdebian -wh24 -tpackage: -wh24 -tdebian/* -n40 0 -V1040 -H0 -to -h96 -tNeil -wh24 -tJerram -wh24 -t. -wh48 -tparts -wh24 -tof -wh24 -tDocumenta -Chy -h24 -n40 0 -V1080 -H120 -ttion/Vocab* -n40 0 -V1160 -H0 -to -h96 -tDonald -wh96 -tErvin -wh96 -tKnuth, -wh120 -thttp://www.cs-staff.stan -Chy -h24 -n40 0 -V1200 -H120 -tford.edu/~knuth/ -wh24 -tmf/ital-*.mf -wh24 -t(these -wh48 -twere -wh48 -ttaken -wh48 -tfrom -n40 0 -V1240 -H120 -tthe -wh24 -tCM -wh24 -tfonts) -n40 0 -V1320 -H0 -to -h96 -tWerner -wh48 -tLemberg -wh24 -t, -wh24 -tmisc -n40 0 -V1360 -H120 -tbugfixes, -wh24 -tsome -wh24 -tBeam -wh24 -tand -wh24 -tStem -wh24 -tcode. -n40 0 -V1440 -H0 -to -h96 -tDavid -wh24 -tR. -wh24 -tLinn -wh24 -t, -wh48 -tMailing -wh48 -tlist -n40 0 -V1480 -H120 -tmaintenance. -n40 0 -V1560 -H0 -to -h96 -tAdrian -wh48 -tMariano -wh48 -t<> -wh48 -tReference -wh48 -tmanual, -wh24 -ttutorial -wh24 -tfixes, -n40 0 -V1600 -H120 -tglossary. -n40 0 -V1680 -H0 -to -h96 -tHan-Wen -wh264 -tNienhuys -wh264 -t, -n40 0 -V1720 -H120 -thttp://www.cs.uu.nl/~hanwen/ -wh72 -tMain -wh48 -tauthor -wh48 -t(initials: -n40 0 -V1760 -H120 -tHWN). -n40 0 -V1840 -H0 -to -h96 -tJan -wh240 -tNieuwenhuizen -wh264 -t, -n40 0 -V1880 -H120 -thttp://www.xs4all.nl/~jantien/ -wh48 -tMain -wh48 -tauthor -wh24 -t(initials: -n40 0 -V1920 -H120 -tJCN). -n40 0 -V2000 -H0 -to -h96 -tAlexandre -wh48 -tOliva -wh48 -t, -wh72 -thttp://sun -Chy -h24 -n40 0 -V2040 -H120 -tsite.unicamp.br/~oliva/ -wh24 -ttesting -n40 0 -V2120 -H0 -to -h96 -tFranc,ois -wh48 -tPinard -wh48 -t, -wh48 -tparts -wh24 -tof -n40 0 -V2160 -H120 -tDocumentation/Vocab*, -wh72 -tstarted -wh96 -tinternationalization -n40 0 -V2200 -H120 -tstuff -n40 0 -V2280 -H0 -to -h96 -tJeffrey -wh24 -tB. -wh24 -tReed -wh24 -t, -wh24 -tWindows-NT -wh24 -tsupport. -n40 0 -V2360 -H0 -to -h96 -tShay -wh24 -tRojanski -wh24 -tSome -wh24 -tmudela -wh24 -tsource. -n40 0 -V2560 -H1440 -n40 0 -V2640 -p3 -x font 1 R -f1 -s10 -V160 -H696 -t-3- -h672 -n40 0 -V280 -H0 -tYour -wh48 -tname -wh48 -tcould -wh48 -tbe -wh24 -there! -wh24 -tIf -wh24 -tyou -wh24 -twant -wh24 -tto -wh24 -thelp, -wh24 -tthen -wh24 -ttake -wh24 -ta -n40 0 -V320 -H0 -tlook -wh24 -tat -wh24 -tthe -wh24 -tSMALLISH -wh24 -tPROJECTS -wh24 -tsection -wh24 -tof -wh24 -tin -wh24 -tthe -wh48 -tfile -wx font 3 B -f3 -h48 -tTODO -f1 -t. -n40 0 -V360 -H0 -tSome -wh24 -tdo -wh24 -tnot -wh24 -tinvolve -wh24 -tcoding -wh24 -tC++ -n40 0 -V440 -H0 -t[And -wh48 -tof -wh48 -tcourse -wh24 -twe -wh24 -tsincerely -wh24 -tthank -wh24 -tJ.S.Bach, -wh24 -tF.Schubert, -wh24 -tT. -n40 0 -V480 -H0 -tMerula -wh24 -tand -wh24 -tW.A.Mozart -wh24 -tfor -wh24 -ttheir -wh24 -tbeautiful -wh24 -tmusic] -n40 0 -V2560 -H1440 -n40 0 -x trailer -V2640 -x stop + + AUTHORS - who did what on GNU LilyPond? + +Contents + +This file lists authors of GNU LilyPond, and what they +wrote. This list is alphabetically ordered. + +o Tom Cato Amundsen , cembalo-par- + tita in mudela, accordion symbols, some mudela-book.py + +o Mats Bengtsson , + http://www.s3.kth.se/~matsb/ clef stuff, key stuff, + swedish notenames, testing, general comments. + +o Eric Bullinger , accidental trans- + position. + +o Jan Arne Fagertun , + TeX titling and lytodvi.sh + +o Anthony Fok , debian package: debian/* + +o Neil Jerram . parts of Documenta- + tion/Vocab* + +o Donald Ervin Knuth, http://www.cs-staff.stan- + ford.edu/~knuth/ mf/ital-*.mf (these were taken from + the CM fonts) + +o Werner Lemberg , misc + bugfixes, some Beam and Stem code. + +o David R. Linn , Mailing list + maintenance. + +o Adrian Mariano <> Reference manual, tutorial fixes, + glossary. + +o Han-Wen Nienhuys , + http://www.cs.uu.nl/~hanwen/ Main author (initials: + HWN). + +o Jan Nieuwenhuizen , + http://www.xs4all.nl/~jantien/ Main author (initials: + JCN). + +o Alexandre Oliva , http://sun- + site.unicamp.br/~oliva/ testing + +o Franc,ois Pinard , parts of + Documentation/Vocab*, started internationalization + stuff + +o Jeffrey B. Reed , Windows-NT sup- + port. + +o Shay Rojanski Some mudela source. + +Your name could be here! If you want to help, then take a +look at the SMALLISH PROJECTS section of in the file TODO. +Some do not involve coding C++ + +[And of course we sincerely thank J.S.Bach, F.Schubert, T. +Merula and W.A.Mozart for their beautiful music] diff --git a/Documentation/README-W32.yo b/Documentation/README-W32.yo index 41b0412403..af11cd5938 100644 --- a/Documentation/README-W32.yo +++ b/Documentation/README-W32.yo @@ -63,7 +63,7 @@ utilities under GNU/Linux are used to make the binary file(.exe.zip) releases (some makefile hacking was needed to build this stuff). Jeffrey Reed tries to keep-up with LilyPond development, and is doing quite well. His latest release is available on -lurl(http://www.realtime.net/~daboys/lilypond/). +lurl(http://home.austin.rr.com/jbr/jeff/lilypond/). subsect(UNPACKING) @@ -428,7 +428,7 @@ into all GNU programs that call for extensibility. itemize( it() download guile-1.3 patch from -lurl(http://www.realtime.net/~daboys/lilypond/guile.patch) and save it +lurl(http://home.austin.rr.com/jbr/jeff/lilypond/guile.patch) and save it to file(/tmp/guile.patch). it() download guile-1.3 from one of GNU's ftp sites. it() From a bash shell, tar zxf guile-1.3.tar.gz @@ -537,10 +537,10 @@ subsect(Running lilypond on Windows-NT) label(run) We are now distributing a formated binary distribution for Windows-NT. Please refer to -lurl(http://www.realtime.net/~daboys/lilypond/) for current news, +lurl(http://home.austin.rr.com/jbr/jeff/lilypond/) for current news, download, installation, and running information. -Jeffrey B. Reed email(daboys@bga.com) +Jeffrey B. Reed email(daboys@austin.rr.com) sect(RUNNING LILYPOND -- by Dominique Cretel) diff --git a/Documentation/faq.yo b/Documentation/faq.yo index 2aa9ca4e1a..a7694846c9 100644 --- a/Documentation/faq.yo +++ b/Documentation/faq.yo @@ -383,6 +383,14 @@ previous fonts, including the file(.pk) and file(.tfm) fonts in file(/var/lib/texmf). A script automating this has been included, see file(buildscripts/clean-fonts.sh). +question(How does PS output work?) + +Make Type-1 fonts: issue +verb( + make pfa +) in the mf/ subdirectory +Set GS_FONTPATH to the directory containing the pfas. In the source +tree, this is file(mf/out/). Run lilypond with option tt(-f ps). question(The beams and slurs are gone if use the XDvi magnifying glass!?) diff --git a/Documentation/man/ly2dvi.yo b/Documentation/man/ly2dvi.yo index d970a8052b..e3a6a1798a 100644 --- a/Documentation/man/ly2dvi.yo +++ b/Documentation/man/ly2dvi.yo @@ -1,4 +1,4 @@ -mailto(daboys@bga.com) +mailto(daboys@austin.rr.com) manpage(LilyPond) (1) (1998) @@ -252,8 +252,8 @@ letter, note manpageauthor() Python Version author: -nemail(Jeffrey B. Reed)(daboys@bga.com), -lurl(http://www.realtime.net/~daboys/lilypond/) +nemail(Jeffrey B. Reed)(daboys@austin.rr.com), +lurl(http://home.austin.rr.com/jbr/jeff/lilypond/) Original bourne shell version author: nemail(Jan Arne Fagertun)(Jan.A.Fagertun@energy.sintef.no), diff --git a/Documentation/man/out/lilypond.1 b/Documentation/man/out/lilypond.1 index f4e11ebc02..76386a29d6 100644 --- a/Documentation/man/out/lilypond.1 +++ b/Documentation/man/out/lilypond.1 @@ -105,7 +105,7 @@ Send a description of the LilyPond version you use .IP o Send a description of the bug itself\&. .IP o -Send it to bug-gnu-music@gnu\&.org (you don\'t have to subscribe +Send it to bug-gnu-music@gnu\&.org (you don\'t have to subscribe to this mailinglist)\&. .PP .SH "FILES" @@ -148,21 +148,21 @@ about mirrors\&. For programs which are part of the GNU music project, the following mailing list have been setup: .PP -.IP "info-gnu-music@gnu\&.org " +.IP "info-gnu-music@gnu\&.org" For information on the GNU Music project, to subscribe: send mail with -subject "subscribe" to info-gnu-music-request@gnu\&.org -.IP "help-gnu-music@gnu\&.org " +subject "subscribe" to info-gnu-music-request@gnu\&.org +.IP "help-gnu-music@gnu\&.org" For help with programs from the GNU music project\&. To subscribe: send -mail with subject "subscribe" to help-gnu-music-request@gnu\&.org -.IP "bug-gnu-music@gnu\&.org " +mail with subject "subscribe" to help-gnu-music-request@gnu\&.org +.IP "bug-gnu-music@gnu\&.org" If you have bugreports, you should send them to this list\&. If you want to read all bugreports, you should subscribe to this list\&. To subscribe: send mail with subject "subscribe" to -bug-gnu-music-request@gnu\&.org -.IP "gnu-music-discuss@gnu\&.org " +bug-gnu-music-request@gnu\&.org +.IP "gnu-music-discuss@gnu\&.org" For discussions concerning the GNU Music project, to subscribe: send mail with subject "subscribe" to -gnu-music-discuss-request@gnu\&.org +gnu-music-discuss-request@gnu\&.org .PP Announces of new versions will be sent to info-gnu-music and gnu-music-discuss\&. diff --git a/Documentation/man/out/ly2dvi.1 b/Documentation/man/out/ly2dvi.1 index f2f8b0a818..8ef4efaf72 100644 --- a/Documentation/man/out/ly2dvi.1 +++ b/Documentation/man/out/ly2dvi.1 @@ -233,7 +233,7 @@ Send a description of the LilyPond and ly2dvi version you use\&. .IP o Send a description of the bug itself\&. .IP o -Send it to bug-gnu-music@gnu\&.org (you don\'t have to subscribe +Send it to bug-gnu-music@gnu\&.org (you don\'t have to subscribe to this mailinglist)\&. .PP .SH "Remarks" @@ -250,8 +250,8 @@ letter, note .PP .SH "AUTHOR" Python Version author: -Jeffrey B\&. Reed , -http://www\&.realtime\&.net/~daboys/lilypond/ +Jeffrey B\&. Reed , +http://home\&.austin\&.rr\&.com/jbr/jeff/lilypond/ .PP Original bourne shell version author: Jan Arne Fagertun , diff --git a/Documentation/ntweb/index.yo b/Documentation/ntweb/index.yo index a13977d5b1..855b4aef8a 100644 --- a/Documentation/ntweb/index.yo +++ b/Documentation/ntweb/index.yo @@ -1,5 +1,5 @@ -mailto(daboys@bga.com) -article(LilyPond Windows NT 4.0/95 Distribution)(nemail(Jeffrey B. Reed)(daboys@bga.com))(label(contents)) +mailto(daboys@austin.rr.com) +article(LilyPond Windows NT 4.0/95 Distribution)(nemail(Jeffrey B. Reed)(daboys@austin.rr.com))(label(contents)) sect(Windows NT/95 Binary Distribution) subsect(Introduction) label(introduction) @@ -37,7 +37,7 @@ I have also converted the Manual Pages for the above tools to HTML for easy browsing. This release has been tested on Windows NT 4.0sp3 and Windows 95 and found to be operational. If you have any troubles and or comments please do not hesitate to drop me a line -url(Jeffrey B. Reed)(mailto:daboys@bga.com). +url(Jeffrey B. Reed)(mailto:daboys@austin.rr.com). This is what the version @TOPLEVEL_VERSION@ brings: diff --git a/Documentation/topdocs/AUTHORS.yo b/Documentation/topdocs/AUTHORS.yo index 1ab3979a87..ddac996a69 100644 --- a/Documentation/topdocs/AUTHORS.yo +++ b/Documentation/topdocs/AUTHORS.yo @@ -37,7 +37,7 @@ it()nemail(Alexandre Oliva)(oliva@dcc.unicamp.br), testing it()nemail(Franc,ois Pinard)(pinard@iro.umontreal.ca), parts of Documentation/Vocab*, started internationalization stuff -it()nemail(Jeffrey B. Reed)(daboys@bga.com), +it()nemail(Jeffrey B. Reed)(daboys@austin.rr.com), Windows-NT support. it()Shay Rojanski Some mudela source. diff --git a/Documentation/topdocs/index.yo b/Documentation/topdocs/index.yo index ffec8796ed..228b6685f5 100644 --- a/Documentation/topdocs/index.yo +++ b/Documentation/topdocs/index.yo @@ -75,7 +75,7 @@ nsect(Sites) itemize( it()lurl(http://www.cs.uu.nl/people/hanwen/lilypond/) Han-Wen's site it()lurl(http://www.xs4all.nl/~jantien/lilypond/) Jan's site -it()lurl(http://www.realtime.net/~daboys/lilypond/) Jeff's Windows NT Distribution site +it()lurl(http://home.austin.rr.com/jbr/jeff/lilypond/) Jeff's Windows NT Distribution site ) nsubsect(Mirrors) @@ -83,6 +83,8 @@ description( dit(lurl(http://sca.uwaterloo.ca/lilypond/)) Eric Praetzel was kind enough to provide a mirror of both the website and the ftp site. +dit(lurl(ftp://ftp.lilypond.org/pub/lilypond/)) + A mirror of the FTP site. Updated at 12:00 MET daily. ) nsect(NEWS) @@ -99,7 +101,7 @@ it()lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/) endbold() it()lurl(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/RPMS/) RedHat binary it()lurl(ftp://ftp.debian.org/pub/debian/dists/unstable/main/binary-i386/tex) Debian binary -it()lurl(http://www.realtime.net/~daboys/lilypond/) Windows NT binary +it()lurl(http://home.austin.rr.com/jbr/jeff/lilypond/) Windows NT binary ) @COUNTER_REF@ diff --git a/INSTALL.txt b/INSTALL.txt index 3c65b2fa56..d787c8619a 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -1,3128 +1,324 @@ -x T ascii -x res 240 24 40 -x init -p1 -x font 3 B -f3 -s10 -V400 -H144 -tINSTALL -wh24 -t- -wh24 -tcompiling -wh24 -tand -wh24 -tinstalling -wh24 -tGNU -wh24 -tLilyPond -n40 0 -x font 2 I -f2 -V480 -H600 -tHWN -wh24 -t& -wh24 -tJCN -n40 0 -f3 -V600 -H0 -tContents -n40 0 -x font 1 R -f1 -V680 -H120 -t1: -wh24 -tABSTRACT -n40 0 -V720 -H0 -t2: -wh24 -tPREREQUISITES -n40 0 -V760 -H0 -t3: -wh24 -tRUNNING -n40 0 -V800 -H0 -t4: -wh24 -tRECOMMENDED -n40 0 -V840 -H0 -t5: -wh24 -tWEBSITE -n40 0 -V880 -H0 -t6: -wh24 -tCONFIGURING -wh24 -tand -wh24 -tCOMPILING -n40 0 -V920 -H0 -t7: -wh24 -tCONFIGURING -wh24 -tFOR -wh24 -tMULTIPLE -wh24 -tPLATFORMS -n40 0 -V960 -H0 -t8: -wh24 -tINSTALLING -n40 0 -V1000 -H0 -t9: -wh24 -tREDHAT -wh24 -tLINUX -n40 0 -V1040 -H0 -t10: -wh24 -tDEBIAN -wh24 -tGNU/LINUX -n40 0 -V1080 -H0 -t11: -wh24 -tWINDOWS -wh24 -tNT/95 -n40 0 -V1120 -H0 -t12: -wh24 -tAUTHORS -n40 0 -V2560 -H1440 -n40 0 -V2640 -p2 -x font 1 R -f1 -s10 -V160 -H696 -t-2- -h672 -n40 0 -x font 3 B -f3 -V280 -H0 -t1: -wh24 -tABSTRACT -n40 0 -f1 -V400 -H0 -tThis -wh48 -tdocument -wh48 -texplains -wh48 -twhat -wh24 -tyou -wh24 -tneed -wh24 -tto -wh24 -tinstall -wh24 -tLilyPond, -n40 0 -V440 -H0 -tand -wh24 -twhat -wh24 -tyou -wh24 -tshould -wh24 -tdo. -wh48 -tIf -wh24 -tyou -wh24 -tare -wh48 -tgoing -wh48 -tto -wh48 -tcompile -wh48 -tand -n40 0 -V480 -H0 -tinstall -wh48 -tLilyPond -wh48 -toften, -wh48 -te.g. -wh48 -twhen -wh24 -tdoing -wh24 -tdevelopment, -wh24 -tyou -n40 0 -V520 -H0 -tmight -wh24 -twant -wh24 -tto -wh24 -tcheck -wh24 -tout -wh24 -tthe -wf3 -h24 -tbuildscripts/set-lily.sh -wf1 -h24 -tscript. -n40 0 -V560 -H0 -tIt -wh24 -tsets -wh24 -tsome -wh24 -tenvironment -wh24 -tvariables -wh24 -tand -wh24 -tsymlinks, -wh24 -twhich -wh24 -tcomes -n40 0 -V600 -H0 -tin -wh24 -thandly -wh24 -twhen -wh24 -tyou -wh24 -thave -wh24 -tto -wh24 -tcompile -wh24 -tLilyPond -wh24 -tmore -wh24 -toften. -n40 0 -f3 -V720 -H0 -t2: -wh24 -tPREREQUISITES -n40 0 -f1 -V840 -H0 -tFor -wh24 -tcompilation -wh24 -tyou -wh24 -tneed: -n40 0 -V960 -H0 -to -h96 -tA -wh24 -tGNU -wh24 -tsystem: -wh24 -tGNU -wh24 -tLilyPond -wh24 -tis -wh24 -tknown -wh24 -tto -wh24 -trun -wh24 -ton -wh24 -tthese -wh24 -tGNU -n40 0 -V1000 -H120 -tsystems: -wh48 -tLinux -wh48 -t(PPC, -wh48 -tintel), -wh24 -tFreeBSD, -wh24 -tAIX, -wh24 -tNeXTStep, -n40 0 -V1040 -H120 -tIRIX, -wh24 -tDigital -wh24 -tUnix -wh24 -tand -wh24 -tSolaris. -n40 0 -V1160 -H0 -to -h96 -tLots -wh24 -tof -wh24 -tdisk -wh24 -tspace: -wh24 -tLilyPond -wh24 -ttakes -wh24 -tbetween -wh24 -t50 -wh48 -tand -wh48 -t100 -n40 0 -V1200 -H120 -tmb -wh24 -tto -wh24 -tcompile -wh24 -tif -wh24 -tyou -wh24 -tuse -wh24 -tdebugging -wh24 -tinformation. -wh48 -tIf -wh24 -tyou -n40 0 -V1240 -H120 -tare -wh24 -tshort -wh24 -ton -wh24 -tdisk-space -wh24 -trun -wh24 -tconfigure -wh48 -twith -wh48 -t--disable- -n40 0 -V1280 -H120 -tdebugging. -n40 0 -V1360 -H120 -tAlthough -wh24 -twe -wh24 -trecommend -wh24 -tto -wh24 -tuse -wh24 -tUnix, -wh24 -tLilyPond -wh24 -tis -wh24 -tknown -wh24 -tto -n40 0 -V1400 -H120 -trun -wh24 -ton -wh24 -tWindows -wh24 -tNT/95/98 -wh24 -tas -wh24 -twell. -wh48 -tSee -wh24 -tSection -wh24 -t11. -n40 0 -V1520 -H0 -to -h96 -tGNU -wh24 -tC++ -wh24 -tversion -wh24 -t2.8 -wh24 -tor -wh24 -tnewer -wh24 -t(egcs-1.1 -wh24 -tor -wh24 -tnewer -wh24 -tis -wh24 -talso -n40 0 -V1560 -H120 -tfine). -n40 0 -V1640 -H0 -to -h96 -tPython -wh48 -t1.5 -wh48 -t(Strictly -wh48 -tspeaking, -wh48 -tyou -wh48 -tshouldn -Caa -h24 -tt -wh48 -tneed -n40 0 -V1680 -H120 -tPython -wh24 -tfor -wh24 -tcompiling -wh24 -tand -wh24 -tinstalling, -wh24 -tbut -wh24 -tyou -Caa -h24 -tll -wh24 -tneed -wh24 -tit -n40 0 -V1720 -H120 -tto -wh24 -tregenerate -wh24 -tthe -wh24 -tfont -wh24 -ttables, -wh24 -te.g.). -n40 0 -V1800 -H0 -to -h96 -tGUILE -wh48 -t1.3 -wh48 -t(no, -wh48 -tGUILE -wh48 -t1.2 -wh48 -twon -Caa -h24 -tt -wh48 -twork), -wh48 -tcheck -wh48 -tout -n40 0 -V1840 -H120 -thttp://www.gnu.org/software/guile/guile.html. -n40 0 -f3 -V1960 -H0 -t3: -wh24 -tRUNNING -n40 0 -f1 -V2080 -H0 -tGNU -wh24 -tLilyPond -wh24 -tdoes -wh24 -tuse -wh24 -ta -wh24 -tlot -wh24 -tof -wh24 -tresources. -wh24 -tFor -wh24 -toperation -wh48 -tyou -n40 0 -V2120 -H0 -tneed -wh24 -tthe -wh24 -tfollowing: -n40 0 -V2240 -H0 -to -h96 -tTeX -n40 0 -V2320 -H0 -to -h96 -tA -wh72 -tPostScript -wh72 -tprinter -wh72 -tand/or -wh72 -tviewer -wh72 -t(such -wh72 -tas -n40 0 -V2360 -H120 -tGhostscript) -wh24 -tis -wh24 -tstrongly -wh24 -trecommended. -wh48 -tXdvi -wh48 -twill -wh48 -tshow -n40 0 -V2400 -H120 -tall -wh48 -tembedded -wh48 -tPostScript -wh48 -ttoo -wh48 -tif -wh24 -tyou -wh24 -thave -wh24 -tGhostscript -n40 0 -V2560 -H1440 -n40 0 -V2640 -p3 -x font 1 R -f1 -s10 -V160 -H696 -t-3- -h672 -n40 0 -V280 -H120 -tinstalled. -n40 0 -V360 -H0 -to -h96 -tGUILE -wh48 -t1.3 -wh48 -t(no, -wh48 -tGUILE -wh48 -t1.2 -wh48 -twon -Caa -h24 -tt -wh48 -twork), -wh48 -tcheck -wh48 -tout -n40 0 -V400 -H120 -thttp://www.gnu.org/programs/guile.html -n40 0 -V480 -H0 -tFor -wh48 -trunning -wh48 -tLilyPond -wh24 -tsuccessfully -wh24 -tyou -wh24 -thave -wh24 -tto -wh24 -thelp -wh24 -tTeX -wh24 -tand -n40 0 -V520 -H0 -tMetaFont -wh24 -tfind -wh24 -tvarious -wh24 -tfiles. -wh48 -tThe -wh24 -trecommended -wh24 -tway -wh48 -tof -wh48 -tdoing -n40 0 -V560 -H0 -tso -wh48 -tis -wh48 -tadjusting -wh48 -tthe -wh24 -tenvironment -wh24 -tvariables -wh24 -tin -wh24 -tthe -wh24 -tstart-up -n40 0 -V600 -H0 -tscripts -wh24 -tof -wh24 -tyour -wh24 -tshell. -wh48 -tAn -wh24 -texample -wh24 -tis -wh48 -tgiven -wh48 -there -wh48 -tfor -wh48 -tthe -n40 0 -V640 -H0 -tBourne -wh24 -tshell: -n40 0 -V840 -H120 -texport -wh24 -tMFINPUTS="/usr/local/share/lilypond/mf:" -n40 0 -V880 -H120 -texport -wh24 -tTEXINPUTS="/usr/local/share/lilypond/tex:" -n40 0 -V1080 -H0 -tThe -wh48 -tempty -wh24 -tpath -wh24 -tcomponent -wh24 -trepresents -wh48 -tand -wh24 -tMetaFont -Caa -h24 -ts -wh24 -tdefault -n40 0 -V1120 -H0 -tsearch -wh24 -tpaths. -wh48 -tScripts -wh24 -twith -wh24 -tthe -wh24 -tproper -wh24 -tpaths -wh24 -tfor -wh24 -tthe -wh48 -tbourne -n40 0 -V1160 -H0 -tand -wh72 -tC-shell -wh72 -trespectively -wh72 -tare -wh72 -tgenerated -wh72 -tin -wx font 3 B -f3 -h72 -tbuild -Chy -h24 -n40 0 -V1200 -H0 -tscripts/out/lilypond-profile -wf1 -h24 -tand -wf3 -h48 -tbuildscripts/out/lilypond- -n40 0 -V1240 -H0 -tlogin -wf1 -h24 -tduring -wh24 -tcompilation. -n40 0 -f3 -V1360 -H0 -t4: -wh24 -tRECOMMENDED -n40 0 -f1 -V1480 -H0 -tAlthough -wh48 -tnot -wh48 -tstrictly -wh48 -tnecessary, -wh24 -tthese -wh24 -tare -wh24 -trecommended -wh24 -tto -n40 0 -V1520 -H0 -thave. -n40 0 -V1640 -H0 -to -h96 -tGNU -wh24 -tmake. -wh48 -tCheck -wh24 -tout -wh24 -tftp://ftp.gnu.org -wh24 -tor -wh24 -tany -wh24 -tmirror -wh24 -tof -n40 0 -V1680 -H120 -tthis -wh24 -tsite. -n40 0 -V1760 -H0 -to -h96 -tFlex -wh96 -t(version -wh96 -t2.5.4 -wh72 -tor -wh72 -tnewer). -wh96 -tCheck -wh72 -tout -n40 0 -V1800 -H120 -tftp://ftp.gnu.org -wh24 -tor -wh24 -tany -wh24 -tmirror -wh24 -tof -wh24 -tthis -wh24 -tsite. -n40 0 -V1880 -H0 -to -h96 -tBison -wh72 -t(version -wh72 -t1.25 -wh72 -tor -wh72 -tnewer). -wh120 -tCheck -wh96 -tout -n40 0 -V1920 -H120 -tftp://ftp.gnu.org -wh24 -tor -wh24 -tany -wh24 -tmirror -wh24 -tof -wh24 -tthis -wh24 -tsite. -n40 0 -V2000 -H0 -to -h96 -tGUILE -wh48 -t1.3 -wh48 -t(no, -wh48 -tGUILE -wh48 -t1.2 -wh48 -twon -Caa -h24 -tt -wh48 -twork), -wh72 -tcheck -wh24 -tout -n40 0 -V2040 -H120 -thttp://www.gnu.org/programs/guile.html -n40 0 -V2160 -H0 -to -h96 -tPython -wh72 -t(version -wh72 -t1.5 -wh72 -tor -wh72 -tnewer). -wh120 -tCheck -wh96 -tout -n40 0 -V2200 -H120 -tftp://ftp.python.org -wh24 -tor -wh24 -tftp://ftp.cwi.nl/pub/python. -n40 0 -V2320 -H0 -to -h96 -tYodl. -wh72 -tAll -wh48 -tdocumentation -wh48 -twill -wh48 -tbe -wh24 -tin -wh24 -tYodl. -wh24 -t(1.30.17) -n40 0 -V2360 -H120 -tftp://ftp.lilypond.org/pub/yodl -n40 0 -V2400 -H120 -thttp://www.cs.uu.nl/~hanwen/yodl -n40 0 -V2560 -H1440 -n40 0 -V2640 -p4 -x font 1 R -f1 -s10 -V160 -H696 -t-4- -h672 -n40 0 -V280 -H0 -to -h96 -tTexinfo. -wh24 -t(version -wh24 -t3.12 -wh24 -tor -wh24 -tnewer) -n40 0 -V400 -H0 -to -h96 -tGNU -wh48 -tfind -wh48 -tCheck -wh24 -tout -wh24 -tftp://ftp.gnu.org -wh24 -tor -wh24 -tany -wh24 -tmirror -wh24 -tof -n40 0 -V440 -H120 -tthis -wh24 -tsite. -n40 0 -V560 -H0 -to -h96 -tThe -wh24 -tgeometry -wh24 -tpackage -wh24 -tfor -wh24 -tLaTeX -wh24 -tis -wh24 -tneeded -wh24 -tto -wh24 -tuse -wh24 -tly2dvi. -n40 0 -V600 -H120 -tAvailable -wh264 -tat -wh240 -tftp://ftp.ctan.org/tex- -n40 0 -V640 -H120 -tarchive/macros/latex/contrib/supported/geometry -wh48 -tor -wh48 -tat -n40 0 -V680 -H120 -tmirror -wh24 -tsite -wh24 -tftp://ftp.dante.de -n40 0 -V800 -H0 -to -h96 -tA -wh24 -tfast -wh24 -tcomputer: -wh24 -ta -wh24 -tfull -wh24 -tpage -wh24 -tof -wh24 -tmusic -wh24 -ttypically -wh24 -ttakes -wh24 -t1 -n40 0 -V840 -H120 -tminute -wh24 -ton -wh24 -tmy -wh24 -t486/133, -wh24 -tusing -wh24 -tthe -wx font 3 B -f3 -h24 -t--enable-checking -wf1 -h48 -tcom -Chy -h24 -n40 0 -V880 -H120 -tpile. -n40 0 -f3 -V1000 -H0 -t5: -wh24 -tWEBSITE -n40 0 -f1 -V1120 -H0 -tIf -wh48 -tyou -wh48 -twant -wh48 -tto -wh48 -tauto-generate -wh24 -tLily -Caa -h24 -ts -wh24 -twebsite, -wh24 -tyou -Caa -h24 -tll -wh24 -tneed -n40 0 -V1160 -H0 -tsome -wh24 -tadditional -wh24 -tconversion -wh24 -ttools. -n40 0 -V1280 -H0 -to -h96 -txpmtoppm -wh24 -t(from -wh24 -tthe -wh24 -tPortable -wh24 -tBitmap -wh24 -tUtilities) -wh24 -t(For -wh24 -tRed -Chy -h24 -n40 0 -V1320 -H120 -tHat -wh48 -tLinux -wh48 -tusers: -wh48 -tit -wh48 -tis -wh48 -tincluded -wh24 -twithin -wh24 -tthe -wh24 -tpackage -n40 0 -V1360 -H120 -tlibgr-progs). -n40 0 -V1440 -H0 -to -h96 -tBib2html -wh24 -thttp://pertsserver.cs.uiuc.edu/~hull/bib2html. -n40 0 -V1480 -H120 -tWhich, -wh24 -tin -wh24 -tturn -wh24 -tdepends -wh24 -ton -wh24 -tman2html -wh24 -tfor -wh24 -tproper -wh24 -tinstalla -Chy -h24 -n40 0 -V1520 -H120 -ttion. -wh72 -tman2html -wh48 -tcan -wh48 -tbe -wh72 -thad -wh72 -tfrom -wh72 -thttp://askdon -Chy -h24 -n40 0 -V1560 -H120 -tald.ask.uni-karlsruhe.de/hppd/hpux/Network -Chy -h24 -n40 0 -V1600 -H120 -ting/WWW/Man2html-1.05. -n40 0 -V1680 -H120 -tTeTeX -wh24 -tusers -wh24 -tshould -wh24 -tnot -wh24 -tforget -wh24 -tto -wh24 -trerun -wh24 -ttexhash. -n40 0 -V1760 -H0 -tBuilding -wh24 -tthe -wh24 -twebsite -wh24 -trequires -wh24 -tpnmtopng. -wh48 -tThe -wh24 -tversion -wh24 -tof -wf3 -h24 -tpnm -Chy -h24 -n40 0 -V1800 -H0 -ttopng -wf1 -h48 -tthat -wh48 -tis -wh48 -tdistributed -wh48 -twith -wh24 -tRedHat -wh24 -t5.1 -wh24 -tcontains -wh24 -ta -wh24 -tbug -n40 0 -V1840 -H0 -t(pnmtopng -wh24 -tis -wh24 -tdynamically -wh24 -tlinked -wh48 -tto -wh48 -tthe -wh48 -twrong -wh48 -tversion -wh48 -tof -n40 0 -V1880 -H0 -tlibpng). -wh72 -tRecompile -wh48 -tit -wh24 -tfrom -wh24 -tsource, -wh24 -tand -wh24 -tmake -wh24 -tsure -wh24 -tthat -wh24 -tthe -n40 0 -V1920 -H0 -tpnmtopng -wh24 -tbinary -wh24 -tis -wh24 -tlinked -wh24 -tstatically -wh24 -tto -wh24 -tthe -wh24 -tlibpng -wh48 -tthat -wh48 -tis -n40 0 -V1960 -H0 -tincluded -wh24 -tin -wh24 -tlibgr. -n40 0 -V2560 -H1440 -n40 0 -V2640 -p5 -x font 1 R -f1 -s10 -V160 -H696 -t-5- -h672 -n40 0 -V280 -H144 -ttar -wh24 -txzf -wh24 -tlibgr-2.0.13.tar.gz -n40 0 -V320 -H264 -tmake -n40 0 -V360 -H264 -tcd -wh24 -tpng -n40 0 -V400 -H264 -trm -wh24 -tlibpng.so* -n40 0 -V440 -H264 -tmake -wh24 -tpnmtopng -n40 0 -V680 -H0 -tYou -wh24 -tcan -wh24 -tthen -wh24 -tinstall -wh24 -tthe -wh24 -tnew -wh24 -tpnmtopng -wh24 -tinto -wh24 -t/usr/local/bin/ -n40 0 -x font 3 B -f3 -V800 -H0 -t6: -wh24 -tCONFIGURING -wh24 -tand -wh24 -tCOMPILING -n40 0 -f1 -V920 -H0 -tto -wh24 -tinstall -wh24 -tGNU -wh24 -tLilyPond, -wh24 -tsimply -wh24 -ttype: -n40 0 -V1160 -H240 -tgunzip -wh24 -t-c -wh24 -tlilypond-x.y.z -wh24 -t| -wh24 -ttar -wh24 -txf -wh24 -t- -n40 0 -V1200 -H240 -tcd -wh24 -tlilypond-x.y.z -n40 0 -V1240 -H240 -tconfigure -h144 -t# -wh24 -tfill -wh24 -tin -wh24 -tyour -wh24 -tstandard -wh24 -tprefix -wh24 -twith -wh24 -t--prefix -n40 0 -V1280 -H240 -tmake -n40 0 -V1320 -H240 -tmake -wh24 -tinstall -n40 0 -V1560 -H0 -tThis -wh24 -twill -wh24 -tinstall -wh24 -ta -wh24 -tnumber -wh24 -tof -wh24 -tfiles, -wh24 -tsomething -wh24 -tclose -wh24 -tto: -n40 0 -V1800 -H240 -t/usr/local/man/man1/mi2mu.1 -n40 0 -V1840 -H240 -t/usr/local/man/man1/convert-mudela.1 -n40 0 -V1880 -H240 -t/usr/local/man/man1/mudela-book.1 -n40 0 -V1920 -H240 -t/usr/local/man/man1/lilypond.1 -n40 0 -V1960 -H240 -t/usr/local/bin/lilypond -n40 0 -V2000 -H240 -t/usr/local/bin/mi2mu -n40 0 -V2040 -H240 -t/usr/local/share/lilypond/* -n40 0 -V2080 -H240 -t/usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo -n40 0 -V2320 -H0 -tThe -wh48 -tabove -wh24 -tassumes -wh24 -tthat -wh24 -tyou -wh24 -tare -wh24 -troot -wh24 -tand -wh24 -thave -wh24 -tthe -wh24 -tGNU -wh24 -tdevel -Chy -h24 -n40 0 -V2360 -H0 -topment -wh24 -ttools, -wh24 -tand -wh24 -tyour -wh24 -tmake -wh24 -tis -wh24 -tGNU -wh24 -tmake. -wh48 -tIf -wh24 -tthis -wh24 -tis -wh24 -tnot -wh24 -tthe -n40 0 -V2400 -H0 -tcase, -wh48 -tyou -wh48 -tcan -wh48 -tadjust -wh48 -tyour -wh48 -tenvironment -wh24 -tvariables -wh24 -tto -wh24 -tyour -n40 0 -V2560 -H1440 -n40 0 -V2640 -p6 -x font 1 R -f1 -s10 -V160 -H696 -t-6- -h672 -n40 0 -V280 -H0 -ttaste: -n40 0 -V560 -H240 -texport -wh24 -tCPPFLAGS="-I -wh24 -t/home/me/my_include -wh24 -t-DWEIRD_FOOBAR" -n40 0 -V600 -H240 -tconfigure -n40 0 -V840 -H0 -tCPPFLAGS -wh24 -tare -wh24 -tthe -wh24 -tpreprocessor -wh24 -tflags. -n40 0 -V920 -H0 -tThe -wh24 -tconfigure -wh24 -tscript -wh24 -tis -wh24 -tCygnus -wh24 -tconfigure, -wh24 -tand -wh24 -tit -wh24 -twill -wh24 -taccept -n40 0 -x font 3 B -f3 -V960 -H0 -t--help -f1 -t. -wh48 -tIf -wh24 -tyou -wh24 -tare -wh24 -tnot -wh24 -troot, -wh24 -tyou -wh24 -twill -wh24 -tprobably -wh24 -thave -wh24 -tto -wh24 -tmake -n40 0 -V1000 -H0 -tit -wh24 -twith -wh24 -ta -wh24 -tdifferent -wf3 -h24 -t--prefix -wf1 -h24 -toption. -wh48 -tOur -wh24 -tfavourite -wh24 -tlocation -n40 0 -V1040 -H0 -tis -n40 0 -V1320 -H240 -tconfigure -wh24 -t--prefix=$HOME/usr -n40 0 -V1560 -H0 -tIn -wh48 -tthis -wh48 -tcase, -wh24 -tyou -wh24 -twill -wh24 -thave -wh24 -tto -wh24 -tset -wh24 -tup -wh24 -tMFINPUTS, -wh24 -tand -wh24 -tTEXIN -Chy -h24 -n40 0 -V1600 -H0 -tPUTS -wh24 -taccordingly. -n40 0 -V1680 -H0 -tSince -wh24 -tGNU -wh24 -tLilyPond -wh24 -tcurrently -wh24 -tis -wh24 -tbeta, -wh48 -tyou -wh48 -tare -wh48 -tadvised -wh48 -tto -n40 0 -V1720 -H0 -talso -wh24 -tuse -n40 0 -V2000 -H240 -t--enable-debugging -n40 0 -V2040 -H240 -t--enable-checking -n40 0 -V2280 -H0 -tOptions -wh24 -tto -wh24 -tconfigure -wh24 -tinclude: -n40 0 -V2560 -H1440 -n40 0 -V2640 -p7 -x font 1 R -f1 -s10 -V160 -H696 -t-7- -h672 -n40 0 -x font 3 B -f3 -V280 -H0 -t--enable-printing -n40 0 -f1 -V320 -H120 -tEnable -wh24 -tdebugging -wh24 -tprint -wh24 -troutines -wh24 -t(lilypond -wf3 -h24 -t-D -wf1 -h24 -toption) -n40 0 -f3 -V400 -H0 -t--enable-optimise -n40 0 -f1 -V440 -H120 -tSet -wh48 -tmaximum -wh48 -toptimisation: -wh24 -tcompile -wh24 -twith -wf3 -h24 -t-O2 -f1 -t. -wh48 -tThis -wh24 -tcan -n40 0 -V480 -H120 -tbe -wh24 -tunreliable -wh24 -ton -wh48 -tsome -wh48 -tcompiler/platform -wh48 -tcombinations -n40 0 -V520 -H120 -t(eg, -wh24 -tDEC -wh24 -tAlpha -wh24 -tand -wh24 -tPPC) -n40 0 -f3 -V600 -H0 -t--enable-profiling -n40 0 -f1 -V640 -H120 -tCompile -wh24 -twith -wh24 -tsupport -wh24 -tfor -wh24 -tprofiling. -n40 0 -f3 -V720 -H0 -t--enable-config -n40 0 -f1 -V760 -H120 -tOutput -wh48 -tto -wh48 -ta -wh24 -tdifferent -wh24 -tconfiguration -wh24 -tfile. -wh48 -tNeeded -wh24 -tfor -n40 0 -V800 -H120 -tmulti-platform -wh24 -tbuilds -n40 0 -V880 -H0 -tAll -wh24 -toptions -wh24 -tare -wh24 -tdocumented -wh24 -tin -wh24 -tthe -wf3 -h24 -tconfigure -wf1 -h24 -thelp -wh24 -tThe -wh48 -toption -n40 0 -f3 -V920 -H0 -t--enable-optimise -wf1 -h24 -tis -wh24 -trecommended -wh24 -tfor -wh24 -tReal -wh24 -tLife -wh24 -tusage. -n40 0 -V1000 -H0 -tIf -wh24 -tyou -wh24 -tdo -n40 0 -V1280 -H240 -tmake -wh24 -tall -n40 0 -V1520 -H0 -teverything -wh48 -twill -wh24 -tbe -wh24 -tcompiled, -wh24 -tbut -wh24 -tnothing -wh24 -twill -wh24 -tbe -wh24 -tinstalled. -n40 0 -V1560 -H0 -tThe -wh24 -tresulting -wh24 -tbinaries -wh24 -tcan -wh24 -tbe -wh24 -tfound -wh48 -tin -wh48 -tthe -wh48 -tsubdirectories -n40 0 -f3 -V1600 -H0 -tout/ -wf1 -h24 -t(which -wh24 -tcontain -wh24 -tall -wh24 -tfiles -wh24 -tgenerated -wh24 -tduring -wh24 -tcompilation). -n40 0 -f3 -V1720 -H0 -t7: -wh24 -tCONFIGURING -wh24 -tFOR -wh24 -tMULTIPLE -wh24 -tPLATFORMS -n40 0 -f1 -V1840 -H0 -tIf -wh24 -tyou -wh24 -twant -wh24 -tto -wh24 -tcompile -wh24 -tLilyPond -wh24 -twith -wh24 -tdifferent -wh24 -tconfiguration -n40 0 -V1880 -H0 -tsettings, -wh48 -tthen, -wh48 -tyou -wh48 -tcan -wh48 -tuse -wh48 -tthe -wf3 -h24 -t--enable-config -wf1 -h24 -toption. -n40 0 -V1920 -H0 -tExample: -wh24 -tsuppose -wh24 -tI -wh24 -twant -wh24 -tto -wh24 -tbuild -wh24 -twith -wh24 -tand -wh72 -twithout -wh48 -tprofil -Chy -h24 -n40 0 -V1960 -H0 -ting. -wh48 -tThen -wh24 -tI -Caa -h24 -td -wh24 -tuse -wh24 -tthe -wh24 -tfollowing -wh24 -tfor -wh24 -tthe -wh24 -tnormal -wh24 -tbuild, -n40 0 -V2240 -H264 -tconfigure -wh24 -t--prefix=~ -wh24 -t--disable-optimise -wh24 -t--enable-checking -n40 0 -V2280 -H264 -tmake -n40 0 -V2320 -H264 -tmake -wh24 -tinstall -n40 0 -V2560 -H1440 -n40 0 -V2640 -p8 -x font 1 R -f1 -s10 -V160 -H696 -t-8- -h672 -n40 0 -V280 -H0 -tand -wh24 -tfor -wh24 -tthe -wh24 -tprofiling -wh24 -tversion, -wh24 -tI -wh24 -tspecify -wh24 -ta -wh24 -tdifferent -wh24 -tconfig -Chy -h24 -n40 0 -V320 -H0 -turation. -n40 0 -V600 -H264 -tconfigure -wh24 -t--prefix=~ -wh24 -t--enable-profiling -wh24 -t--enable-config=optprof -wh24 -t--enable-optimise -wh24 -t--disable-checking -n40 0 -V640 -H264 -tmake -wh24 -tconfig=optprof -n40 0 -V680 -H264 -tmake -wh24 -tconfig=optprof -wh24 -tinstall -n40 0 -x font 3 B -f3 -V960 -H0 -t8: -wh24 -tINSTALLING -n40 0 -f1 -V1080 -H0 -tIf -wh24 -tyou -wh24 -thave -wh24 -tdone -wh24 -ta -wh24 -tsuccessful -wh24 -tmake, -wh24 -tthen -wh24 -ta -wh24 -tsimple -n40 0 -V1360 -H240 -tmake -wh24 -tinstall -n40 0 -V1600 -H0 -tshould -wh24 -tdo -wh24 -tthe -wh24 -ttrick. -n40 0 -V1680 -H0 -tIf -wh24 -tyou -wh24 -tare -wh24 -tdoing -wh24 -tan -wh24 -tupgrade, -wh24 -tplease -wh24 -tremember -wh24 -tto -wh24 -tremove -wh24 -tobso -Chy -h24 -n40 0 -V1720 -H0 -tlete -wf3 -h48 -t.pk -wf1 -h48 -tand -wf3 -h48 -t.tfm -wf1 -h48 -tfiles -wh24 -tof -wh24 -tthe -wh24 -tfonts. -wh48 -tA -wh24 -tscript -wh24 -thas -wh24 -tbeen -n40 0 -V1760 -H0 -tprovided -wh24 -tto -wh24 -tdo -wh24 -tthe -wh24 -twork -wh24 -tfor -wh24 -tyou, -wh24 -tsee -wf3 -h24 -tbin/clean-fonts.sh -f1 -t. -n40 0 -f3 -V1880 -H0 -tCAVEATS -n40 0 -f1 -V2040 -H0 -to -h96 -tThe -wh24 -t-O2 -wh24 -toption -wh24 -tto -wh24 -tgcc -wh24 -ttriggers -wh24 -ta -wh24 -tgcc -wh24 -tbug -wh24 -ton -wh48 -tDEC -wh48 -tAlpha -n40 0 -V2080 -H120 -tin -wh48 -tdstream.cc. -wh48 -tYou -wh24 -tshould -wh24 -tturn -wh24 -toff -wh24 -tthis -wh24 -tflag -wh24 -tfor -wh24 -tthis -n40 0 -V2120 -H120 -tfile. -n40 0 -f3 -V2240 -H0 -tEXAMPLE -n40 0 -f1 -V2360 -H0 -tThis -wh24 -tis -wh24 -twhat -wh24 -tI -wh24 -ttype -wh24 -tin -wh24 -tmy -wh24 -txterm: -n40 0 -V2560 -H1440 -n40 0 -V2640 -p9 -x font 1 R -f1 -s10 -V160 -H696 -t-9- -h672 -n40 0 -V280 -H240 -tlilypond -wh24 -tsomeinput.ly -n40 0 -V320 -H240 -ttex -wh24 -tsomeinput.tex -n40 0 -V360 -H240 -txdvi -wh24 -tsomeinput& -n40 0 -V600 -H0 -tThis -wh24 -tis -wh24 -twhat -wh24 -tthe -wh24 -toutput -wh24 -tlooks -wh24 -tlike -wh24 -tover -wh24 -there: -n40 0 -V880 -H240 -tGNU -wh24 -tLilyPond -wh24 -t0.0.78 -wh24 -t#4/FlowerLib -wh24 -t1.1.24 -wh24 -t#0 -n40 0 -V920 -H240 -tParsing -wh24 -t... -wh24 -t[/home/hw/share/lilypond/init// -n40 0 -V960 -H360 -t<..etc..> -n40 0 -V1000 -H360 -tinit//performer.ly]]][input/kortjakje.ly] -n40 0 -V1040 -H240 -tCreating -wh24 -telements -wh24 -t...[8][16][24][25] -n40 0 -V1080 -H240 -tPreprocessing -wh24 -telements... -n40 0 -V1120 -H240 -tCalculating -wh24 -tcolumn -wh24 -tpositions -wh24 -t... -wh24 -t[14][25] -n40 0 -V1160 -H240 -tPostprocessing -wh24 -telements... -n40 0 -V1200 -H240 -tTeX -wh24 -toutput -wh24 -tto -wh24 -tsomeinput.tex -wh24 -t... -n40 0 -V1240 -H240 -tCreating -wh24 -tMIDI -wh24 -telements -wh24 -t...MIDI -wh24 -toutput -wh24 -tto -wh24 -tsomeinput.midi -wh24 -t... -n40 0 -V1360 -H240 -thw:~/musix/spacer$ -wh24 -txdvi -wh24 -tsomeinput& -n40 0 -V1400 -H240 -t[1] -wh24 -t855 -n40 0 -V1640 -H0 -tCheck -wh24 -tout -wh24 -tthe -wh24 -tinput -wh24 -tfiles, -wh24 -tsome -wh24 -tof -wh24 -tthem -wh24 -thave -wh24 -tcomments -wh24 -tPlease -n40 0 -V1680 -H0 -trefer -wh24 -tto -wh24 -tthe -wh24 -tman -wh24 -tpage -wh24 -tfor -wh24 -tmore -wh24 -tinformation. -n40 0 -x font 3 B -f3 -V1800 -H0 -t9: -wh24 -tREDHAT -wh24 -tLINUX -n40 0 -f1 -V1920 -H0 -tRedHat -wh48 -tLinux -wh48 -tusers -wh48 -tcan -wh48 -tcompile -wh24 -tan -wh24 -tRPM. -wh24 -tA -wh24 -tspec -wh24 -tfile -wh24 -tis -wh24 -tin -n40 0 -f3 -V1960 -H0 -tmake/out/lilypond.spec -f1 -t, -wh24 -tit -wh24 -tis -wh48 -tdistributed -wh48 -talong -wh48 -twith -wh48 -tthe -n40 0 -V2000 -H0 -tsources. -n40 0 -V2080 -H0 -tYou -wh24 -tcan -wh24 -tmake -wh24 -tthe -wh24 -trpm -wh24 -tby -wh24 -tissuing -n40 0 -V2560 -H1440 -n40 0 -V2640 -p10 -x font 1 R -f1 -s10 -V160 -H672 -t-10- -h672 -n40 0 -V280 -H240 -trpm -wh24 -t-tb -wh24 -tlilypond-x.y.z.tar.gz -n40 0 -V320 -H240 -trpm -wh24 -t-i -wh24 -t/usr/src/redhat/RPMS/i386/lilypond-x.y.z -n40 0 -x font 3 B -f3 -V600 -H0 -t10: -wh24 -tDEBIAN -wh24 -tGNU/LINUX -n40 0 -f1 -V720 -H0 -tA -wh48 -tDebian -wh48 -tpackage -wh48 -tis -wh48 -talso -wh48 -tavailable; -wh24 -tcontact -wh24 -tAnthony -wh24 -tFok -n40 0 -V760 -H0 -tfoka@debian.org -wh24 -t. -wh48 -tThe -wh24 -tbuild -wh24 -tscripts -wh24 -tare -wh24 -tin -n40 0 -V800 -H0 -tthe -wh24 -tsubdirectory -wf3 -h24 -tdebian/ -f1 -t. -n40 0 -f3 -V920 -H0 -t11: -wh24 -tWINDOWS -wh24 -tNT/95 -n40 0 -f1 -V1040 -H0 -tSeparate -wh24 -tinstructions -wh24 -ton -wh24 -tbuilding -wh24 -tfor -wh24 -tW32 -wh24 -tare -wh24 -tavaible -wh24 -tin -wh24 -tthe -n40 0 -V1080 -H0 -tfile -wh24 -tREADME-W32.yo. -n40 0 -f3 -V1200 -H0 -t12: -wh24 -tAUTHORS -n40 0 -f1 -V1320 -H0 -tHan-Wen -wh24 -tNienhuys -wh24 -t -n40 0 -V1400 -H0 -tJan -wh24 -tNieuwenhuizen -wh24 -t -n40 0 -V1480 -H0 -tHave -wh24 -tfun! -n40 0 -V2560 -H1440 -n40 0 -x trailer -V2640 -x stop + + INSTALL - compiling and installing GNU LilyPond + + HWN & JCN + +Contents + + 1: ABSTRACT +2: PREREQUISITES +3: RUNNING +4: RECOMMENDED +5: WEBSITE +6: CONFIGURING and COMPILING +7: CONFIGURING FOR MULTIPLE PLATFORMS +8: INSTALLING +9: REDHAT LINUX +10: DEBIAN GNU/LINUX +11: WINDOWS NT/95 +12: AUTHORS + +1: ABSTRACT + +This document explains what you need to install LilyPond, +and what you should do. If you are going to compile and +install LilyPond often, e.g. when doing development, you +might want to check out the buildscripts/set-lily.sh script. +It sets some environment variables and symlinks, which comes +in handly when you have to compile LilyPond more often. + +2: PREREQUISITES + +For compilation you need: + +o A GNU system: GNU LilyPond is known to run on these GNU + systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep, + IRIX, Digital Unix and Solaris. + +o Lots of disk space: LilyPond takes between 50 and 100 + mb to compile if you use debugging information. If you + are short on disk-space run configure with --disable- + debugging. + + Although we recommend to use Unix, LilyPond is known to + run on Windows NT/95/98 as well. See Section 11. + +o GNU C++ version 2.8 or newer (egcs-1.1 or newer is also + fine). + +o Python 1.5 (Strictly speaking, you shouldn't need + Python for compiling and installing, but you'll need it + to regenerate the font tables, e.g.). + +o GUILE 1.3 (no, GUILE 1.2 won't work), check out + http://www.gnu.org/software/guile/guile.html. + +3: RUNNING + +GNU LilyPond does use a lot of resources. For operation you +need the following: + +o TeX + +o A PostScript printer and/or viewer (such as + Ghostscript) is strongly recommended. Xdvi will show + all embedded PostScript too if you have Ghostscript + + installed. + +o GUILE 1.3 (no, GUILE 1.2 won't work), check out + http://www.gnu.org/programs/guile.html + +For running LilyPond successfully you have to help TeX and +MetaFont find various files. The recommended way of doing +so is adjusting the environment variables in the start-up +scripts of your shell. An example is given here for the +Bourne shell: + + export MFINPUTS="/usr/local/share/lilypond/mf:" + export TEXINPUTS="/usr/local/share/lilypond/tex:" + +The empty path component represents and MetaFont's default +search paths. Scripts with the proper paths for the bourne +and C-shell respectively are generated in build- +scripts/out/lilypond-profile and buildscripts/out/lilypond- +login during compilation. + +4: RECOMMENDED + +Although not strictly necessary, these are recommended to +have. + +o GNU make. Check out ftp://ftp.gnu.org or any mirror of + this site. + +o Flex (version 2.5.4 or newer). Check out + ftp://ftp.gnu.org or any mirror of this site. + +o Bison (version 1.25 or newer). Check out + ftp://ftp.gnu.org or any mirror of this site. + +o GUILE 1.3 (no, GUILE 1.2 won't work), check out + http://www.gnu.org/programs/guile.html + +o Python (version 1.5 or newer). Check out + ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python. + +o Yodl. All documentation will be in Yodl. (1.30.17) + ftp://ftp.lilypond.org/pub/yodl + http://www.cs.uu.nl/~hanwen/yodl + +o Texinfo. (version 3.12 or newer) + +o GNU find Check out ftp://ftp.gnu.org or any mirror of + this site. + +o The geometry package for LaTeX is needed to use ly2dvi. + Available at ftp://ftp.ctan.org/tex- + archive/macros/latex/contrib/supported/geometry or at + mirror site ftp://ftp.dante.de + +o A fast computer: a full page of music typically takes 1 + minute on my 486/133, using the --enable-checking com- + pile. + +5: WEBSITE + +If you want to auto-generate Lily's website, you'll need +some additional conversion tools. + +o xpmtoppm (from the Portable Bitmap Utilities) (For Red- + Hat Linux users: it is included within the package + libgr-progs). + +o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html. + Which, in turn depends on man2html for proper installa- + tion. man2html can be had from http://askdon- + ald.ask.uni-karlsruhe.de/hppd/hpux/Network- + ing/WWW/Man2html-1.05. + + TeTeX users should not forget to rerun texhash. + +Building the website requires pnmtopng. The version of pnm- +topng that is distributed with RedHat 5.1 contains a bug +(pnmtopng is dynamically linked to the wrong version of +libpng). Recompile it from source, and make sure that the +pnmtopng binary is linked statically to the libpng that is +included in libgr. + + tar xzf libgr-2.0.13.tar.gz + make + cd png + rm libpng.so* + make pnmtopng + +You can then install the new pnmtopng into /usr/local/bin/ + +6: CONFIGURING and COMPILING + +to install GNU LilyPond, simply type: + + gunzip -c lilypond-x.y.z | tar xf - + cd lilypond-x.y.z + configure # fill in your standard prefix with --prefix + make + make install + +This will install a number of files, something close to: + + /usr/local/man/man1/mi2mu.1 + /usr/local/man/man1/convert-mudela.1 + /usr/local/man/man1/mudela-book.1 + /usr/local/man/man1/lilypond.1 + /usr/local/bin/lilypond + /usr/local/bin/mi2mu + /usr/local/share/lilypond/* + /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo + +The above assumes that you are root and have the GNU devel- +opment tools, and your make is GNU make. If this is not the +case, you can adjust your environment variables to your + +taste: + + export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" + configure + +CPPFLAGS are the preprocessor flags. + +The configure script is Cygnus configure, and it will accept +--help. If you are not root, you will probably have to make +it with a different --prefix option. Our favourite location +is + + configure --prefix=$HOME/usr + +In this case, you will have to set up MFINPUTS, and TEXIN- +PUTS accordingly. + +Since GNU LilyPond currently is beta, you are advised to +also use + + --enable-debugging + --enable-checking + +Options to configure include: + +--enable-printing + Enable debugging print routines (lilypond -D option) + +--enable-optimise + Set maximum optimisation: compile with -O2. This can + be unreliable on some compiler/platform combinations + (eg, DEC Alpha and PPC) + +--enable-profiling + Compile with support for profiling. + +--enable-config + Output to a different configuration file. Needed for + multi-platform builds + +All options are documented in the configure help The option +--enable-optimise is recommended for Real Life usage. + +If you do + + make all + +everything will be compiled, but nothing will be installed. +The resulting binaries can be found in the subdirectories +out/ (which contain all files generated during compilation). + +7: CONFIGURING FOR MULTIPLE PLATFORMS + +If you want to compile LilyPond with different configuration +settings, then, you can use the --enable-config option. +Example: suppose I want to build with and without profil- +ing. Then I'd use the following for the normal build, + + configure --prefix=~ --disable-optimise --enable-checking + make + make install + +and for the profiling version, I specify a different config- +uration. + + configure --prefix=~ --enable-profiling --enable-config=optprof --enable-optimise --disable-checking + make config=optprof + make config=optprof install + +8: INSTALLING + +If you have done a successful make, then a simple + + make install + +should do the trick. + +If you are doing an upgrade, please remember to remove obso- +lete .pk and .tfm files of the fonts. A script has been +provided to do the work for you, see bin/clean-fonts.sh. + +CAVEATS + +o The -O2 option to gcc triggers a gcc bug on DEC Alpha + in dstream.cc. You should turn off this flag for this + file. + +EXAMPLE + +This is what I type in my xterm: + + lilypond someinput.ly + tex someinput.tex + xdvi someinput& + +This is what the output looks like over here: + + GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0 + Parsing ... [/home/hw/share/lilypond/init// + <..etc..> + init//performer.ly]]][input/kortjakje.ly] + Creating elements ...[8][16][24][25] + Preprocessing elements... + Calculating column positions ... [14][25] + Postprocessing elements... + TeX output to someinput.tex ... + Creating MIDI elements ...MIDI output to someinput.midi ... + + hw:~/musix/spacer$ xdvi someinput& + [1] 855 + +Check out the input files, some of them have comments Please +refer to the man page for more information. + +9: REDHAT LINUX + +RedHat Linux users can compile an RPM. A spec file is in +make/out/lilypond.spec, it is distributed along with the +sources. + +You can make the rpm by issuing + + rpm -tb lilypond-x.y.z.tar.gz + rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z + +10: DEBIAN GNU/LINUX + +A Debian package is also available; contact Anthony Fok +foka@debian.org. The build scripts are in the subdirectory +debian/. + +11: WINDOWS NT/95 + +Separate instructions on building for W32 are avaible in the +file README-W32.yo. + +12: AUTHORS + +Han-Wen Nienhuys + +Jan Nieuwenhuizen + +Have fun! diff --git a/NEWS b/NEWS index bd52f10d13..c522692383 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,29 @@ +pl 33.uu2 + - some performance cleanups: junked PointerList instance, plugged some leaks. + - style -> fontname now in scheme. + - minor Score_element brainsurgery: + * generic element properties. + * junked Score_element::junk_links, Score_element::unlink + * junked Directed_graph_node as superclass of +Score_element, this should reduce mem usage a bit. + pl 33.jcn2 - fixed autobeamer's beam->unlink () pl 33.jcn1 - allow autobeaming according to duration iso (crude) multiplicity +pl 33.jbr1 + - change my email address + - Windows platform does a cp -r instead of a ln -s + +pl 33.uu1 + - bf: ^ and _ + - junked poor man's dynamics. + +********* +pl 33 + pl 32.mb1 - bf: \> and \< were interchanged!! - Added property: textScriptPadding diff --git a/PATCHES.txt b/PATCHES.txt index 51fe20196e..af208e12f6 100644 --- a/PATCHES.txt +++ b/PATCHES.txt @@ -1,1302 +1,143 @@ -x T ascii -x res 240 24 40 -x init -p1 -x font 3 B -f3 -s10 -V280 -H0 -tNAME -n40 0 -x font 1 R -f1 -V360 -H120 -tPATCHES -wh24 -t- -wh24 -ttrack -wh24 -tand -wh24 -tdistribute -wh24 -tyour -wh24 -tcode -wh24 -tchanges -n40 0 -f3 -V440 -H0 -tDESCRIPTION -n40 0 -f1 -V520 -H120 -tThis -wh48 -tpage -wh48 -tdocuments -wh24 -thow -wh24 -tto -wh24 -tdistribute -wh24 -tyour -wh24 -tchanges -wh24 -tto -n40 0 -V560 -H0 -tGNU -wh24 -tlilypond -wh24 -t(or -wh24 -tin -wh24 -tfact -wh24 -tany -wh24 -tother -wh24 -tStepMake -wh24 -tpackage). -n40 0 -f3 -V640 -H0 -tABSTRACT -n40 0 -f1 -V720 -H120 -tDistributing -wh24 -ta -wh24 -tchange -wh24 -tnormally -wh24 -tgoes -wh24 -tlike -wh24 -tthis: -n40 0 -V800 -H0 -to -h96 -tmake -wh24 -tyour -wh24 -tfix/add -wh24 -tyour -wh24 -tcode -n40 0 -V880 -H0 -to -h96 -tAdd -wh24 -tchanges -wh24 -tto -wh24 -tNEWS, -wh24 -tand -wh48 -tadd -wh48 -tyourself -wh48 -tto -wh48 -tDocumenta -Chy -h24 -n40 0 -V920 -H120 -ttion/AUTHORS.yo -n40 0 -V1000 -H0 -to -h96 -tgenerate -wh24 -ta -wh24 -tpatch, -n40 0 -V1080 -H0 -to -h96 -te-mail -wh48 -tyour -wh48 -tpatch -wh48 -tto -wh48 -tone -wh48 -tof -wh24 -tthe -wh24 -tmailing -wh24 -tlists -wh24 -tgnu- -n40 0 -V1120 -H120 -tmusic-discuss@gnu.org -wh24 -tor -wh24 -tbug-gnu-music@gnu.org -n40 0 -f3 -V1200 -H0 -tGENERATING -wh24 -tA -wh24 -tPATCH -n40 0 -f1 -V1280 -H120 -tIn -wf3 -h24 -tVERSION -f1 -t, -wh24 -tset -wh24 -tMY_PATCH_LEVEL: -n40 0 -V1520 -H216 -tVERSION: -n40 0 -V1560 -H240 -t... -n40 0 -V1600 -H240 -tMY_PATCH_LEVEL=jcn1 -n40 0 -V1840 -H0 -tIn -wf3 -h24 -tNEWS -f1 -t, -wh24 -tenter -wh24 -ta -wh24 -tsummary -wh24 -tof -wh24 -tchanges: -n40 0 -V2120 -H216 -tNEWS: -n40 0 -V2160 -H240 -tpl -wh24 -t0.1.73.jcn1 -n40 0 -V2200 -H360 -t- -wh24 -tadded -wh24 -tPATCHES.yo -n40 0 -V2560 -H1440 -n40 0 -V2640 -p2 -x font 1 R -f1 -s10 -V160 -H696 -t-2- -h672 -n40 0 -V280 -H0 -tThen, -wh24 -tfrom -wh24 -tthe -wh24 -ttop -wh24 -tof -wh24 -tLily -Caa -h24 -ts -wh24 -tsource -wh24 -ttree, -wh24 -ttype -n40 0 -V560 -H216 -tmake -wh24 -tdist -n40 0 -V600 -H216 -tmake -wh24 -tdiff -n40 0 -V840 -H0 -twhich -wh24 -trolls -wh24 -tthe -wh48 -ttarball -wx font 3 B -f3 -h48 -t../releases/lilypond-0.1.73.tar.gz -n40 0 -f1 -V880 -H0 -tand -wh24 -tleaves -wh24 -tyour -wh24 -tpatch -wh24 -tas -wf3 -h48 -t./lilypond-0.1.73.jcn1.diff -f1 -t. -wh72 -t[1] -n40 0 -V920 -H0 -tWe -wh48 -tassume -wh24 -tthat -wh24 -tthere -wh24 -tis -wh24 -ta -wh24 -ttarball -wf3 -h24 -tlilypond-0.1.73.tar.gz -wf1 -h24 -tin -n40 0 -V960 -H0 -tthe -wh24 -tdirectory -wf3 -h24 -t../releases -f1 -t. -n40 0 -V1040 -H0 -tIf -wh24 -tyou -wh24 -tdidn -Caa -h24 -tt -wh24 -tconfigure -wh24 -tLily -wh24 -tusing -wh24 -t--srcdir, -wh24 -tyou -wh24 -tcan -wh24 -tdo: -n40 0 -V1320 -H216 -tmake -wh24 -trelease -n40 0 -V1400 -H216 -ttar-ball: -wh24 -t../patches/lilypond-0.1.73.jcn1.gz -n40 0 -V1440 -H216 -tpatch: -wh24 -t../patches/lilypond-0.1.73.jcn1.gz -n40 0 -V1480 -H216 -tupdeet: -wh24 -t../test/updeet -n40 0 -f3 -V1760 -H0 -tPREREQUISITES -n40 0 -f1 -V1880 -H0 -tFor -wh24 -tcreating -wh24 -ta -wh24 -tpatch -wh24 -tyou -wh24 -tneed -n40 0 -V2000 -H0 -to -h96 -tAll -wh24 -titems -wh24 -tmentioned -wh24 -tin -wf3 -h24 -tINSTALL -f1 -t. -wh48 -tYou -Caa -h24 -tre -wh48 -tnot -wh48 -tgoing -wh48 -tto -n40 0 -V2040 -H120 -tsend -wh24 -ta -wh24 -tpatch -wh24 -tthat -wh24 -tyou -wh24 -thaven -Caa -h24 -tt -wh24 -teven -wh24 -tbuilt, -wh24 -tright? -n40 0 -V2120 -H0 -to -h96 -tGNU -wh24 -tdiff -n40 0 -V2200 -H0 -to -h96 -tPython -wh48 -t(version -wh24 -t1.5 -wh24 -tor -wh24 -tnewer). -wh48 -tYou -wh24 -tcan -wh24 -tof -wh24 -tcourse -wh24 -tmake -n40 0 -V2240 -H120 -ta -wh24 -tpatch -wh24 -tby -wh24 -thand, -wh24 -twhich -wh24 -twould -wh24 -tgo -wh24 -tsomething -wh24 -tlike: -n40 0 -V2320 -H0 -Dl 240 0 -n40 0 -V2360 -H0 -t[1] -wh24 -Caa -h24 -tMake -wh24 -tdiff -Caa -wh48 -tgenerates -wh24 -ta -wh24 -tpatch -wh24 -tbetween -wh24 -ttwo -wh24 -ttar -Chy -h24 -n40 0 -V2400 -H0 -tballs. -wh48 -tFor -wh24 -tmore -wh24 -tinfo -wh24 -ttype -wh24 -Caa -h24 -tmake -wh24 -tdiff -wh24 -thelp== -Caa -h24 -t. -n40 0 -V2560 -H1440 -n40 0 -V2640 -p3 -x font 1 R -f1 -s10 -V160 -H696 -t-3- -h672 -n40 0 -V280 -H336 -tmake -wh24 -tdistclean -n40 0 -V320 -H336 -tcd -wh24 -t.. -n40 0 -V360 -H336 -tdiff -wh24 -t-urN -wh24 -tlilypond-0.1.73 -wh24 -tlilypond-0.1.73.jcn1 -wh24 -t> -wh24 -tlilypond-0.1.73.jcn1 -n40 0 -V600 -H120 -tbut -wh24 -tthere -wh48 -tare -wh48 -thandy -wh48 -tpython -wh48 -tscripts -wh48 -tavailable. -wh72 -tIf -n40 0 -V640 -H120 -tyou -Caa -h24 -tre -wh48 -tdoing -wh24 -tdevelopment, -wh24 -tyou -Caa -h24 -tll -wh24 -tneed -wh24 -tPython -wh24 -tfor -wh24 -tother -n40 0 -V680 -H120 -tLilyPond -wh24 -tscripts -wh24 -tanyway. -n40 0 -V800 -H0 -to -h96 -tThe -wh24 -tLily -wh24 -tdirectory -wh24 -tstructure, -wh24 -twhich -wh24 -tlooks -wh24 -tlike: -n40 0 -V1080 -H336 -tdoos/ -wh576 -t# -wh24 -tgnu/windows32 -wh24 -tbuild -wh24 -tand -wh24 -tbinary -wh24 -treleases -n40 0 -V1120 -H336 -tharmonia -wh24 -t-> -wh24 -tharmonia-x.y.z -n40 0 -V1160 -H336 -tharmonia-x.y.z/ -n40 0 -V1200 -H336 -tlilypond -wh24 -t-> -wh24 -tlilypond-x.y.z -wh72 -t# -wh24 -tsymlink -wh24 -tto -wh24 -tdevelopment -wh24 -tdirectory -n40 0 -V1240 -H336 -tlilypond-x.y.z/ -wh336 -t# -wh24 -tcurrent -wh24 -tdevelopment -n40 0 -V1280 -H336 -tpatches/ -wwh408 -t# -wh24 -tpatches -wh24 -tbetween -wh24 -tdifferent -wh24 -treleases -n40 0 -V1320 -H336 -tRedHat/BUILD -wh408 -t# -wh24 -tRedHat -wh24 -tbuild -wh24 -tand -wh24 -tbinary -wh24 -treleases -n40 0 -V1360 -H336 -tRedHat/RPMS -n40 0 -V1400 -H336 -tRedHat/SPECS -n40 0 -V1440 -H336 -treleases/ -wh480 -t# -wh24 -t.tar.gz -wh24 -treleases -n40 0 -V1480 -H336 -ttest/ -wh576 -t# -wh24 -ttarballs -wh24 -tand -wh24 -tdiffs -wh24 -tfrom -wh24 -tcurrent -wh24 -tversion -n40 0 -V1520 -H336 -tyodl -wh24 -t-> -wh24 -tyodl-1.30.17 -n40 0 -V1560 -H336 -tyodl-1.30.17 -n40 0 -V1760 -H120 -twith -wh24 -tprefix -wx font 3 B -f3 -h24 -t$HOME/usr/src -wf1 -h24 -tand -wh24 -t(for -wh24 -tbuilding -wh24 -trpms -wh48 -tonly) -n40 0 -V1800 -H120 -tin -wf3 -h24 -t$HOME/.rpmrc -f1 -t: -n40 0 -V2040 -H336 -ttopdir: -wh24 -t/home/fred/usr/src/RedHat -n40 0 -V2560 -H1440 -n40 0 -V2640 -p4 -x font 1 R -f1 -s10 -V160 -H696 -t-4- -h672 -n40 0 -x font 3 B -f3 -V280 -H0 -tAPPLYING -wh24 -tPATCHES -n40 0 -f1 -V400 -H0 -tIf -wh48 -tyou -Caa -h24 -tre -wh48 -tfollowing -wh48 -tLilyPond -wh48 -tdevelopment -wh48 -tregularly, -wh24 -tyou -n40 0 -V440 -H0 -tprobably -wh24 -twant -wh24 -tto -wh24 -tdownload -wh24 -tjust -wh24 -tthe -wh24 -tpatch -wh24 -tfor -wh24 -teach -wh24 -tsubsequent -n40 0 -V480 -H0 -trelease. -wh72 -tAfter -wh48 -tdownloading -wh48 -tthe -wh48 -tpatch -wh48 -t(into -wh24 -tthe -wh24 -tpatches -n40 0 -V520 -H0 -tdirectory, -wh24 -tof -wh24 -tcourse), -wh24 -tsimply -wh24 -tapply -wh24 -tit: -n40 0 -V800 -H216 -tgzip -wh24 -t-dc -wh24 -t../patches/lilypond-0.1.74.diff.gz -wh24 -t| -wh24 -tpatch -wh24 -t-p1 -wh24 -t-E -n40 0 -V1040 -H0 -tand -wh24 -tdon -Caa -h24 -tt -wh24 -tforget -wh24 -tto -wh24 -tmake -wh24 -tautomatically -wh24 -tgenerated -wh24 -tfiles: -n40 0 -V1320 -H216 -tautoconf -wh24 -tfootnote(patches -wh24 -tdon -Caa -h24 -tt -wh24 -tinclude -wh24 -tautomatically -wh24 -tgenerated -wh24 -tfiles, -n40 0 -V1360 -H216 -ti.e. -wh24 -tfile(configure) -wh24 -tand -wh24 -tfiles -wh24 -tgenerated -wh24 -tby -wh24 -tfile(configure).) -n40 0 -V1440 -H216 -tconfigure -n40 0 -f3 -V1720 -H0 -tSYNCHRONISE -n40 0 -f1 -V1840 -H0 -tIf -wh24 -tyou -Caa -h24 -tre -wh24 -tnot -wh24 -tvery -wh24 -tquick -wh24 -twith -wh24 -tsending -wh24 -tyour -wh24 -tpatch, -wh24 -tthere -Caa -h24 -ts -wh48 -ta -n40 0 -V1880 -H0 -tgood -wh24 -tchance -wh24 -tthat -wh24 -tan -wh24 -tnew -wh24 -trelease -wh24 -tof -wh24 -tLilyPond -wh24 -tcomes -wh24 -tavailable. -n40 0 -V1920 -H0 -tIn -wh24 -tsuch -wh24 -ta -wh24 -tcase -wh24 -t(and -wh24 -tsometimes -wh24 -tfor -wh24 -tother -wh24 -tunkown -wh24 -treasons -wh48 -t:-), -n40 0 -V1960 -H0 -tthe -wh48 -tmaintainer -wh48 -twill -wh48 -tprobably -wh48 -task -wh24 -tyou -wh24 -tto -wh24 -tmake -wh24 -ta -wh24 -tnew -wh24 -tpatch -n40 0 -V2000 -H0 -tagainst -wh24 -tthe -wh24 -tlatest -wh24 -trelease. -wh48 -tYour -wh24 -tbest -wh24 -tbet -wh48 -tis -wh48 -tto -wh48 -tdownload -n40 0 -V2040 -H0 -tthe -wh48 -tlatest -wh48 -trelease, -wh48 -tand -wh24 -tapply -wh24 -tyour -wh24 -tpatch -wh24 -tagainst -wh24 -tthis -wh24 -tnew -n40 0 -V2080 -H0 -tsource -wh24 -ttree: -n40 0 -V2560 -H1440 -n40 0 -V2640 -p5 -x font 1 R -f1 -s10 -V160 -H696 -t-5- -h672 -n40 0 -V280 -H216 -tcd -wh24 -tlilypond-0.1.74 -n40 0 -V320 -H216 -tgzip -wh24 -t-dc -wh24 -t../patches/lilypond-0.1.73.jcn1.diff.gz -wh24 -t| -wh24 -tpatch -wh24 -t-p1 -wh24 -t-E -n40 0 -V360 -H216 -tautoconf -n40 0 -V400 -H216 -tconfigure -n40 0 -V640 -H0 -tThen, -wh24 -tmake -wh24 -ta -wh24 -tpatch -wh24 -tas -wh24 -tshown -wh24 -tabove. -n40 0 -x font 3 B -f3 -V760 -H0 -tSEE -wh24 -tALSO -n40 0 -V880 -H0 -tstepmake/INSTALL.txt -n40 0 -V1000 -H0 -tMAINTAINER -n40 0 -f1 -V1120 -H0 -tHan-Wen -wh24 -tNienhuys -wh24 -t -n40 0 -V1200 -H0 -tJust -wh24 -tkeep -wh24 -ton -wh24 -tsending -wh24 -tthose -wh24 -tpatches! -n40 0 -V2560 -H1440 -n40 0 -x trailer -V2640 -x stop + +NAME + + PATCHES - track and distribute your code changes + +DESCRIPTION + + This page documents how to distribute your changes to +GNU lilypond (or in fact any other StepMake package). + +ABSTRACT + + Distributing a change normally goes like this: + +o make your fix/add your code + +o Add changes to NEWS, and add yourself to Documenta- + tion/AUTHORS.yo + +o generate a patch, + +o e-mail your patch to one of the mailing lists gnu- + music-discuss@gnu.org or bug-gnu-music@gnu.org + +GENERATING A PATCH + + In VERSION, set MY_PATCH_LEVEL: + + VERSION: + ... + MY_PATCH_LEVEL=jcn1 + +In NEWS, enter a summary of changes: + + NEWS: + pl 0.1.73.jcn1 + - added PATCHES.yo + +Then, from the top of Lily's source tree, type + + make dist + make diff + +which rolls the tarball ../releases/lilypond-0.1.73.tar.gz +and leaves your patch as ./lilypond-0.1.73.jcn1.diff. [1] +We assume that there is a tarball lilypond-0.1.73.tar.gz in +the directory ../releases. + +If you didn't configure Lily using --srcdir, you can do: + + make release + + tar-ball: ../patches/lilypond-0.1.73.jcn1.gz + patch: ../patches/lilypond-0.1.73.jcn1.gz + updeet: ../test/updeet + +PREREQUISITES + +For creating a patch you need + +o All items mentioned in INSTALL. You're not going to + send a patch that you haven't even built, right? + +o GNU diff + +o Python (version 1.5 or newer). You can of course make + a patch by hand, which would go something like: + +----------- +[1] 'Make diff' generates a patch between two tar- +balls. For more info type 'make diff help=='. + + make distclean + cd .. + diff -urN lilypond-0.1.73 lilypond-0.1.73.jcn1 > lilypond-0.1.73.jcn1 + + but there are handy python scripts available. If + you're doing development, you'll need Python for other + LilyPond scripts anyway. + +o The Lily directory structure, which looks like: + + doos/ # gnu/windows32 build and binary releases + harmonia -> harmonia-x.y.z + harmonia-x.y.z/ + lilypond -> lilypond-x.y.z # symlink to development directory + lilypond-x.y.z/ # current development + patches/ # patches between different releases + RedHat/BUILD # RedHat build and binary releases + RedHat/RPMS + RedHat/SPECS + releases/ # .tar.gz releases + test/ # tarballs and diffs from current version + yodl -> yodl-1.30.17 + yodl-1.30.17 + + with prefix $HOME/usr/src and (for building rpms only) + in $HOME/.rpmrc: + + topdir: /home/fred/usr/src/RedHat + +APPLYING PATCHES + +If you're following LilyPond development regularly, you +probably want to download just the patch for each subsequent +release. After downloading the patch (into the patches +directory, of course), simply apply it: + + gzip -dc ../patches/lilypond-0.1.74.diff.gz | patch -p1 -E + +and don't forget to make automatically generated files: + + autoconf footnote(patches don't include automatically generated files, + i.e. file(configure) and files generated by file(configure).) + + configure + +SYNCHRONISE + +If you're not very quick with sending your patch, there's a +good chance that an new release of LilyPond comes available. +In such a case (and sometimes for other unkown reasons :-), +the maintainer will probably ask you to make a new patch +against the latest release. Your best bet is to download +the latest release, and apply your patch against this new +source tree: + + cd lilypond-0.1.74 + gzip -dc ../patches/lilypond-0.1.73.jcn1.diff.gz | patch -p1 -E + autoconf + configure + +Then, make a patch as shown above. + +SEE ALSO + +stepmake/INSTALL.txt + +MAINTAINER + +Han-Wen Nienhuys + +Just keep on sending those patches! diff --git a/README.txt b/README.txt index 482aff8126..eee3265d47 100644 --- a/README.txt +++ b/README.txt @@ -1,1198 +1,106 @@ -x T ascii -x res 240 24 40 -x init -p1 -x font 3 B -f3 -s10 -V400 -H240 -tThis -wh24 -tis -wh24 -tthe -wh24 -ttoplevel -wh24 -tREADME -wh24 -tto -wh24 -tLilyPond -n40 0 -x font 1 R -f1 -V520 -H0 -tLilyPond -wh48 -tis -wh24 -tthe -wh24 -tGNU -wh24 -tProject -wh24 -tmusic -wh24 -ttypesetter. -wh48 -tThis -wh24 -tprogram -n40 0 -V560 -H0 -tcan -wh24 -tprint -wh24 -tbeautiful -wh24 -tsheet -wh48 -tmusic -wh48 -tfrom -wh48 -ta -wh48 -tmusic -wh48 -tdefinition -n40 0 -V600 -H0 -tfile. -wh72 -tIt -wh48 -tcan -wh48 -talso -wh24 -tplay -wh24 -tmechanical -wh24 -tperformances -wh24 -tto -wh24 -ta -wh24 -tMIDI -n40 0 -V640 -H0 -tfile. -wh48 -tFeatures -wh48 -tinclude -wh48 -tmultiple -wh48 -tstaffs, -wh48 -tmeters, -wh48 -tclefs, -n40 0 -V680 -H0 -tkeys, -wh48 -tlyrics, -wh48 -tversatile -wh48 -tinput -wh48 -tlanguage, -wh24 -tcadenzas, -wh24 -tbeams, -n40 0 -V720 -H0 -tslurs, -wh48 -ttriplets, -wh48 -tnamed -wh48 -tchords, -wh48 -ttransposing, -wh72 -tformatting -n40 0 -V760 -H0 -tscores, -wh24 -tpart -wh24 -textraction. -wh48 -tIt -wh24 -tincludes -wh24 -ta -wh24 -tnice -wh24 -tfont -wh24 -tof -wh24 -tmusical -n40 0 -V800 -H0 -tsymbols. -n40 0 -f3 -V920 -H0 -t1: -wh24 -tVERSIONING -n40 0 -f1 -V1040 -H0 -tLilyPond -wh24 -tuses -wh24 -ta -wh24 -tversioning -wh24 -tscheme -wh24 -tsimilar -wh24 -tto -wh24 -tthe -wh24 -tLinux -wh48 -tker -Chy -h24 -n40 0 -V1080 -H0 -tnel. -wh72 -tIn -wh48 -ta -wh48 -tversion -wh48 -t"x.y.z", -wh48 -tan -wh48 -teven -wh48 -tsecond -wh24 -tnumber -wh24 -Caa -h24 -ty -Caa -h24 -n40 0 -V1120 -H0 -tdenotes -wh24 -ta -wh24 -tstable -wh24 -tversion. -wh48 -tFor -wh24 -tdevelopment -wh24 -tversions -wh48 -Caa -h24 -ty -Caa -wh72 -tis -n40 0 -V1160 -H0 -todd. -wh48 -tFor -wh24 -tusing -wh24 -tstraightforward -wh24 -tscore -wh24 -tproduction, -wh24 -tplease -wh24 -tuse -n40 0 -V1200 -H0 -tthe -wh24 -tlatest -wh24 -tstable -wh24 -tversion. -wh72 -tDevelopment -wh48 -tversions -wh48 -tmay -wh48 -tnot -n40 0 -V1240 -H0 -tproduce -wh24 -tgood -wh24 -tor -wh24 -tnice -wh24 -tscores. -n40 0 -V1320 -H0 -tIf -wh24 -tyou -wh24 -thave -wh24 -tdownloaded -wh24 -ta -n40 0 -V1400 -H0 -t*.pre* -n40 0 -V1480 -H0 -tversion, -wh48 -tthen -wh48 -tthis -wh24 -tis -wh24 -tversion -wh24 -tis -wh24 -t*not* -wh24 -tmeant -wh24 -tfor -wh24 -tproducing -n40 0 -V1520 -H0 -tnice -wh24 -toutput -wh24 -t(but -wh24 -tto -wh24 -tkeep -wh24 -tyour -wh24 -tpatchsets -wh48 -tup -wh48 -tto -wh48 -tdate). -wh72 -tIt -n40 0 -V1560 -H0 -tmight -wh48 -tnot -wh24 -teven -wh24 -tcompile. -wh48 -tThe -wh24 -tsame -wh24 -tgoes -wh24 -tfor -wh24 -ta -wh24 -tversion -wh24 -twith -wh24 -ta -n40 0 -V1600 -H0 -t4th -wh24 -tversion -wh24 -tnumber, -wh24 -teg -n40 0 -V1680 -H0 -t1.2.3.mypatch2 -n40 0 -V1760 -H0 -tIt -wh24 -twill -wh24 -tbe -wh24 -tsafer -wh24 -tif -wh24 -tyou -wh24 -tdownload -wh24 -t1.2.3 -wh24 -tor -wh24 -twait -wh24 -tfor -wh24 -t1.2.4. -n40 0 -f3 -V1880 -H0 -t2: -wh24 -tREQUIREMENTS -n40 0 -f1 -V2000 -H0 -tFor -wh24 -tthe -wh24 -tcompilation -wh24 -tand -wh24 -trunning -wh24 -tof -wh24 -tLilyPond -wh48 -tyou -wh48 -tneed -wh48 -tsome -n40 0 -V2040 -H0 -tadditional -wh48 -tpackages. -wh72 -tPlease -wh48 -trefer -wh48 -tto -wh48 -tthe -wh48 -tinstallation -n40 0 -V2080 -H0 -tinstructions. -n40 0 -V2160 -H0 -tNOTE: -wh24 -tIf -wh24 -tyou -wh24 -tdownloaded -wh24 -ta -wh24 -tbinary -wh48 -t(.rpm -wh48 -tor -wh48 -ta -wh48 -tW95/NT -wh48 -t.zip -n40 0 -V2200 -H0 -tfile), -wh24 -tthen -wh24 -tyou -wh24 -tdon -Caa -h24 -tt -wh24 -thave -wh24 -tto -wh24 -tcompile -wh24 -tLilyPond. -n40 0 -V2560 -H1440 -n40 0 -V2640 -p2 -x font 1 R -f1 -s10 -V160 -H696 -t-2- -h672 -n40 0 -x font 3 B -f3 -V280 -H0 -t3: -wh24 -tINSTALLATION -n40 0 -f1 -V400 -H0 -tFor -wh48 -tyour -wh48 -tconvenience, -wh48 -ta -wh48 -tformatted -wh48 -tcopy -wh48 -tof -wh48 -tthe -wh24 -tINSTALL -n40 0 -V440 -H0 -tinstructions -wh24 -tare -wh24 -tin -wh24 -tthe -wh24 -ttoplevel -wh24 -tdirectory, -wh24 -tas -wh24 -tINSTALL.txt -n40 0 -V520 -H0 -tThe -wh24 -tprocess -wh24 -tis -wh24 -tfairly -wh24 -tstraightforward, -wh24 -tbut -wh24 -tchances -wh24 -tare -wh48 -tthat -n40 0 -V560 -H0 -tyou -wh48 -thave -wh48 -tto -wh24 -tspecify -wh24 -tdirectories -wh24 -tfor -wh48 -tto -wh24 -tconfigure: -wh24 -tthis -wh24 -tis -n40 0 -V600 -H0 -tdone -wh24 -twith -wh24 -tthe -wh24 -toptions -wh24 -t--enable-tex-dir -wh24 -tand -wh24 -t--enable-mf-dir -n40 0 -f3 -V720 -H0 -t4: -wh24 -tDOCUMENTATION -n40 0 -f1 -V840 -H0 -tThe -wh24 -treal -wh24 -tdocumentation -wh24 -tis -wh24 -tthe -wh24 -tdirectory -wh24 -tDocumentation/ -n40 0 -V920 -H0 -tTo -wh24 -tgenerate -wh24 -tthe -wh24 -tpretty-printed -wh24 -tdocs, -wh24 -tyou -wh24 -thave -wh24 -tto -wh24 -trun -wh24 -tconfig -Chy -h24 -n40 0 -V960 -H0 -ture -wh24 -tfirst, -wh24 -tand -wh24 -tthen -wh24 -tdo -wh24 -tthis: -n40 0 -V1040 -H0 -tmake -wh24 -tdoc -n40 0 -V1120 -H0 -tYou -wh48 -tcan -wh48 -talso -wh48 -tsimply -wh24 -tread -wh24 -tthe -wh24 -t.yo -wh24 -tsources. -wh48 -tThey -wh24 -tare -wh24 -tASCII -n40 0 -V1160 -H0 -ttext. -wh48 -tThe -wh24 -tcomplete -wh24 -tdocumentation -wh24 -tis -wh24 -taccessible -wh24 -tin -wh24 -tformatted -n40 0 -V1200 -H0 -tform -wh48 -tat -wh24 -tthe -wh24 -twebsite -wh24 -thttp://www.cs.uu.nl/people/hanwen/lily -Chy -h24 -n40 0 -V1240 -H0 -tpond/index.html -n40 0 -f3 -V1360 -H0 -t5: -wh24 -tCOMMENTS -n40 0 -f1 -V1480 -H0 -tLilyPond -wh24 -tis -wh24 -ta -wh24 -tlong -wh24 -tway -wh24 -tfrom -wh24 -tfinished -wh24 -tand -wh48 -tpolished. -wh72 -tWe -wh48 -tdo -n40 0 -V1520 -H0 -tappreciate -wh24 -tcriticism, -wh24 -tcomments, -wh24 -tbugreports, -wh24 -tpatches, -wh24 -tetc. -n40 0 -V1600 -H0 -tPlease -wh24 -tsend -wh24 -tyour -wh24 -te-mail -wh24 -tto -wh24 -tone -wh24 -tof -wh24 -tthe -wh24 -tMAILING -wh24 -tLISTS -n40 0 -V1680 -H0 -tand -wh48 -tnot -wh48 -tto -wh48 -tus -wh24 -tpersonally. -wh48 -tSee -wf3 -h24 -tDocumentation/links.yo -wf1 -h24 -tfor -n40 0 -V1720 -H0 -tmore -wh24 -tinfo. -n40 0 -f3 -V1840 -H0 -t6: -wh24 -tWINDOWS -wh24 -t32 -n40 0 -f1 -V1960 -H0 -tIf -wh24 -tyou -wh24 -thave -wh24 -treceived -wh24 -tthis -wh24 -tfile -wh24 -tas -wh48 -tpart -wh48 -tof -wh48 -ta -wh48 -tDOS/Window32 -n40 0 -V2000 -H0 -tdistribution -wh48 -t(lilypond-*.zip), -wh24 -tthen -wh24 -tit -wh24 -tis -wh24 -tadvisable -wh24 -tto -wh24 -talso -n40 0 -V2040 -H0 -tdownload -wh24 -tthe -wh24 -tsource -wh24 -tpackage, -wh24 -tsince -wh48 -tit -wh48 -tmight -wh48 -tcontain -wh48 -tmore -n40 0 -V2080 -H0 -tdocumentation -wh24 -tftp://ftp.cs.uu.nl/pub/GNU/LilyPond/ -n40 0 -V2160 -H0 -tIf -wh24 -tyou -wh24 -tdecide -wh24 -tto -wh24 -tbuild -wh24 -tLilyPond -wh24 -tfrom -wh24 -tsource, -wh24 -tplease -wh24 -tread -wh24 -tthe -n40 0 -V2200 -H0 -tINSTALL.txt -wh24 -tdocument -wh24 -tfirst, -wh48 -tespecially -wh48 -tthe -wh48 -tWindows -wh48 -tNT/95 -n40 0 -V2240 -H0 -tsection. -n40 0 -V2560 -H1440 -n40 0 -V2640 -p3 -x font 1 R -f1 -s10 -V160 -H696 -t-3- -h672 -n40 0 -x font 3 B -f3 -V280 -H0 -t7: -wh24 -tCAVEATS -n40 0 -f1 -V400 -H0 -t* -wh48 -tPlease -wh24 -tread -wh24 -tthe -wh24 -tfile -wh24 -tBUGS -wh24 -tfor -wh24 -tsome -wh24 -tugly -wh24 -tbugs. -wh48 -tThis -wh24 -tespe -Chy -h24 -n40 0 -V440 -H0 -tcially -wh24 -tapplies -wh24 -tLinux-Intel -wh24 -tunix -wh24 -tusers. -n40 0 -V520 -H0 -t* -wh24 -tIf -wh24 -tyou -wh24 -thave -wh24 -tinstalled -wh48 -ta -wh48 -tprevious -wh48 -tversion, -wh48 -tbe -wh48 -tsure -wh48 -tto -n40 0 -V560 -H0 -tremove -wh24 -told -wh24 -tfont -wh24 -tfiles, -wh24 -teg -n40 0 -V760 -H120 -trm -wh24 -t`find -wh24 -t/var/lib/texmf/fonts -wh24 -t-name -wh24 -Caa -h24 -tfeta* -Caa -h24 -t` -n40 0 -V960 -H0 -ta -wh48 -tscript -wh48 -tto -wh48 -tdo -wh48 -tthis -wh48 -tfor -wh48 -tyou -wh48 -tis -wh24 -tin -wf3 -h24 -tbuildscripts/clean- -n40 0 -V1000 -H0 -tfonts.sh -n40 0 -V1120 -H0 -t8: -wh24 -tCDROM -wh24 -tDISTRIBUTIONS -n40 0 -f1 -V1240 -H0 -tIf -wh24 -tyou -wh24 -thave -wh24 -treceived -wh24 -tLilyPond -wh24 -ton -wh24 -ta -wh24 -tcdrom, -wh24 -tchances -wh48 -tare -wh48 -tthat -n40 0 -V1280 -H0 -tdevelopment -wh48 -thas -wh48 -tmoved -wh24 -ta -wh24 -tsome -wh24 -tpatchlevels -wh24 -tup. -wh48 -tIf -wh24 -tpossible, -n40 0 -V1320 -H0 -tplease -wh24 -tcheck -wh24 -tthe -wh24 -tlatest -wh24 -tversion -wh24 -tof -wh24 -tLilyPond -wh24 -tbefore -wh24 -treporting -n40 0 -V1360 -H0 -tbugs. -n40 0 -V2560 -H1440 -n40 0 -x trailer -V2640 -x stop + + This is the toplevel README to LilyPond + +LilyPond is the GNU Project music typesetter. This program +can print beautiful sheet music from a music definition +file. It can also play mechanical performances to a MIDI +file. Features include multiple staffs, meters, clefs, +keys, lyrics, versatile input language, cadenzas, beams, +slurs, triplets, named chords, transposing, formatting +scores, part extraction. It includes a nice font of musical +symbols. + +1: VERSIONING + +LilyPond uses a versioning scheme similar to the Linux ker- +nel. In a version "x.y.z", an even second number 'y' +denotes a stable version. For development versions 'y' is +odd. For using straightforward score production, please use +the latest stable version. Development versions may not +produce good or nice scores. + +If you have downloaded a + +*.pre* + +version, then this is version is *not* meant for producing +nice output (but to keep your patchsets up to date). It +might not even compile. The same goes for a version with a +4th version number, eg + +1.2.3.mypatch2 + +It will be safer if you download 1.2.3 or wait for 1.2.4. + +2: REQUIREMENTS + +For the compilation and running of LilyPond you need some +additional packages. Please refer to the installation +instructions. + +NOTE: If you downloaded a binary (.rpm or a W95/NT .zip +file), then you don't have to compile LilyPond. + +3: INSTALLATION + +For your convenience, a formatted copy of the INSTALL +instructions are in the toplevel directory, as INSTALL.txt + +The process is fairly straightforward, but chances are that +you have to specify directories for to configure: this is +done with the options --enable-tex-dir and --enable-mf-dir + +4: DOCUMENTATION + +The real documentation is the directory Documentation/ + +To generate the pretty-printed docs, you have to run config- +ure first, and then do this: + +make doc + +You can also simply read the .yo sources. They are ASCII +text. The complete documentation is accessible in formatted +form at the website http://www.cs.uu.nl/people/hanwen/lily- +pond/index.html + +5: COMMENTS + +LilyPond is a long way from finished and polished. We do +appreciate criticism, comments, bugreports, patches, etc. + +Please send your e-mail to one of the MAILING LISTS + +and not to us personally. See Documentation/links.yo for +more info. + +6: WINDOWS 32 + +If you have received this file as part of a DOS/Window32 +distribution (lilypond-*.zip), then it is advisable to also +download the source package, since it might contain more +documentation ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/ + +If you decide to build LilyPond from source, please read the +INSTALL.txt document first, especially the Windows NT/95 +section. + +7: CAVEATS + +* Please read the file BUGS for some ugly bugs. This espe- +cially applies Linux-Intel unix users. + +* If you have installed a previous version, be sure to +remove old font files, eg + + rm `find /var/lib/texmf/fonts -name 'feta*'` + +a script to do this for you is in buildscripts/clean- +fonts.sh + +8: CDROM DISTRIBUTIONS + +If you have received LilyPond on a cdrom, chances are that +development has moved a some patchlevels up. If possible, +please check the latest version of LilyPond before reporting +bugs. diff --git a/TODO b/TODO index 48ab1d9468..263c2cb57c 100644 --- a/TODO +++ b/TODO @@ -43,6 +43,12 @@ Grep for TODO and ugh/ugr/urg. } . * - Look at input/test/span-bars.ly. The staff lines extend too far to the left on the note systems including the GrandStaff. +. * midi key. +. *P.P.S. It can be cool in mudela-book to distinguish in pre,postMudelaExample, +whether MudelaExample is epsed or not: ( if this fragment is floating eps, than 1, +otherwise 2). say preMudelaExample[eps]{}, and change it in document body sometimes. + +. * tetex: mfplain.mem . * fix midi output: . * default duration? d duration must be not entered explicitely on first note. @@ -115,23 +121,40 @@ n=\notes\relative c'{ directions of the dynamics for the two parts. Voice.dynamicDir seems to set the direction for the full staff. . * hangOnClef with non-breakable clefs. -. * use an alist for Score_elem "properties". +. * Aha, the problem is the new TeX code generation for changing fonts. +> (The explanation below is mostly intended for Han-Wen and Jan) +> Before, the font was changed with macros declared separately for +> pure TeX and LaTeX, but now all the fonts are declared directly in +> the generated code using the low-level TeX commands. This circumvents +> the fontencoding mechanism of LaTeX and is a potential source of +> problems also for us users of the Latin-1 character set. +> I think it still works since the inputencoding latin1 is +> declared by ly2dvi, but it still means that e.g. an o with +> umlaut is typeset as a combination of the two symbols 'o' and +> 'umlaut' instead of as a single character, as would be the case +> if fontencoding OT1 had been used. This shouldn't give any +> difference in layout, though. One of the main argument for using +> fontencoding OT1 is for the hyphenation mechanism to work, an +> argument that's clearly irrelevant in our application. Yet we +> see the problem for August. . * Check gcc 2.8.1 compatibility . * Document source code. . * limit memory usage; the full coriolan takes up too much resources. . * Sort items after breaking in order of linenumber. Then be more eficient with finding -. * Do Mark & sweep GC for Score_elems, junk backlinks. +. * Do Mark & sweep GC for Score_elems . * make "in-between" engraver (Tie, Extender) -. * use Drul_array for Interval. +. * textWidthFatness property +. * The Lilypond accidental symbols are available through the TeX macros, +\textflat, \textsharp and \textnatural defined in the init file +lilyponddefs.tex. All the symbols are defined in the files fetaXX.tex +where XX corresponds to the size. I don't know where (or even if) they +are installed but they are generated in the mf/out/ directory during the +compilation. . * compulsory hshift -. * ties to tie only notes of the same pitch, so that - < a~ a,> a -works as you'd expect it to. . * 1. Can Lily be told where to start numbering? . * do scaled fonts. . * profile atom smobs -. * Try to use Killing_cons iso. Pointer_list . * make dependencies () a virtual function. . * fix Repeated_music design . * one big ly2dvi input that includes *all* tests. @@ -217,7 +240,6 @@ The beams are at the right angle, but they aren't in the right place. . * bracket on/off/no-bracket-when-beam . * num on/off/no-num-when-beam . * fix: standchen. -. * junk backlinks? . * junk text{sharp,flat,etc} . * fix convert-mudela manpage . * decimal point in \paper {} @@ -262,7 +284,7 @@ The beams are at the right angle, but they aren't in the right place. . * cf'able ly2dvi tagline. . * deps for ly2dvi .* STUFF -. * check out legal/(c) matters for scores. +. * arrows on slurs. . * Align_element::padding ? . * uniformise property names... . * ydirection <-> yDirection diff --git a/VERSION b/VERSION index 2ec9ff54a9..94d7adbd70 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 -PATCH_LEVEL=33 -MY_PATCH_LEVEL=jcn3 +PATCH_LEVEL=34 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/aclocal.m4 b/aclocal.m4 index 6fb07b65b4..0dedb26ffd 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -292,7 +292,7 @@ dnl fi if test "x$OSTYPE" = "xcygwin32" || test "x$OSTYPE" = "xWindows_NT"; then LN=cp # hard link does not work under cygnus-nt - LN_S=cp # symbolic link does not work for native nt + LN_S='cp -r' # symbolic link does not work for native nt ZIP="zip -r -9" # DOTEXE=.exe # urg diff --git a/configure b/configure index ff26468887..5423c29744 100755 --- a/configure +++ b/configure @@ -981,7 +981,7 @@ fi if test "x$OSTYPE" = "xcygwin32" || test "x$OSTYPE" = "xWindows_NT"; then LN=cp # hard link does not work under cygnus-nt - LN_S=cp # symbolic link does not work for native nt + LN_S='cp -r' # symbolic link does not work for native nt ZIP="zip -r -9" # DOTEXE=.exe # urg diff --git a/lily/axis-group-element.cc b/lily/axis-group-element.cc index 85850655b4..5b42c70e8a 100644 --- a/lily/axis-group-element.cc +++ b/lily/axis-group-element.cc @@ -9,17 +9,6 @@ #include "axis-group-element.hh" #include "graphical-axis-group.hh" -void -Axis_group_element::do_unlink() -{ - remove_all(); -} - -void -Axis_group_element::do_junk_links() -{ - elem_l_arr_.set_size (0); -} Link_array diff --git a/lily/axis-group-spanner.cc b/lily/axis-group-spanner.cc index 8517e93862..b78887ef6c 100644 --- a/lily/axis-group-spanner.cc +++ b/lily/axis-group-spanner.cc @@ -102,8 +102,6 @@ Axis_group_spanner::do_break_processing() { my_item->transparent_b_ = true; my_item->set_empty (true); - /*my_item->unlink (); - delete my_item;*/ } } diff --git a/lily/bar-script-engraver.cc b/lily/bar-script-engraver.cc index 14c26b6e03..7262b1fc08 100644 --- a/lily/bar-script-engraver.cc +++ b/lily/bar-script-engraver.cc @@ -138,8 +138,11 @@ Bar_script_engraver::create_items (Request *rq) staff_side_p_->padding_f_ = Real(padding); } - staff_side_p_->visibility_lambda_ = visibility_lambda_; - text_p_->visibility_lambda_ = visibility_lambda_; + + staff_side_p_->set_elt_property (ly_symbol ("visibility_lambda"), + visibility_lambda_); + text_p_->set_elt_property (ly_symbol ("visibility_lambda"), + visibility_lambda_); announce_element (Score_element_info (text_p_, rq)); announce_element (Score_element_info (staff_side_p_, rq)); diff --git a/lily/base-span-bar-engraver.cc b/lily/base-span-bar-engraver.cc index d36a15dee6..92fe5ee248 100644 --- a/lily/base-span-bar-engraver.cc +++ b/lily/base-span-bar-engraver.cc @@ -6,6 +6,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "lily-guile.hh" #include "span-bar.hh" #include "base-span-bar-engraver.hh" #include "vertical-align-spanner.hh" @@ -50,6 +51,10 @@ Base_span_bar_engraver::acknowledge_element (Score_element_info i) */ { spanbar_p_ = get_span_bar_p(); + String visnam = String(name()) + "_visibility"; + + spanbar_p_->set_elt_property (ly_symbol ("visibility_lambda"), + gh_eval_str (visnam.ch_C())); if (use_priority_b_) { diff --git a/lily/clef-item.cc b/lily/clef-item.cc index 456688dc86..08eb9ea4c4 100644 --- a/lily/clef-item.cc +++ b/lily/clef-item.cc @@ -56,21 +56,19 @@ Clef_item::do_add_processing () Real r = do_height ()[octave_dir_] + g->extent (Y_AXIS)[-octave_dir_]; g->dim_cache_[Y_AXIS].set_offset (r); } + if (default_b_) { - visibility_lambda_ = defvis; + set_elt_property (ly_symbol ("visibility_lambda"), + defvis); + if (g) - g->visibility_lambda_ = defvis; + g->set_elt_property (ly_symbol ("visibility_lambda"), + defvis); } } - - } - - - - Molecule* Clef_item::do_brew_molecule_p() const { diff --git a/lily/font-size-engraver.cc b/lily/font-size-engraver.cc index fa5e1e4200..22436f0aba 100644 --- a/lily/font-size-engraver.cc +++ b/lily/font-size-engraver.cc @@ -9,6 +9,7 @@ #include "font-size-engraver.hh" #include "score-element.hh" +#include "lily-guile.hh" Font_size_engraver::Font_size_engraver () { @@ -29,7 +30,8 @@ Font_size_engraver::do_process_requests () void Font_size_engraver::acknowledge_element (Score_element_info e) { - e.elem_l_->size_i_ = size_i_; + e.elem_l_->set_elt_property (ly_symbol ("fontsize"), + gh_int2scm (size_i_)); } ADD_THIS_TRANSLATOR (Font_size_engraver); diff --git a/lily/graphical-element.cc b/lily/graphical-element.cc index e4e217f093..98c3c02b62 100644 --- a/lily/graphical-element.cc +++ b/lily/graphical-element.cc @@ -96,22 +96,6 @@ Graphical_element::extent (Axis a) const return d->get_dim (); } -void -Graphical_element::unlink () -{ - for (int a=X_AXIS; a < NO_AXES; a++) - if (Dimension_cache * d = dim_cache_[a].parent_l_) - { - if (Graphical_axis_group * eg - = dynamic_cast (d->elt_l_)) - eg->remove_element (this); - } -} - -void -Graphical_element::junk_links () -{ -} void Graphical_element::do_print () const diff --git a/lily/include/audio-column.hh b/lily/include/audio-column.hh index f1df72b631..42836a54b4 100644 --- a/lily/include/audio-column.hh +++ b/lily/include/audio-column.hh @@ -12,13 +12,13 @@ #include "lily-proto.hh" #include "moment.hh" #include "pcursor.hh" - +#include "audio-element.hh" /** generic audio grouped vertically. */ -class Audio_column { +class Audio_column : public Audio_element { public: Audio_column (Moment at_mom); diff --git a/lily/include/axis-group-element.hh b/lily/include/axis-group-element.hh index 130dbfdda5..e272ffca0d 100644 --- a/lily/include/axis-group-element.hh +++ b/lily/include/axis-group-element.hh @@ -22,8 +22,6 @@ class Axis_group_element : public virtual Score_element, protected: virtual void do_print() const; virtual Link_array get_extra_dependencies() const; - virtual void do_unlink(); - virtual void do_junk_links(); public: virtual Link_array elem_l_arr() const; diff --git a/lily/include/axis-group-item.hh b/lily/include/axis-group-item.hh index 7ad8e64329..9d0852b64a 100644 --- a/lily/include/axis-group-item.hh +++ b/lily/include/axis-group-item.hh @@ -22,16 +22,6 @@ protected: virtual void do_breakable_col_processing(); void OK() const; virtual void do_print() const; - virtual void do_junk_links() { - Item::do_junk_links(); - Axis_group_element::do_junk_links(); - } - virtual void do_unlink() { - Item::do_unlink(); - Axis_group_element::do_unlink(); - } -public: - }; #endif // AXIS_ITEM_HH diff --git a/lily/include/axis-group-spanner.hh b/lily/include/axis-group-spanner.hh index 029693125d..138c58787a 100644 --- a/lily/include/axis-group-spanner.hh +++ b/lily/include/axis-group-spanner.hh @@ -19,14 +19,6 @@ class Axis_group_spanner : public Spanner, public virtual Axis_group_element { void do_break_processing_if_unbroken(); protected: - virtual void do_junk_links () { - Spanner::do_junk_links(); - Axis_group_element::do_junk_links(); - } - virtual void do_unlink() { - Spanner::do_unlink(); - Axis_group_element::do_unlink(); - } virtual void do_break_processing(); virtual void do_print() const; diff --git a/lily/include/graphical-element.hh b/lily/include/graphical-element.hh index 49e069d065..70e0ea9c2f 100644 --- a/lily/include/graphical-element.hh +++ b/lily/include/graphical-element.hh @@ -59,8 +59,6 @@ public: Graphical_element *parent_l (Axis a) const; - void unlink (); - void junk_links (); virtual void do_print () const; protected: virtual Interval do_height () const=0; diff --git a/lily/include/horizontal-group-item.hh b/lily/include/horizontal-group-item.hh index 6d5a85a738..0c96d29c95 100644 --- a/lily/include/horizontal-group-item.hh +++ b/lily/include/horizontal-group-item.hh @@ -18,12 +18,6 @@ */ class Horizontal_group_item : public Axis_group_item, public Horizontal_group_element { protected: - virtual void do_unlink () { - Axis_group_item::do_unlink (); - } - virtual void do_junk_links() { - Axis_group_item::do_junk_links(); - } virtual void do_print() const; public: Horizontal_group_item (); diff --git a/lily/include/horizontal-vertical-group-item.hh b/lily/include/horizontal-vertical-group-item.hh index bea2065a5d..e5f7bbfe17 100644 --- a/lily/include/horizontal-vertical-group-item.hh +++ b/lily/include/horizontal-vertical-group-item.hh @@ -20,9 +20,6 @@ class Horizontal_vertical_group_item : public Axis_group_item, public Horizontal_vertical_group_element { protected: virtual void do_print() const; - virtual void do_unlink () { - Axis_group_item::do_unlink (); - } VIRTUAL_COPY_CONS(Score_element); public: Horizontal_vertical_group_item (); diff --git a/lily/include/item.hh b/lily/include/item.hh index 75f1bbf8d0..db8e5c4cf9 100644 --- a/lily/include/item.hh +++ b/lily/include/item.hh @@ -24,7 +24,18 @@ NB. This doesn't mean an Item has to initialize the output field before spacing calculation. -*/ + + + @signature + visibility_lambda :: int -> (bool . bool) + + @in + break direction + + @out + (transparent, empty) cons + + */ class Item : public virtual Score_element { void do_break (); void try_visibility_lambda (); @@ -34,22 +45,10 @@ public: Drul_array broken_to_drul_; Item *unbroken_original_l_; - /** - - visibility_lambda :: int -> (bool . bool) - - @in - break direction - - @out - (transparent, empty) cons - - */ - Protected_scm visibility_lambda_; /// should be put in a breakable col. bool breakable_b_; - /// I am really to be broken? + /// I am really to be broken? virtual bool breakable_b () const; Direction break_status_dir_; @@ -70,9 +69,7 @@ public: Item (Item const &); protected: - virtual void do_unlink (); - virtual void do_junk_links(); - virtual void do_breakable_col_processing(); + virtual void do_breakable_col_processing(); virtual void handle_prebroken_dependencies(); virtual void do_print() const; virtual bool linked_b() const; diff --git a/lily/include/line-of-score.hh b/lily/include/line-of-score.hh index 1fd877f9a0..c98ae4dd50 100644 --- a/lily/include/line-of-score.hh +++ b/lily/include/line-of-score.hh @@ -32,8 +32,6 @@ public: protected: virtual Link_array get_extra_dependencies () const; - virtual void do_unlink (); - virtual void do_junk_links (); virtual Interval do_width() const; virtual void do_print() const; diff --git a/lily/include/midi-item.hh b/lily/include/midi-item.hh index 61f374f668..51996efa7f 100644 --- a/lily/include/midi-item.hh +++ b/lily/include/midi-item.hh @@ -7,11 +7,10 @@ #ifndef MIDI_ITEM_HH #define MIDI_ITEM_HH +#include "cons.hh" #include "string.hh" #include "lily-proto.hh" #include "proto.hh" -#include "plist.hh" -#include "virtual-methods.hh" #include "moment.hh" /** @@ -20,7 +19,6 @@ Maybe use base classes for RIFF files? */ struct Midi_item { - Midi_item (Audio_item* audio_item_l); virtual ~Midi_item (); static String i2varint_str (int i); @@ -64,7 +62,6 @@ private: }; struct Midi_duration : public Midi_item { - Midi_duration (Real seconds_f); virtual String str () const; @@ -72,8 +69,6 @@ struct Midi_duration : public Midi_item { }; struct Midi_header : Midi_chunk { - - Midi_header (int format_i, int tracks_i, int clocks_per_4_i); }; @@ -81,7 +76,6 @@ struct Midi_header : Midi_chunk { Change instrument event */ struct Midi_instrument : public Midi_item { - Midi_instrument (int channel_i, String instrument_str); virtual String str () const; @@ -90,15 +84,12 @@ struct Midi_instrument : public Midi_item { struct Midi_key : public Midi_item { - Midi_key (Audio_item* audio_item_l); virtual String str () const; }; struct Midi_time_signature : Midi_item { - - Midi_time_signature (Audio_item* audio_item_l); virtual String str () const; @@ -109,7 +100,6 @@ struct Midi_time_signature : Midi_item { Turn a note on (blond). */ struct Midi_note : public Midi_item { - Midi_note (Audio_item* audio_item_l); Moment length_mom () const; @@ -124,7 +114,6 @@ struct Midi_note : public Midi_item { Turn a note off (dark). */ struct Midi_note_off : public Midi_item { - Midi_note_off (Midi_note*); int pitch_i () const; @@ -150,7 +139,6 @@ struct Midi_text : Midi_item { }; struct Midi_tempo : Midi_item { - Midi_tempo (int per_minute_4_i); Midi_tempo (Audio_item* audio_item_l); @@ -160,10 +148,9 @@ struct Midi_tempo : Midi_item { }; struct Midi_track : Midi_chunk { - int number_i_; - Pointer_list event_p_list_; - + Cons_list event_p_list_; + Midi_track (); ~Midi_track (); diff --git a/lily/include/midi-stream.hh b/lily/include/midi-stream.hh index fef0d537ba..08643bb8d1 100644 --- a/lily/include/midi-stream.hh +++ b/lily/include/midi-stream.hh @@ -12,17 +12,17 @@ /// Midi outputfile struct Midi_stream { - Midi_stream (String filename_str); - ~Midi_stream(); + Midi_stream (String filename_str); + ~Midi_stream(); - Midi_stream& operator <<( String str); - Midi_stream& operator <<( Midi_item const& mitem_c_r); - Midi_stream& operator <<( int i); + Midi_stream& operator <<( String str); + Midi_stream& operator <<( Midi_item const& mitem_c_r); + Midi_stream& operator <<( int i); - void open(); + void open(); - ostream* os_p_; - String filename_str_; + ostream* os_p_; + String filename_str_; }; #endif // MIDI_STREAM_HH diff --git a/lily/include/performance.hh b/lily/include/performance.hh index 9aa8b3af89..3e34dc7cf5 100644 --- a/lily/include/performance.hh +++ b/lily/include/performance.hh @@ -7,8 +7,9 @@ #ifndef PERFORMANCE_HH #define PERFORMANCE_HH +#include "parray.hh" #include "lily-proto.hh" -#include "plist.hh" +#include "cons.hh" #include "music-output.hh" /** all stuff which goes onto midi. notes, signs, symbols in a score @@ -18,7 +19,7 @@ class Performance : public Music_output { public: Performance (); - ~Performance () {} + ~Performance (); void add_column (Audio_column*); void add_staff (Audio_staff* l); @@ -31,9 +32,9 @@ public: void print() const; void process(); - Pointer_list audio_column_p_list_; - Link_list audio_staff_l_list_; - Pointer_list audio_elem_p_list_; + + Link_array audio_staff_l_arr_; + Cons *audio_elem_p_list_; Midi_def * midi_l_; }; diff --git a/lily/include/score-element.hh b/lily/include/score-element.hh index 69f8eb998f..a3cfd50f69 100644 --- a/lily/include/score-element.hh +++ b/lily/include/score-element.hh @@ -11,7 +11,7 @@ #include "virtual-methods.hh" #include "directed-graph.hh" #include "graphical-element.hh" - +#include "protected-scm.hh" typedef void (Score_element::*Score_element_method_pointer) (void); @@ -24,7 +24,10 @@ typedef void (Score_element::*Score_element_method_pointer) (void); form an acyclic graph. (elem) */ -class Score_element : private Directed_graph_node, public virtual Graphical_element { +class Score_element : public virtual Graphical_element { + Protected_scm element_property_alist_; + Link_array dependency_arr_; + public: /// delete after linebreak calculation. bool break_helper_only_b_; @@ -33,19 +36,16 @@ public: Score_element (); Score_element (Score_element const&); virtual void print () const; - + + SCM get_elt_property (SCM sym); + void set_elt_property (SCM sym, SCM val); + Paper_def *paper () const; Lookup const *lookup_l () const; virtual ~Score_element (); - - void add_processing (); - /** - Remove all links (dependencies, dependents, Axis_group_elements. - */ - void unlink (); void substitute_dependency (Score_element*,Score_element*); void remove_dependency (Score_element*); /** @@ -60,12 +60,10 @@ public: /// do not print anything black bool transparent_b_; - int size_i_; - // ugh: no protection. Denk na, Vrij Veilig void calculate_dependencies (int final, int busy, Score_element_method_pointer funcptr); -protected: +public: /** Administration: Where are we?. This is mainly used by Super_element and Score_element::calcalute_dependencies () @@ -74,21 +72,18 @@ protected: -1 means deleted */ -public: int status_i_; + protected: Score_element* dependency (int) const; - Score_element* dependent (int) const; - int dependent_size () const; int dependency_size () const; virtual void output_processing (); - void junk_links (); virtual Interval do_height () const; virtual Interval do_width () const; /// do printing of derived info. - virtual void do_print () const {} + virtual void do_print () const; /// generate the molecule virtual Molecule* do_brew_molecule_p () const; ///executed directly after the item is added to the Paper_score @@ -109,8 +104,6 @@ protected: virtual void handle_prebroken_dependencies (); virtual void handle_prebroken_dependents (); virtual Link_array get_extra_dependencies () const; - virtual void do_unlink (); - virtual void do_junk_links (); }; diff --git a/lily/include/span-bar.hh b/lily/include/span-bar.hh index 42a2937cbf..f55c5f8626 100644 --- a/lily/include/span-bar.hh +++ b/lily/include/span-bar.hh @@ -27,7 +27,6 @@ class Span_bar : public Bar Interval get_spanned_interval () const; public: Real extra_x_off_; - bool no_width_b_; Span_bar(); VIRTUAL_COPY_CONS(Score_element); diff --git a/lily/include/spanner.hh b/lily/include/spanner.hh index b046ab1a5f..0c7bf2a5f5 100644 --- a/lily/include/spanner.hh +++ b/lily/include/spanner.hh @@ -71,8 +71,6 @@ protected: Spanner * unbroken_original_l_; - virtual void do_unlink (); - virtual void do_junk_links (); virtual void output_processing (); virtual void do_space_processing (); virtual void do_break_processing (); diff --git a/lily/include/stem.hh b/lily/include/stem.hh index db26221ab8..eb31f3a9f2 100644 --- a/lily/include/stem.hh +++ b/lily/include/stem.hh @@ -28,8 +28,6 @@ Stem size depends on flag. */ class Stem : public Item { - - Drul_array yextent_drul_; /// needed for determining direction/length diff --git a/lily/include/super-element.hh b/lily/include/super-element.hh index da982a31db..8c3342a4e6 100644 --- a/lily/include/super-element.hh +++ b/lily/include/super-element.hh @@ -24,7 +24,6 @@ public: void break_processing(); void post_processing(); void output_all (); - void unlink_all (); protected: diff --git a/lily/include/translator.hh b/lily/include/translator.hh index f9d6071849..0f945fc3f5 100644 --- a/lily/include/translator.hh +++ b/lily/include/translator.hh @@ -26,10 +26,9 @@ class Translator : public Input { public: Music_output_def * output_def_l_; String type_str_; - - bool is_alias_b (String) const; - + virtual const char *name() const; + bool is_alias_b (String) const; VIRTUAL_COPY_CONS(Translator); Translator (Translator const &); diff --git a/lily/include/vertical-group-spanner.hh b/lily/include/vertical-group-spanner.hh index 49be1529f3..9726ca64b2 100644 --- a/lily/include/vertical-group-spanner.hh +++ b/lily/include/vertical-group-spanner.hh @@ -19,8 +19,6 @@ class Vertical_group_spanner : public Axis_group_spanner, public Vertical_group_ { protected: VIRTUAL_COPY_CONS(Score_element); - virtual void do_junk_links () { Axis_group_spanner::do_junk_links (); } - virtual void do_unlink () { Axis_group_spanner::do_unlink (); } public: Vertical_group_spanner (); diff --git a/lily/item.cc b/lily/item.cc index 6ff6400b99..9a8d10aea4 100644 --- a/lily/item.cc +++ b/lily/item.cc @@ -11,6 +11,7 @@ #include "item.hh" #include "p-col.hh" #include "spanner.hh" +#include "lily-guile.hh" Item::Item () { @@ -92,10 +93,11 @@ Item::copy_breakable_items() void Item::try_visibility_lambda () { - if (visibility_lambda_) + SCM vis = get_elt_property (ly_symbol ("visibility_lambda")); + if (vis != SCM_BOOL_F) { SCM args = scm_listify (gh_int2scm (break_status_dir_), SCM_UNDEFINED); - SCM result = gh_apply (visibility_lambda_, args); + SCM result = gh_apply ( SCM_CDR(vis), args); int trans = gh_scm2bool (gh_car (result)); int empty = gh_scm2bool (gh_cdr (result)); @@ -170,32 +172,7 @@ Item::linked_b() const return Score_element::linked_b() || attached_span_l_arr_.size(); } -void -Item::do_junk_links() -{ - attached_span_l_arr_.set_size(0); -} -void -Item::do_unlink() -{ - Link_array attached=attached_span_l_arr_; - for (int i=0; i < attached.size (); i++) - { - Spanner *s= attached[i]; - - Direction d= LEFT; - do { - if (s->spanned_drul_[d] == this) - s->set_bounds (d, 0); - if (unbroken_original_l_ - && unbroken_original_l_-> broken_to_drul_[d] == this) - unbroken_original_l_->broken_to_drul_[d] = 0; - } while (flip (&d) != LEFT); - } - assert (!attached_span_l_arr_.size ()); - unbroken_original_l_ =0; -} Paper_column * Item::column_l () const @@ -209,7 +186,6 @@ Item::Item (Item const &s) unbroken_original_l_ = 0; /* do not copy attached_span_l_arr_ */ breakable_b_ = s.breakable_b_; - visibility_lambda_ = s.visibility_lambda_; broken_to_drul_[LEFT] = broken_to_drul_[RIGHT] =0; break_status_dir_ = s.break_status_dir_; break_priority_i_ = s.break_priority_i_; diff --git a/lily/line-of-score.cc b/lily/line-of-score.cc index 9d563be580..ac6c0a10bb 100644 --- a/lily/line-of-score.cc +++ b/lily/line-of-score.cc @@ -95,18 +95,5 @@ Line_of_score::get_extra_dependencies () const return r; } -void -Line_of_score::do_unlink () -{ - Spanner::do_unlink (); - for (int i=0; i < cols_.size (); i++) - cols_[i]->line_l_ =0; - cols_.set_size (0); -} -void -Line_of_score::do_junk_links () -{ - cols_.set_size (0); -} diff --git a/lily/lookup.cc b/lily/lookup.cc index 7bf26da20b..07b57f0b9b 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -26,6 +26,7 @@ #include "scope.hh" #include "molecule.hh" #include "atom.hh" +#include "lily-guile.hh" SCM array_to_list (SCM *a , int l) @@ -379,27 +380,13 @@ Lookup::stem (Real y1, Real y2) const } -static Dict_initialiser cmr_init[] = { - {"bold", "cmbx"}, - {"dynamic", "feta-din"}, - {"finger", "feta-nummer"}, - {"typewriter", "cmtt"}, - {"italic", "cmti"}, - {"roman", "cmr"}, - {"large", "cmbx"}, - {"Large", "cmbx"}, - {"mark", "feta-nummer"}, - {"number", "feta-nummer"}, - {"volta", "feta-nummer"}, - {0,0} -}; /** Magnification steps. These are powers of 1.2. The numbers are taken from Knuth's plain.tex: */ static Real mag_steps[] = {1, 1, 1.200, 1.440, 1.7280, 2.074, 2.488}; -static Dictionary cmr_dict (cmr_init); + Molecule Lookup::text (String style, String text) const @@ -418,9 +405,13 @@ Lookup::text (String style, String text) const font_mag = (int)paper_l_->get_var ("magnification_" + style); } - if (cmr_dict.elem_b (style)) + SCM l = gh_eval_str (("(style-to-cmr \"" + style + "\")").ch_C()); + if (l != SCM_BOOL_F) { - style = String (cmr_dict [style]) + to_str ((int)font_h); // ugh + int len ; + char * s = gh_scm2newstr(SCM_CDR (l), &len); + style = String (s) + to_str ((int)font_h); + delete s; } Real w = 0; @@ -436,7 +427,8 @@ Lookup::text (String style, String text) const ; else { - Character_metric *c = afm_l->get_char (text[i],false); + Character_metric *c = afm_l->get_char ((unsigned char)text[i],false); + w += c->dimensions()[X_AXIS].length (); ydims.unite (c->dimensions()[Y_AXIS]); } @@ -444,6 +436,7 @@ Lookup::text (String style, String text) const if (font_mag > 1 && font_mag < 7 ) { + /* UGH */ style = style + String(" scaled \\magstep ") + to_str (font_mag); w *= mag_steps[font_mag]; ydims *= mag_steps[font_mag]; @@ -452,6 +445,8 @@ Lookup::text (String style, String text) const DOUT << "\n" << to_str (w) << "\n"; m.dim_.x () = Interval (0, w); m.dim_.y () = ydims; + + Atom at (gh_list (ly_symbol ("text"), gh_str02scm (text.ch_C()), SCM_UNDEFINED)); diff --git a/lily/midi-item.cc b/lily/midi-item.cc index 83461eb591..a753b7cc9f 100644 --- a/lily/midi-item.cc +++ b/lily/midi-item.cc @@ -19,6 +19,7 @@ #include "midi-stream.hh" #include "audio-item.hh" +#include "killing-cons.tcc" Midi_chunk::Midi_chunk () : Midi_item (0) @@ -110,13 +111,14 @@ Midi_header::Midi_header (int format_i, int tracks_i, int clocks_per_4_i) set ("MThd", str, ""); } +/* why doesn't this start at 0 ? + */ char const* const instrument_name_sz_a_[ ] = { - /* default is usually piano */ /* 0 "piano", */ - /* (1-8 piano) */ - /* 1 */ "acoustic grand", + /* (1-8 piano) */ + /* 1 */ "acoustic grand", /* 2 */ "bright acoustic", /* 3 */ "electric grand", /* 4 */ "honky-tonk", @@ -423,9 +425,11 @@ Midi_note::str () const String str = to_str ((char)status_byte); str += to_str ((char) (pitch_i () + c0_pitch_i_c_)); +#if 0 // poor man's staff dynamics: str += to_str ((char) (dynamic_byte_ - 0x10 * channel_i_)); - +#endif + return str; } @@ -544,7 +548,8 @@ Midi_track::add (Moment delta_time_mom, Midi_item* mitem_p) { assert (delta_time_mom >= Moment (0)); - event_p_list_.bottom ().add (new Midi_event (delta_time_mom, mitem_p)); + Midi_event * e = new Midi_event (delta_time_mom, mitem_p); + event_p_list_.append (new Killing_cons (e, 0)); } String @@ -553,9 +558,9 @@ Midi_track::data_str () const String str = Midi_chunk::data_str (); if (check_debug && !monitor->silent_b ("Midistrings")) str += "\n"; - for (PCursor i (event_p_list_); i.ok (); i++) + for (Cons *i=event_p_list_.head_; i; i = i->next_) { - str += i->str (); + str += i->car_->str (); if (check_debug && !monitor->silent_b ("Midistrings")) str += "\n"; } diff --git a/lily/p-score.cc b/lily/p-score.cc index c1d512e5c9..3d25f61739 100644 --- a/lily/p-score.cc +++ b/lily/p-score.cc @@ -145,10 +145,6 @@ void delete_array_contents (Link_array const&to_remove, Dictionar else if (dynamic_cast(e)) type_stats["Spanner"] ++; type_stats["Total"] ++; - - e->unlink (); - assert (!e->linked_b ()); - delete e; } } diff --git a/lily/performance.cc b/lily/performance.cc index 949f6fcad0..e10a51c229 100644 --- a/lily/performance.cc +++ b/lily/performance.cc @@ -21,29 +21,40 @@ #include "file-results.hh" #include "lily-version.hh" +#include "killing-cons.tcc" + Performance::Performance () { midi_l_ =0; + audio_elem_p_list_ = 0; } void Performance::add_column (Audio_column* p) { p->performance_l_ = this; - audio_column_p_list_.bottom().add (p); + add_element (p); +} + +Performance::~Performance() +{ + delete audio_elem_p_list_; } void -Performance::output (Midi_stream& midi_stream_r) +Performance::output (Midi_stream& midi_stream) { - int tracks_i = audio_staff_l_list_.size() + 1; + int tracks_i = audio_staff_l_arr_.size() + 1; + // ugh int clocks_per_4_i = 384; - midi_stream_r << Midi_header (1, tracks_i, clocks_per_4_i); - output_header_track (midi_stream_r); + + midi_stream << Midi_header (1, tracks_i, clocks_per_4_i); + output_header_track (midi_stream); int n = 1; - for (PCursor i (audio_staff_l_list_); i.ok(); i++) + for (int i =0; i < audio_staff_l_arr_.size (); i++) { + Audio_staff *s = audio_staff_l_arr_[i]; /* Aargh, let's hear it for the MIDI standard. MIDI players tend to ignore instrument settings on @@ -51,12 +62,12 @@ Performance::output (Midi_stream& midi_stream_r) */ if (n == 10) n++; - i->output (midi_stream_r, n++); + s->output (midi_stream, n++); } } void -Performance::output_header_track (Midi_stream& midi_stream_r) +Performance::output_header_track (Midi_stream& midi_stream) { Midi_track midi_track; @@ -96,19 +107,19 @@ Performance::output_header_track (Midi_stream& midi_stream_r) Midi_tempo tempo (midi_l_->get_tempo_i (Moment (1, 4))); midi_track.add (Moment (0), &tempo); - midi_stream_r << midi_track; + midi_stream << midi_track; } void Performance::add_staff (Audio_staff* l) { - audio_staff_l_list_.bottom().add (l); + audio_staff_l_arr_.push (l); } void Performance::add_element (Audio_element *p) { - audio_elem_p_list_.bottom().add (p); + audio_elem_p_list_ = new Killing_cons (p, audio_elem_p_list_); } void @@ -117,13 +128,9 @@ Performance::print() const #ifndef NPRINT DOUT << "Performance { "; DOUT << "Items: "; - for (PCursor i (audio_elem_p_list_.top ()); i.ok (); i++) - i->print (); - - DOUT << "\ncolumns: "; - for (PCursor i (audio_column_p_list_); i.ok(); i++) - i->print(); - DOUT << "}\n"; + for (Cons* i =audio_elem_p_list_; i; i = i->next_) + i->car_->print (); + DOUT << "}"; #endif } diff --git a/lily/score-element.cc b/lily/score-element.cc index c3e00d4611..1cd16cdfbd 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -28,30 +28,30 @@ Score_element::Score_element() output_p_ =0; break_helper_only_b_ = false; transparent_b_ = false; - size_i_ = 0; pscore_l_=0; status_i_ = 0; + element_property_alist_ = SCM_EOL; } Score_element::Score_element (Score_element const&s) - : Directed_graph_node (s), Graphical_element (s) + : Graphical_element (s) { /* called from derived ctor, so most info points to the same deps as (Directed_graph_node&)s. Nobody points to us, so don't copy dependents. */ - copy_edges_out (s); + + + // deep copy ? + element_property_alist_ = s.element_property_alist_; + dependency_arr_ = s.dependency_arr_; output_p_ =0; break_helper_only_b_ = s.break_helper_only_b_; transparent_b_ = s.transparent_b_; status_i_ = s.status_i_; pscore_l_ = s.pscore_l_; - size_i_ = s.size_i_; } - - - Score_element::~Score_element() { delete output_p_; @@ -62,29 +62,29 @@ Score_element::~Score_element() Score_element* Score_element::dependency (int i) const { - return (Score_element*) (get_out_edge_arr ()[i]); + return dependency_arr_ [i]; } int Score_element::dependency_size () const { - return get_out_edge_arr ().size (); + return dependency_arr_.size (); } -Score_element* -Score_element::dependent (int i) const + + +SCM +Score_element::get_elt_property (SCM s) { - return (Score_element *)( get_in_edge_arr()[i]); + return scm_assq(s, element_property_alist_); } - -int -Score_element::dependent_size() const +void +Score_element::set_elt_property (SCM s, SCM v) { - return get_in_edge_arr().size (); + element_property_alist_ = + scm_assoc_set_x (element_property_alist_, s, v); } - - Interval Score_element::do_width() const { @@ -120,8 +120,7 @@ Score_element::print() const { #ifndef NPRINT DOUT << classname(this) << "{\n"; - DOUT << "dets: " << dependent_size() << "dependencies: " << - dependency_size(); + DOUT << "dependencies: " << dependency_size(); Graphical_element::do_print (); do_print(); @@ -141,7 +140,11 @@ Score_element::paper() const Lookup const * Score_element::lookup_l () const { - return pscore_l_->paper_l_->lookup_l (size_i_); + SCM sz = scm_assq (ly_symbol ("fontsize"), element_property_alist_); + if (sz != SCM_BOOL_F) + return pscore_l_->paper_l_->lookup_l (gh_scm2int (SCM_CDR (sz))); + else + return pscore_l_->paper_l_->lookup_l (0); } void @@ -237,17 +240,6 @@ Score_element::do_substitute_element_pointer (Score_element*,Score_element*) { } -void -Score_element::do_unlink() -{ -} - -void -Score_element::do_junk_links() -{ -} - - Molecule* Score_element::do_brew_molecule_p() const @@ -272,14 +264,21 @@ Score_element::line_l() const void Score_element::remove_dependency (Score_element*e) { - remove_edge_out (e); + int i; + while ((i = dependency_arr_.find_i (e)) >=0 ) + dependency_arr_.unordered_del (i); + substitute_dependency (e, 0); } void Score_element::add_dependency (Score_element*e) { - Directed_graph_node::add_edge (e); + if (e) + dependency_arr_.push (e); + else + warning("Null dependency added"); + } void Score_element::substitute_dependency (Score_element* old, Score_element* new_l) @@ -378,30 +377,6 @@ Score_element::handle_prebroken_dependents() } -void -Score_element::junk_links () -{ - Directed_graph_node::junk_links(); - Graphical_element::junk_links (); - do_junk_links(); -} - -void -Score_element::unlink() -{ - do_unlink(); - while (dependency_size()) - { - do_substitute_element_pointer (dependency (0),0); - remove_edge_out_idx (0); - } - while (dependent_size()) - { - dependent (0)->remove_dependency (this); - } - Graphical_element::unlink (); -} - Link_array Score_element::get_extra_dependencies() const @@ -416,3 +391,7 @@ Score_element::linked_b() const return get_extra_dependencies().size() || dependency_size(); } +void +Score_element::do_print () const +{ +} diff --git a/lily/span-bar-engraver.cc b/lily/span-bar-engraver.cc index 3848b84164..135d978c15 100644 --- a/lily/span-bar-engraver.cc +++ b/lily/span-bar-engraver.cc @@ -3,8 +3,6 @@ class Span_bar_engraver : public Base_span_bar_engraver { -protected: - Span_bar *get_span_bar_p (); public: Span_bar_engraver (); VIRTUAL_COPY_CONS (Translator); diff --git a/lily/span-bar.cc b/lily/span-bar.cc index 62c2c66fac..67d1e2ea92 100644 --- a/lily/span-bar.cc +++ b/lily/span-bar.cc @@ -36,11 +36,6 @@ Span_bar::set_align (Align_element *a) Interval Span_bar::do_width () const { - if (no_width_b_) - { - return Interval (0,0); - } - Molecule m = lookup_l ()->bar (type_str_, 40 PT); return m.extent (X_AXIS); @@ -136,5 +131,4 @@ Span_bar::Span_bar () { type_str_ = ""; extra_x_off_ = 0.0; - no_width_b_ = false; } diff --git a/lily/span-score-bar-engraver.cc b/lily/span-score-bar-engraver.cc index 1efa242c6a..bcf62430b8 100644 --- a/lily/span-score-bar-engraver.cc +++ b/lily/span-score-bar-engraver.cc @@ -15,8 +15,6 @@ Span_bar* Span_score_bar_engraver::get_span_bar_p () const { Span_bar*s = new Span_bar; - s->visibility_lambda_ - = gh_eval_str ("Span_score_bar_visibility"); s->type_str_ = "scorebar"; return s; @@ -33,9 +31,7 @@ Span_bar* Piano_bar_engraver::get_span_bar_p () const { Span_bar *s= new Span_bar; - s->visibility_lambda_ - = gh_eval_str ("Piano_bar_visibility"); - s->no_width_b_ =true; + s->dim_cache_[X_AXIS].set_empty (true); s->type_str_ = "{"; return s; } @@ -44,9 +40,7 @@ Span_bar* Staff_group_bar_engraver::get_span_bar_p () const { Span_bar *s= new Span_bar; - s->visibility_lambda_ - = gh_eval_str ("Staff_group_bar_visibility"); - s->no_width_b_ =true; + s->dim_cache_[X_AXIS].set_empty (true); s->type_str_ = "["; return s; } diff --git a/lily/spanner.cc b/lily/spanner.cc index b9c3f00247..f829026a6c 100644 --- a/lily/spanner.cc +++ b/lily/spanner.cc @@ -203,28 +203,8 @@ Spanner::broken_b() const return broken_info_.size(); } -void -Spanner::do_unlink() -{ - set_bounds (LEFT, 0); - set_bounds (RIGHT, 0); - if (unbroken_original_l_) - { - for (int i=0; i < unbroken_original_l_->broken_info_.size (); i++) - { - if (unbroken_original_l_->broken_info_[i].broken_spanner_l_ == this) - unbroken_original_l_->broken_info_[i].broken_spanner_l_ = 0; - } - - } -} -void -Spanner::do_junk_links() -{ - spanned_drul_[LEFT] = spanned_drul_[RIGHT] =0; -} Array Spanner::get_rods () const diff --git a/lily/super-element.cc b/lily/super-element.cc index 7b927de55e..c5ee89e9fb 100644 --- a/lily/super-element.cc +++ b/lily/super-element.cc @@ -18,8 +18,6 @@ Super_element::Super_element() } - - /** for administration of what was done already */ @@ -37,8 +35,6 @@ enum Score_element_status { POSTCALCED, // after spacing calcs done BREWING, BREWED, - UNLINKING, - UNLINKED, }; void @@ -85,9 +81,4 @@ Super_element::output_all () -void -Super_element::unlink_all () -{ - calculate_dependencies (UNLINKING, UNLINKED, &Score_element::junk_links); -} diff --git a/lily/template8.cc b/lily/template8.cc deleted file mode 100644 index 8fbf2f3c22..0000000000 --- a/lily/template8.cc +++ /dev/null @@ -1,20 +0,0 @@ -/* - template8.cc -- instantiate audio List classes - - source file of the GNU LilyPond music typesetter - - (c) 1996, 1997--1999 Han-Wen Nienhuys -*/ - -#include "proto.hh" -#include "plist.hh" -#include "audio-element.hh" -#include "audio-column.hh" -#include "midi-item.hh" -#include "cursor.tcc" -#include "pcursor.tcc" -#include "plist.tcc" - -POINTERLIST_INSTANTIATE(Audio_element); -POINTERLIST_INSTANTIATE(Audio_column); -POINTERLIST_INSTANTIATE(Midi_event); diff --git a/lily/tfm.cc b/lily/tfm.cc index 80b0f667d1..1ae9e51f07 100644 --- a/lily/tfm.cc +++ b/lily/tfm.cc @@ -56,7 +56,7 @@ static Tex_font_char_metric dummy_static_char_metric; Tex_font_char_metric const & Tex_font_metric::find_ascii (int ascii, bool warn) const { - if (ascii_to_metric_idx_[ascii] >= 0) + if (ascii < ascii_to_metric_idx_.size() && ascii_to_metric_idx_[ascii] >= 0) return char_metrics_[ascii_to_metric_idx_ [ascii]]; else if (warn) diff --git a/lily/translator.cc b/lily/translator.cc index 122b34d98e..a6df5e884a 100644 --- a/lily/translator.cc +++ b/lily/translator.cc @@ -13,6 +13,12 @@ #include "rational.hh" +char const* +Translator::name() const +{ + return classname(this); +} + Translator::~Translator () { } diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index b095586091..6568fc7b3c 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,15 +1,15 @@ Begin3 Titel: LilyPond -Versie: 1.1.33 -Inschrijf datum: 25FEB99 +Versie: 1.1.34 +Inschrijf datum: 10MAR99 Beschrijving: @FLAPTEKST@ Trefwoorden: muziek typezetten midi notatie Auteur: hanwen@stack.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 770k lilypond-1.1.33.tar.gz + 770k lilypond-1.1.34.tar.gz Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.33.tar.gz + 770k lilypond-1.1.34.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 611fd850b2..1bf9cb3ac9 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.1.33 -Entered-date: 25FEB99 +Version: 1.1.34 +Entered-date: 10MAR99 Description: LilyPond is the GNU Project music typesetter. This program can print beautiful sheet music from a music definition file. It can also play @@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 770k lilypond-1.1.33.tar.gz + 770k lilypond-1.1.34.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.33.tar.gz + 770k lilypond-1.1.34.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index b825962573..1e2a3b8617 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.1.33 +Version: 1.1.34 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.33.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.34.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/make/toplevel.make.in b/make/toplevel.make.in index 32e2911ba5..acdbfffb97 100644 --- a/make/toplevel.make.in +++ b/make/toplevel.make.in @@ -36,4 +36,4 @@ examples: localinstall: mkdir -p $(datadir) - ln -s $(TEX_TFMDIR) $(datadir)/cmtfm + $(LN_S) $(TEX_TFMDIR) $(datadir)/cmtfm diff --git a/scm/lily.scm b/scm/lily.scm index a87b677c26..d473805efe 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -63,15 +63,38 @@ ;; Score_span_bars are only visible at start of line ;; i.e. if break_dir == RIGHT == 1 -(define Span_score_bar_visibility postbreak_only_visibility) -(define Piano_bar_visibility postbreak_only_visibility) -(define Staff_group_bar_visibility postbreak_only_visibility) +(define Span_score_bar_engraver_visibility postbreak_only_visibility) +(define Span_bar_engraver_visibility non_postbreak_visibility) +(define Piano_bar_engraver_visibility postbreak_only_visibility) +(define Staff_group_bar_engraver_visibility postbreak_only_visibility) ;;;;;;;; TeX +(define cmr-alist + '(("bold" . "cmbx") + ("dynamic" . "feta-din") + ("finger" . "feta-nummer") + ("typewriter" . "cmtt") + ("italic" . "cmti") + ("roman" . "cmr") + ("large" . "cmbx") + ("Large" . "cmbx") + ("mark" . "feta-nummer") + ("number" . "feta-nummer") + ("volta" . "feta-nummer")) +) + + +;; Map style names to TeX font names. Return false if +;; no font name found. +(define (style-to-cmr s) + (assoc s cmr-alist ) + ) + + (define (tex-scm action-name) (define (unknown) @@ -295,6 +318,8 @@ ;;;;;;;;;;;; PS (define (ps-scm action-name) + + ;; alist containing fontname -> fontcommand assoc (both strings) (define font-alist '()) (define font-count 0) (define current-font "") @@ -321,10 +346,11 @@ (set! font-count (+ 1 font-count)) (string-append "\n/" font-cmd " {/" font-name - " findfont 12 scalefont setfont} bind def\n" - font-cmd "\n")) - (cdr font-cmd))) - "" ;no switch needed + " findfont 12 scalefont setfont} bind def \n" + font-cmd " \n")) + (string-append (cdr font-cmd) " "))) + ; font-name == current-font no switch needed + "" )) (define (beam width slope thick) @@ -371,7 +397,7 @@ (string-append "\n/" (font i) " {/" (substring s 0 (- (string-length s) 4)) - " findfont 12 scalefont setfont} bind def\n")) + " findfont 12 scalefont setfont} bind def \n")) (define (font-switch i) (string-append (font i) " ")) @@ -400,6 +426,9 @@ (define (placebox x y s) (string-append (number->string x) " " (number->string y) " {" s "} placebox ")) + (define (pianobrace y) + "" + ) (define (rulesym x y) (string-append @@ -424,8 +453,8 @@ (define (stop-line) "}\nstop_line\n") - (define (text f s) - (string-append "(" s ") set" f " ")) + (define (text s) + (string-append "(" s ") show ")) (define (volta w thick last) @@ -461,6 +490,7 @@ (define font-def ,font-def) (define font-switch ,font-switch) (define generalmeter ,generalmeter) + (define pianobrace ,pianobrace) (define header-end ,header-end) (define lily-def ,lily-def) (define header ,header) diff --git a/stepmake/Documentation/topdocs/AUTHORS.yo b/stepmake/Documentation/topdocs/AUTHORS.yo index 8d4b9bf7be..7e9697195a 100644 --- a/stepmake/Documentation/topdocs/AUTHORS.yo +++ b/stepmake/Documentation/topdocs/AUTHORS.yo @@ -17,7 +17,7 @@ it()nemail(Jan Nieuwenhuizen)(janneke@gnu.org), lurl(http://www.xs4all.nl/~jantien) nl() Main author. -it()nemail(Jeffrey B. Reed)(daboys@bga.com), +it()nemail(Jeffrey B. Reed)(daboys@austin.rr.com), Windows-nt fixes. ) diff --git a/stepmake/Documentation/topdocs/out/AUTHORS.txt b/stepmake/Documentation/topdocs/out/AUTHORS.txt index 30fdcd285f..a23563bbbc 100644 --- a/stepmake/Documentation/topdocs/out/AUTHORS.txt +++ b/stepmake/Documentation/topdocs/out/AUTHORS.txt @@ -1,9 +1,4 @@ - - - - - NAME AUTHORS - who did what on StepMake? @@ -14,7 +9,6 @@ DESCRIPTION AUTHORS - o Han-Wen Nienhuys , http://www.cs.uu.nl/people/hanwen Main author. @@ -23,4 +17,5 @@ o Jan Nieuwenhuizen , http://www.xs4all.nl/~jantien Main author. -o Jeffrey B. Reed , Windows-nt fixes. +o Jeffrey B. Reed , Windows-nt + fixes. diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index 3d65f241f9..cf7c1a686e 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -290,7 +290,7 @@ dnl fi if test "x$OSTYPE" = "xcygwin32" || test "x$OSTYPE" = "xWindows_NT"; then LN=cp # hard link does not work under cygnus-nt - LN_S=cp # symbolic link does not work for native nt + LN_S='cp -r' # symbolic link does not work for native nt ZIP="zip -r -9" # DOTEXE=.exe # urg diff --git a/stepmake/configure b/stepmake/configure index b8de13c037..becb61e512 100755 --- a/stepmake/configure +++ b/stepmake/configure @@ -969,7 +969,7 @@ fi if test "x$OSTYPE" = "xcygwin32" || test "x$OSTYPE" = "xWindows_NT"; then LN=cp # hard link does not work under cygnus-nt - LN_S=cp # symbolic link does not work for native nt + LN_S='cp -r' # symbolic link does not work for native nt ZIP="zip -r -9" # DOTEXE=.exe # urg diff --git a/stepmake/stepmake/install-out-targets.make b/stepmake/stepmake/install-out-targets.make index e461473f6b..18fffef64b 100644 --- a/stepmake/stepmake/install-out-targets.make +++ b/stepmake/stepmake/install-out-targets.make @@ -8,10 +8,11 @@ localinstall-files: localinstall-outfiles: $(INSTALLATION_OUT_FILES) $(foreach suff, $(INSTALLATION_OUT_SUFFIXES), $(INSTALLATION_OUT_FILES$(suff))) -$(INSTALL) -d $(INSTALLATION_OUT_DIR) $(foreach i, $(INSTALLATION_OUT_FILES), \ - $(INSTALL) -m 644 $(i) $(INSTALLATION_OUT_DIR) && ) true + $(INSTALL) -m 644 $(i) $(INSTALLATION_OUT_DIR)/ && ) true $(foreach suff, $(INSTALLATION_OUT_SUFFIXES), \ + ($(INSTALL) -d $(INSTALLATION_OUT_DIR$(suff))/ || true) && \ $(foreach i, $(INSTALLATION_OUT_FILES$(suff)), \ - $(INSTALL) -m 644 $(i) $(INSTALLATION_OUT_DIR$(suff)) && ) true && ) true + $(INSTALL) -m 644 $(i) $(INSTALLATION_OUT_DIR$(suff))/ && ) true && ) true localuninstall: localuninstall-outfiles localuninstall-files diff --git a/stepmake/stepmake/install-targets.make b/stepmake/stepmake/install-targets.make index 6351355541..c50452fbee 100644 --- a/stepmake/stepmake/install-targets.make +++ b/stepmake/stepmake/install-targets.make @@ -9,10 +9,11 @@ localinstall-files: $(PRE_INSTALL) -$(INSTALL) -d $(INSTALLATION_DIR) $(foreach i, $(INSTALLATION_FILES),\ - $(INSTALL) -m 644 $(i) $(INSTALLATION_DIR) &&)true + $(INSTALL) -m 644 $(i) $(INSTALLATION_DIR)/ &&)true $(foreach suff, $(INSTALLATION_SUFFIXES), \ + ($(INSTALL) -d $(INSTALLATION_DIR$(suff)) || true) && \ $(foreach i, $(INSTALLATION_FILES$(suff)), \ - $(INSTALL) -m 644 $(i) $(INSTALLATION_DIR$(suff)) && ) && ) true + $(INSTALL) -m 644 $(i) $(INSTALLATION_DIR$(suff))/ && ) && ) true $(POST_INSTALL) localuninstall: localuninstall-outfiles localuninstall-files @@ -24,5 +25,5 @@ localuninstall-files: rm -f $(foreach suff, $(INSTALLATION_SUFFIXES), \ $(foreach i, $(INSTALLATION_FILES$(suff)),\ $(INSTALLATION_DIR$(suff)/$(i)))) - rmdir $(INSTALLATION_DIR) $(foreach suff, $(INSTALLATION_SUFFIXES), $(INSTALLATION_DIR$(suff))) + rmdir $(INSTALLATION_DIR) $(foreach suff, $(INSTALLATION_SUFFIXES), $(INSTALLATION_DIR$(suff))/) diff --git a/stepmake/stepmake/metapost-targets.make b/stepmake/stepmake/metapost-targets.make index 1f38b31be8..cf632d9de1 100644 --- a/stepmake/stepmake/metapost-targets.make +++ b/stepmake/stepmake/metapost-targets.make @@ -1,3 +1,5 @@ -pfa: $(PFA_FILES) +pfa: $(PFA_FILES) mfplain.mem +mfplain.mem: + inimpost mfplain.ini -- 2.39.2