From a3a44f9f3c581b6824b3a65f9039656693e09bbf Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Fri, 14 Aug 1998 13:24:46 +0200 Subject: [PATCH] release: 1.0.2 --- AUTHORS.txt | 6 +- Documentation/faq.yo | 14 +- Documentation/man/Makefile | 4 +- Documentation/man/out/convert-mudela.1 | 45 ++ Documentation/man/out/lilypond.1 | 223 ++++++ Documentation/man/out/ly2dvi.1 | 168 +++++ Documentation/man/out/mi2mu.1 | 68 ++ Documentation/man/out/mudela-book.1 | 59 ++ Documentation/tex/Makefile | 5 +- Documentation/tex/glossary.yo | 94 +++ Documentation/tex/refman.yo | 668 +++++++++++++++++ Documentation/tex/{mudela.yo => tutorial.yo} | 685 +----------------- NEWS | 20 + README.txt | 14 +- TODO | 25 +- VERSION | 4 +- aclocal.m4 | 6 + config.make.in | 1 + configure | 145 ++-- flower/include/scalar.hh | 5 +- flower/scalar.cc | 11 + input/Makefile | 3 + lily/VERSION | 4 +- lily/text-def.cc | 3 + make/STATE-VECTOR | 4 +- make/out/lelievijver.lsm | 8 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.spec | 4 +- make/out/zlilypond-docs.spec | 12 +- mf/Makefile | 4 + mf/out/feta11.afm | 76 ++ mf/out/feta13.afm | 76 ++ mf/out/feta16.afm | 76 ++ mf/out/feta19.afm | 76 ++ mf/out/feta20.afm | 76 ++ mf/out/feta23.afm | 76 ++ mf/out/feta26.afm | 76 ++ .../Solo-Cello-Suites/allemande-alto.ly | 0 .../Solo-Cello-Suites/courante-alto.ly | 0 .../J.S.Bach/Solo-Cello-Suites/gigue-alto.ly | 0 .../Solo-Cello-Suites/menuetto-alto.ly | 0 .../Solo-Cello-Suites/prelude-alto.ly | 0 .../Solo-Cello-Suites/sarabande-alto.ly | 0 .../J.S.Bach/Solo-Cello-Suites/scsii-alto.ly | 0 mutopia/standchen.ly | 41 +- scripts/convert-mudela.py | 2 +- scripts/ly2dvi.sh | 3 - scripts/mudela-book.py | 3 +- stepmake/aclocal.m4 | 6 + stepmake/bin/fake-yodl.sh | 3 +- stepmake/bin/package-diff.py | 8 +- stepmake/config.make.in | 2 +- stepmake/configure | 26 +- stepmake/stepmake/Documentation.shared.make | 2 +- stepmake/stepmake/Executable.make | 4 +- stepmake/stepmake/Install_outfiles.make | 2 +- stepmake/stepmake/Installfiles.make | 2 +- stepmake/stepmake/Manual.make | 2 +- stepmake/stepmake/Po.make | 35 + stepmake/stepmake/Targets.make | 42 +- stepmake/stepmake/Toplevel.make | 5 +- stepmake/stepmake/Variables.make | 4 +- 62 files changed, 2163 insertions(+), 881 deletions(-) create mode 100644 Documentation/man/out/convert-mudela.1 create mode 100644 Documentation/man/out/lilypond.1 create mode 100644 Documentation/man/out/ly2dvi.1 create mode 100644 Documentation/man/out/mi2mu.1 create mode 100644 Documentation/man/out/mudela-book.1 create mode 100644 Documentation/tex/glossary.yo create mode 100644 Documentation/tex/refman.yo rename Documentation/tex/{mudela.yo => tutorial.yo} (81%) create mode 100644 mf/out/feta11.afm create mode 100644 mf/out/feta13.afm create mode 100644 mf/out/feta16.afm create mode 100644 mf/out/feta19.afm create mode 100644 mf/out/feta20.afm create mode 100644 mf/out/feta23.afm create mode 100644 mf/out/feta26.afm delete mode 100644 mutopia/J.S.Bach/Solo-Cello-Suites/allemande-alto.ly delete mode 100644 mutopia/J.S.Bach/Solo-Cello-Suites/courante-alto.ly delete mode 100644 mutopia/J.S.Bach/Solo-Cello-Suites/gigue-alto.ly delete mode 100644 mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-alto.ly delete mode 100644 mutopia/J.S.Bach/Solo-Cello-Suites/prelude-alto.ly delete mode 100644 mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-alto.ly delete mode 100644 mutopia/J.S.Bach/Solo-Cello-Suites/scsii-alto.ly create mode 100644 stepmake/stepmake/Po.make diff --git a/AUTHORS.txt b/AUTHORS.txt index ebf1db1135..7dd6318284 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -17,7 +17,7 @@ o Jan Arne Fagertun , o Anthony Fok , debian package: debian/* o Neil Jerram . - Documentation/Vocab* + parts of Documentation/Vocab* o Donald Ervin Knuth, http://www.cs-staff.stanford.edu/~knuth mf/ital-*.mf (these were taken from the CM fonts) o Werner Lemberg , @@ -29,14 +29,14 @@ o Han-Wen Nienhuys , Main author. o Jan Nieuwenhuizen , - http://www.digicash.com/~jan + http://www.xs4all.nl/~jantien Main author o Alexandre Oliva , http://sunsite.unicamp.br/~oliva testing o Franc,ois Pinard , - Documentation/Vocab*, started internationalization stuff + parts of Documentation/Vocab*, started internationalization stuff o Jeffrey B. Reed , Windows-NT support. o Shay Rojanski diff --git a/Documentation/faq.yo b/Documentation/faq.yo index 968fbb6b3f..14dbafd856 100644 --- a/Documentation/faq.yo +++ b/Documentation/faq.yo @@ -253,15 +253,19 @@ doubt if a simple-minded approach (dragging and dropping notes) is any easier or quicker to use than mudela. But for composing a graphical environment probably is indispensable. -In any case email(Derek Wyatt)(wyatt@?.edu) is working on embryonal GTK -based editor. There also a GUI package RoseGarden that could be -extended to output mudela. +In any case email(Derek Wyatt)(wyatt@scar.utoronto.edu) is working on +GTK based editor, but that is still in an embryonal stage (see +lurl(http://harmonia.scar.utoronto.ca). There is also a GUI package +RoseGarden that could be extended to output mudela. + +If you want to work on this, please send e-mail to the mailing list +email(gnu-misc-discuss@gnu.org). question(I want to implement XXXX! How should I do this?) -Your best bet of getting me to include code, is to present it as a -"fait accompli", i.e., to send me a patch. +Your best bet of getting us to include code, is to present it as a +"fait accompli", i.e., to send a patch to the mailing list. question(I made some code, how do I get you to include it?) diff --git a/Documentation/man/Makefile b/Documentation/man/Makefile index a3157a3eb9..1460196b88 100644 --- a/Documentation/man/Makefile +++ b/Documentation/man/Makefile @@ -13,7 +13,9 @@ MANGROFF = $(addprefix $(outdir)/, $(addsuffix .$(SECTION),$(basename $(YO_FILES OUTTEXINFO_FILES= $(addprefix $(outdir)/, $(addsuffix .texinfo,$(basename $(YO_FILES) .yo))) -default: $(MANTXT) $(MANGROFF) +OUT_DIST_FILES += $(MANGROFF) + +default: $(MANGROFF) texinfo: $(OUTTEXINFO_FILES) diff --git a/Documentation/man/out/convert-mudela.1 b/Documentation/man/out/convert-mudela.1 new file mode 100644 index 0000000000..a72de5e538 --- /dev/null +++ b/Documentation/man/out/convert-mudela.1 @@ -0,0 +1,45 @@ +.TH "convert-mudela" "1" "1998" "The LilyPond package" "convert-mudela" +.PP +.PP +.SH "NAME" +convert-mudela \- convert-mudela to newer versions +.PP +convert-mudela sequentially applies different mudela-conversions to +upgrade a Mudela input file\&. +.PP +.PP +.SH "DESCRIPTION" +.PP +Upgrade a Mudela input file from FROM_PATCHLEVEL to TO_PATCHLEVEL\&. +If no files are given, the standard input and output are used\&. +.PP +.SH "SYNOPSIS" +.PP +convert-mudela [options] [files] +.PP +.SH "OPTIONS" +.IP "--output" +The output file to write +.IP "--edit" +Do an inline edit of the input file\&. override @samp{--output} +.IP "--show-rules" +shows all known conversions, and exit +.IP "--from=FROM_PATCHLEVEL" +Set the level to convert from\&. If this is not set, convert-mudela will +guess this, on the basis of \f(CW\eversion\fP strings in the file +.IP "--to=TO_PATCHLEVEL" +Set the goal version of the conversion\&. It defaults to the latest +available version\&. +.PP +.SH "BUGS" +.PP +Not all language changes are handled\&. Multiple output options won\'t +work\&. +.PP +convert-mudela is written in python, so you have install +python\&. +.PP +.SH "AUTHOR" +.PP +Han-Wen Nienhuys , http://www\&.cs\&.uu\&.nl/people/hanwen +.PP diff --git a/Documentation/man/out/lilypond.1 b/Documentation/man/out/lilypond.1 new file mode 100644 index 0000000000..85af901fd9 --- /dev/null +++ b/Documentation/man/out/lilypond.1 @@ -0,0 +1,223 @@ +.TH "LilyPond" "1" "1998" "The LilyPond package" "The GNU Project Music Typesetter" +.PP +.PP +.SH "NAME" +LilyPond \- the GNU Music Typesetter +.PP +.PP +.PP +.SH "SYNOPSIS" +\fBlilypond\fP [OPTION]\&.\&.\&. [MUDELA-FILE]\&.\&.\&. +.PP +.SH "DESCRIPTION" +.PP + +.DS + +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, formatting scores, part extraction\&. It includes +a nice font of musical symbols\&. + +.DE + + +.PP +.SH "OPTIONS" +.IP "-I,--include=FILE" +add \fBFILE\fP to the search path for input files\&. +.IP "-M,--midi" +This disables TeX output\&. If you have a \emidi definition, it will do the +midi output only\&. +.IP "-d,--dependencies" +Also output rules to be included in Makefile\&. +.IP "-D,--debug" +Turn debugging info on\&. GNU LilyPond reads the file \fB\&.dstreamrc\fP, +which lists what functions and classes may produce copious debugging +output\&. +.IP "-t,--test" +Switch on any experimental features\&. Not for general public use\&. +.IP "-w,--warranty" +Show the warranty with which GNU LilyPond comes\&. (It comes with +\fBNO WARRANTY\fP!) +.IP "-o,--output=FILE" +Set the default output file to \fBFILE\fP\&. +.IP "-h,--help" +Show a summary of usage\&. +.IP "-i,--init=FILE" +Set init file to \fBFILE\fP (default: \fBinit\&.ly\fP)\&. +.IP "--include, -I=DIRECTORY" +Add \fBDIRECTORY\fP to the search path for input files\&. +.IP "--ignore-version, -V" +Make incompatible mudela version non-fatal\&. +.IP "--find-fourths, -Q" +Warn about melodic intervals larger than a fourth\&. Useful for +converting absolute octave mode stuff to relative octaves\&. +.PP +.SH "FEATURES" +.PP +This is an overview of the features that GNU LilyPond supports\&. For +details on how to use them, you should consult the Mudela tutorial, +which is included with the package\&. +.PP +.IP o +ASCII script input, with identifiers (for music reuse), +customizable notenames, customisable fontset\&. +.IP o +MIDI output lets you check if you have entered the correct notes\&. +.IP o +MIDI to Mudela conversion through the mi2mu program\&. +.IP o +Multiple staffs in one score\&. Each staff can have different meters\&. +.IP o +Beams, slurs, ties, chords, super/subscripts (accents and text) +triplets, general n-plet (triplet, quadruplets, etc\&.), lyrics, +transposition dynamics (both absolute and hairpin style)\&. +.IP o +Multiple voices within one staff; beams optionally shared +between voices\&. Up to four voices is handled cleanly\&. +.IP o +Multiple scores within one input file\&. Each score is output to +a different file\&. +.IP o +Clef changes, meter changes, cadenza-mode, key changes, repeat bars\&. +.PP +.SH "DISCLAIMER" +.PP +GNU LilyPond is copyright 1996-1998 by its authors\&. GNU LilyPond is +distributed under the terms of the GNU General Public License\&. GNU LilyPond +is provided without any warranty what so ever\&. +GNU LilyPond may be freely distributed\&. For further information consult +the GNU General Public License, from the file \fBCOPYING\fP\&. +.PP +.SH "PROBLEMS" +.PP +There is an extensive list of todoes and bugs\&. See \fBTODO\fP\&. If you +have a problem you should try to find out +.PP +.IP o +If the bug has been fixed in a newer release\&. +.IP o +If the bug has been found earlier, consult \fBTODO\fP and \fBBUGS\fP\&. +.PP +If you have found a bug, then you should send a bugreport\&. +.PP +.IP o +Send a copy of the input which causes the error\&. +.IP o +Send a description of the platform you use\&. +.IP o +Send a description of the LilyPond version you use +(with compile/configure options please)\&. +.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 +to this mailinglist)\&. +.PP +.SH "FILES" +.IP "\fBinit\&.ly\fP" +The initialisation file with symbol tables etc\&. It +includes files from the directory \fBinit/\fP\&. +.PP +manspagesection(environment) +.PP +.IP "LILYINCLUDE" +additional directories for finding lilypond data\&. The +format is like the format of \fBPATH\fP\&. +.IP "LANG" +selects the language for the warning messages of LilyPond\&. +.PP +.SH "BUGS" +.PP +Lots of them\&. See \fBTODO\fP and \fBBUGS\fP +.PP +.SH "SEE ALSO" +.PP +.IP "internals" +On technical details of LilyPond +.IP "mudela-man" +On the input format\&. This is a LilyPond-enhanced LaTeX document\&. +.IP "MANIFESTO" +Goals of the GNU LilyPond project\&. +.IP "FAQ" +The GNU LilyPond FAQ list +.IP "GNU LilyPond" +has her own webpage\&. This webpage contains the MIDI, GIF and PS files for +some standard music files\&. It also has the complete LilyPond documentation +.PP +GNU LilyPond is +updated very frequently, the latest version is always available at: +ftp://pcnov095\&.win\&.tue\&.nl/pub/lilypond\&. This FTP site is mirrored +at a number of sites; consult the project web pages for information +about mirrors\&. +.PP +For programs which are part of the GNU music project, the following +mailing list have been setup: +.PP +.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 " +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 " +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 " +For discussions concerning the GNU Music project, to subscribe: send +mail with subject "subscribe" to +gnu-music-discuss-request@gnu\&.org +.PP +Announces of new versions will be sent to info-gnu-music and +gnu-music-discuss\&. +.PP +.SH "REMARKS" +.PP +GNU LilyPond has no connection with the music package Rosegarden, other +than the names being similar (:-) +.PP +.SH "HISTORY" +.PP +(for a detailed changelog, see \fBNEWS\fP) +.PP +GNU LilyPond\'s roots lie in MPP, a preprocessor to the rather arcane +MusiXTeX macro package for TeX\&. A friend of mine, Jan Nieuwenhuizen +wrote the first 44 versions (0\&.01 to 0\&.44), then his program caught my +attention, and I was slowly sucked in to the interesting problem of +easily producing beautifully printed music\&. I contributed some +code\&. We soon realised that MPP\'s design was too fundamentally broken +to be repaired, so it was decided to rewrite MPP\&. We debated a lot about +the requirements to an inputformat (fall 1995)\&. I sat down and started +with a parser-first, bottom-up rewrite called mpp95 (which totally +failed, obviously)\&. +.PP +After long and hard thinking, I came up with an algorithm for the +horizontal spacing of multiple staffs (april 1996) I coded it (and did +not test it)\&. After starting with this fundamental piece, I slowly +added the stages which come before spacing, and after\&. A half year +later, I had a first working version, (october 1996)\&. I announced +Patchlevel 0\&.0\&.7 (or 8) to the mutex list after asking some technical +details on spacing; it was downloaded approximately 4 times\&. Then I +got the hang of it, and in the subsequent two months, I coded until it +had doubled in size (pl 23)\&. +.PP +Most the other history is described in the NEWS file\&. The first large +scale release (0\&.1) was done after approximately 78 patchlevels on +August 1, 1997\&. +.PP +.SH "AUTHOR" +.PP +Please consult the documentation file \fBAUTHORS\&.txt\fP for more detailed +information, and small contributions\&. +.PP +.IP o +Han-wen Nienhuys +http://www\&.cs\&.uu\&.nl/people/hanwen +.IP o +Jan Nieuwenhuizen +http://www\&.xs4all\&.nl/~jantien diff --git a/Documentation/man/out/ly2dvi.1 b/Documentation/man/out/ly2dvi.1 new file mode 100644 index 0000000000..dd83e906de --- /dev/null +++ b/Documentation/man/out/ly2dvi.1 @@ -0,0 +1,168 @@ +.TH "LilyPond" "1" "1998" "The LilyPond package" "Ly2dvi" +.PP +.PP +.SH "NAME" +Ly2dvi \- convert mudela to DVI +.PP +.PP +.SH "DESCRIPTION" +ly2dvi is a shell script which creates input file for LaTeX, +based on information from the output files from lilypond\&. +The script handles multiple files\&. If a mudela file name is +specified lilypond is run to make an output (TeX) file\&. +.PP +One or more LaTeX files are created, based on information found +in the output (TeX) files, and latex is finally run to create +one or more DVI files\&. +.PP +.SH "SYNOPSIS" +.PP +ly2dvi [options] inputfile[\&.ly] [\&.\&.\&.\&.] +.PP +.SH "OPTIONS" +.PP +.IP "-D,--debug" +Set debug mode\&. There are two levels - in level one some debug +info is written, in level two the command \fBset -x\fP is run, which +echoes every command in the ly2dvi script\&. +.IP "-F,--headers=" +Name of additional LaTeX headers file\&. This is included in the +tex file at the end of the headers, last line before \f(CW\ebegin{document}\fP +.IP "-H,--Heigth=" +Set paper heigth (points)\&. Used together with width and LaTeX name of +papersize in case of papersize unknown to ly2dvi\&. +.IP "-F,--headers=" +Name of additional LaTeX headers file\&. This is included in the +tex file at the end of the headers, last line before \f(CW\ebegin{document}\fP +.IP "-K,--keeplilypond" +Keep LilyPond output after the run\&. +.IP "-L,--landscape" +Set landscape orientation - portrait is the default\&. +(\fB-L\fP produces \f(CW\eusepackage[landscape]{article}\fP) +.IP "-N,--nonumber" +Switch off page numbering\&. +.IP "-O,--orientation=" +Set orientation landscape - obsolete, use \fB-L\fP instead\&. +.IP "-W,--Width=" +Set paper width (points)\&. Used together with heigth and LaTeX name of +papersize in case of papersize unknown to ly2dvi\&. +.IP "-d,--dependencies" +Tell lilypond to make dependencies file\&. +.IP "-h,--help" +Print help\&. +.IP "-k,--keeply2dvi" +Keep the LaTeX file after the run\&. +.IP "-l,--language=" +Specify LaTeX language\&. +(\fB-l norsk\fP produces \f(CW\eusepackage[norsk]{babel}\fP)\&. +.IP "-o,--output=" +Set output directory\&. +.IP "-p,--papersize=" +Specify papersize\&. +(\fB-p a4\fP produces \f(CW\eusepackage[a4paper]{article}\fP) +.IP "-s,--separate" +Normally all output files are included into one LaTeX file\&. +With this switch all files are run separately, to produce one +DVI file for each\&. +.PP +.SH "Features" +.PP +ly2dvi responds to several parameters specified in the mudela +file\&. They are overridden by corresponding command line options\&. +.PP +.IP "language="";" +Specify LaTeX language +.IP "latexheaders="";" +Specify additional LaTeX headers file +.IP "orientation="";" +Set orientation\&. +.IP "paperlinewidth="";" +Specify the width (pt, mm or cm) of the printed lines\&. +.IP "papersize="";" +Specify name of papersize\&. +.PP +.SH "Environment" +.PP +.IP "LILYINCLUDE" +Additional directories for input files\&. +.IP "TMP" +Temporary directory name\&. Default is /tmp +.PP +.SH "Files" +.PP +\fBtitledefs\&.tex\fP is inspected for definitions used to extract +additional text definitions from the mudela file\&. In the current +version the following are defined: +.PP +.IP "title" +The title of the music\&. Centered on top of the first page\&. +.IP "subtitle" +Subtitle, centered below the title\&. +.IP "composer" +Name of the composer, rightflushed below the subtitle\&. +.IP "arranger" +Name of the arranger, rightflushed below the composer\&. +.IP "instrument" +Name of the instrument, leftflushed at same level as the composer\&. +.PP +\fB/usr/local/share/lilyrc /etc/lilyrc $HOME/\&.lilyrc \&./\&.lilyrc\fP +are files to set up default running conditions/variables, Bourne shell +syntax\&. All files are parsed, in the shown sequence\&. The variables are +overridden by variables in the mudela file, and by command line options\&. +In the current version the following are allowed: +.PP +.IP "LANGUAGE=" +Specify LaTeX language\&. +.IP "LATEXHF=" +Specify additional LaTeX headers file +.IP "LILYINCLUDE=" +Additional directories for input files\&. +.IP "ORIENTATION=" +Set orientation - portrait is the default\&. +.IP "OUTPUTDIR=" +Set output directory\&. +.IP "PAPERSIZE=" +Specify name of papersize\&. +.IP "PHEIGTH=" +Specify paperheight (points - an inch is 72\&.27, a cm is 28\&.453 points)\&. +.IP "TMP=" +Temporary directory name\&. +.IP "PWIDTH=" +Specify paperwidth (points - an inch is 72\&.27, a cm is 28\&.453 points)\&. +.PP +.SH "See Also" +.PP +lilypond(1), tex(1), latex(1) +.PP +.SH "Bugs" +.PP +If you have found a bug, you should send a bugreport\&. +.PP +.IP o +Send a copy of the input which causes the error\&. +.IP o +Send a description of the platform you use\&. +.IP o +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 +to this mailinglist)\&. +.PP +.SH "Remarks" +.PP +Many papersizes are now supported\&. Information on other sizes +(LaTeX names, horizontal and vertical sizes) should be mailed to +the author or to the mailing list\&. +.PP +Supported papersizes are: +.PP +a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, archA, archB, archC, archD, +archE, b0, b1, b2, b3, b4, b5, flsa, flse, halfletter, ledger, legal, +letter, note +.PP +.SH "AUTHOR" +.PP +Jan Arne Fagertun , http://www\&.termo\&.unit\&.no/mtf/people/janaf/ +.PP diff --git a/Documentation/man/out/mi2mu.1 b/Documentation/man/out/mi2mu.1 new file mode 100644 index 0000000000..836de8b0cc --- /dev/null +++ b/Documentation/man/out/mi2mu.1 @@ -0,0 +1,68 @@ +.TH "LilyPond" "1" "1998" "Mi2mu" "The LilyPond package" +.PP +.PP +.PP +.SH "NAME" +Mi2mu \- convert MIDI to \fBmudela\fP(5) +.PP +.PP +.SH "DESCRIPTION" +Mi2mu translates a MIDI input file to Mudela (GNU LilyPond source +format)\&. Mi2mu is part of the GNU LilyPond music typesetting package\&. +.PP +manpagessynopsis() +.PP +mi2mu [options] midi-file +.PP +.SH "OPTIONS" +.PP +.IP "-b, --no-quantify," +Write exact durations, e\&.g\&.: `a4*385/384\'\&. +.IP "-D, --debug," +Print lots of debugging stuff\&. +.IP "-h, --help," +Show a summary of usage\&. +.IP "-I, --include=\fBDIR\fP," +Add DIR to search path\&. +.IP "-k, --key=ACC[:MINOR]," +Set default key\&. ACC > 0 sets number of sharps; ACC < 0 sets number +of flats\&. A minor key is indicated by ":1"\&. +.IP "-n, --no-silly," +Assume no plets or double dots, assume smallest (reciprocal) duration 16\&. +.IP "-o, --output=\fBFILE\fP," +Set \fBFILE\fP as default output\&. +.IP "-p, --no-plets," +Assume no plets\&. +.IP "-q, --quiet," +Be quiet\&. +.IP "-s, --smallest=N," +Assume no shorter (reciprocal) durations than N\&. +.IP "-v, --verbose," +Be verbose\&. +.IP "-w, --warranty," +Show the warranty with which mi2mu comes\&. (It comes with \fBNO WARRANTY\fP!) +.IP "-x, --no-double-dots," +Assume no double dotted notes\&. +.PP +.SH "DISCLAIMER" +.PP +Mi2mu is copyright 1996, 1997 by its authors\&. Mi2mu is distributed +as part of GNU LilyPond, under the terms of the GNU General Public +License\&. Mi2mu is provided without any warranty what so ever\&. +Mi2mu may be freely distributed\&. For further information consult +the GNU General Public License, from the file \fBCOPYING\fP\&. +.PP +.SH "SEE ALSO" +.PP +.IP "\fBlilypond\fP(1)" +The GNU LilyPond music typesetter\&. +.IP "mudela-man" +On the input format\&. This is a LilyPond-enhanced LaTeX document\&. +.PP +.SH "AUTHOR" +.PP +Please consult the documentation file \fBAUTHORS\fP for more detailed +information, and small contributions\&. +.PP +Jan Nieuwenhuizen , http://www\&.xs4all\&.nl/~jantien +.PP diff --git a/Documentation/man/out/mudela-book.1 b/Documentation/man/out/mudela-book.1 new file mode 100644 index 0000000000..478df6e6eb --- /dev/null +++ b/Documentation/man/out/mudela-book.1 @@ -0,0 +1,59 @@ +.TH "LilyPond" "1" "1998" "The LilyPond package" "mudela-book" +.PP +.PP +.PP +.SH "NAME" +mudela-book \- integrate LaTeX and mudela +.PP +.PP +.SH "DESCRIPTION" +\fBmudela-book\fP is a script that helps +integrating mudela and \&. mudela-book runs LilyPond on +fragments of mudela in your source file, and includes the results into +document that can be processed with \&. The result is a text +document with formatted music integrated\&. +.PP +If the file contains the ``block\'\' +.PP + +.DS + + + \ebegin{mudela} + CONTENTS + \eend{mudela} + +.DE + + +.PP +then LilyPond is run on CONTENTS\&. mudela-book puts the result back, +surrounded by \f(CW\epreMudelaExample\fP and \f(CW\epostMudelaExample\fP +commands\&. The \f(CW\ebegin\fP takes the following options: +.PP +.IP "fragment" +mudela-book adds some redtape\&. You +can substitute voice-contents for CONTENTS in this case\&. +.IP "verbatim" +CONTENTS is copied into the TeX source enclosed in a verbatim block\&. +.PP +.SH "Synopsis" +.PP +.IP "--outname" +The name of file to output\&. If this option is not given, +the output name derived from the input name\&. The extension \fB\&.doc\fP +is stripped, and \f(CW\&.mudtex\fP appended\&. +.IP "--outdir" +The directory to output lilypond output and input to\&. +.IP "--help" +print a short help message +.PP +.SH "BUGS" +.PP +Doesn\'t handle incorrect input sanely\&. mudela-book is written in +python, so you have install python\&. +.PP +.SH "AUTHOR" +.PP +Han-Wen Nienhuys , http://www\&.cs\&.uu\&.nl/people/hanwen +.PP diff --git a/Documentation/tex/Makefile b/Documentation/tex/Makefile index 8cde48019c..a441b89d7c 100644 --- a/Documentation/tex/Makefile +++ b/Documentation/tex/Makefile @@ -29,8 +29,9 @@ default: GENHTMLS = engraving colorado vocabulary computer-notation OUTGENHTMLS = $(addprefix $(outdir)/, $(GENHTMLS:%=%.html)) -$(outdir)/mudela.dvi: $(outdir)/vocabulary.tex $(outdir)/engraving.bib -$(outdir)/mudela.html: $(OUTGENHTMLS) + +$(outdir)/glossary.dvi: $(outdir)/vocabulary.tex +$(outdir)/glossary.html: $(OUTGENHTMLS) local-WWW: $(HTML_FILES) $(OUTDOC_FILES:.doc=.ps.gz) $(OUTYO_FILES:.yo=.latex) $(OUTYO_FILES:.yo=.ps.gz) $(addprefix $(outdir)/, $(BIB_FILES:.bib=.html)) $(datafiles) $(PYTHON) $(step-bindir)/ls-latex.py --package=$(topdir) --title 'LaTeX documents about LilyPond' \ diff --git a/Documentation/tex/glossary.yo b/Documentation/tex/glossary.yo new file mode 100644 index 0000000000..803c51c0ad --- /dev/null +++ b/Documentation/tex/glossary.yo @@ -0,0 +1,94 @@ + +COMMENT(-*-text-*-) + +DEFINEMACRO(var)(1)(whenlatex(latexcommand({\normalfont\scshape )ARG1+latexcommand(}))\ + whenhtml(sc(ARG1))) + + + +COMMENT( This document contains Mudela fragments. You need at least +Yodl-1.30.18 to convert this to tex or html. + +TODO + +in stead <-> instead +) + +htmlbodyopt(bgcolor)(white) +htmlcommand() + +latexpackage()(a4wide) +latexlayoutcmds( +%\usepackage[latin1]{inputenc} +\input mudela-book +) + +whenlatex(notableofcontents()) +whentexinfo(notableofcontents()) + +article(Glossary of notation terms) + (Han-Wen Nienhuys and Jan Nieuwenhuizen) + (nop()PIPETHROUGH(date "+%B %d, %Y")()()nop()) + +COMMENT( + +* The [ ] look weird + +* paragraphs have too much space. + +) + + +latexcommand(\def\interexample{}) +latexcommand(\def\preexample{\par}) +latexcommand(\def\postexample{\par\medskip}) +latexcommand(\def\file#1{{code(#1)}}) +COMMENT( +latexcommand(\def\texttt#1{\tt #1}) +latexcommand(\def\textbf#1{\bf #1}) +) + +This glossary is far from complete. Additions are welcome. + +whenlatex(latexcommand( + {\parindent -1pc + \parskip 0pc\parsep 0pc + % COMMENT( from the texbook) + \def\length#1{\count0=0 \getlength#1\end} + \def\getlength#1{\ifx#1\end \let\next=\relax + \else\advance\count0 by1 \let\next=\getlength\fi \next} + \def\inlanguage#1#2{{\length{#2}% + \ifnum\count0=0 + \else + \emph{#1}: #2. + \fi}} + \small + + % COMMENT(\def\tableentry#1#2#3#4#5#6#7{\par\textbf{#1}: #7) + \def\tableentry#1#2#3#4#5#6#7{\par{\bf #1}: #7 + \inlanguage{Fran\c cais}{#2} + \inlanguage{British}{#4} \inlanguage{Deutsch}{#3} + \inlanguage{Nederlands}{#5}\inlanguage{Italiano}{#6}} + \input{vocabulary} + } +)) + +whenhtml( + includeverbatim(DOEXPAND(outdir)/vocabulary.html) +) + +whenlatex(latexcommand( + \bibliographystyle{plain} + \bibliography{engraving} +)) + + +COMMENT(The bib stuff is somewhere else on the WWW site) +COMMENT( +setchapterstring{} + +whenhtml{ + nchapter{Bibliography} + includeverbatim{out-www/engraving.html} +}) + diff --git a/Documentation/tex/refman.yo b/Documentation/tex/refman.yo new file mode 100644 index 0000000000..cf44f1cb42 --- /dev/null +++ b/Documentation/tex/refman.yo @@ -0,0 +1,668 @@ +COMMENT(-*-text-*-) + +DEFINEMACRO(var)(1)(whenlatex(latexcommand({\normalfont\scshape )ARG1+latexcommand(}))\ + whenhtml(sc(ARG1))) + + + +COMMENT( This document contains Mudela fragments. You need at least +Yodl-1.30.18 to convert this to tex or html. + +TODO + +in stead <-> instead +) + +htmlbodyopt(bgcolor)(white) +htmlcommand() + +latexpackage()(a4wide) +latexlayoutcmds( +%\usepackage[latin1]{inputenc} +\input mudela-book +) + +whenlatex(notableofcontents()) +whentexinfo(notableofcontents()) + +report(Mudela, reference manual) + (Han-Wen Nienhuys and Jan Nieuwenhuizen) + (nop()PIPETHROUGH(date "+%B %d, %Y")()()nop()) + +COMMENT( + +* The [ ] look weird + +* paragraphs have too much space. + +) + + +latexcommand(\def\interexample{}) +latexcommand(\def\preexample{\par}) +latexcommand(\def\postexample{\par\medskip}) +latexcommand(\def\file#1{{code(#1)}}) +COMMENT( +latexcommand(\def\texttt#1{\tt #1}) +latexcommand(\def\textbf#1{\bf #1}) +) + + +bf(This document is not up to date). All rendered examples of course +are current, but the rest probably isn't. Adjusting the tutorial was +considered more important than writing the reference manual. We +apologize for the inconvenience. + + +This document describes the the GNU LilyPond input format, which is an +effective language for defining music. We call this language (rather +arrogantly) The Musical Definition Language or Mudela, for +short.footnote(If anybody comes up with a better name, we'd gladly + take this. Gourlay already uses Musical Description Language, + G-Sharp Score Definition Language. ISO standard 10743 defines a + Standard Music Description Language. We're not being original here.) + +The first aim of Mudela is to define a piece of music, being complete +from both from a musical typesetting, as from a musical performing +point of view. + +The Musical Definition Language (Mudela), has a logical structure, +making use of identifiers, that allows for flexible input, and +definition reuse. See the documentation file file(MANIFESTO), included +with the LilyPond sources for reasons and design considerations. + +The below is included for explanatory purposes only (i.e., for a +complete and up-to-date definition, see file(lily/parser.yy) and +file(lily/lexer.ll)). + +As a related note, you should take a look at the examples and the init +files, as this document does not cover every aspect of Mudela yet, and +may be out of date.footnote(Ok, I am being pessimistic here. This +just is a disclaimer. Docs usually are written after the program +itself.) This document intends to give an idea of how it works. It is +not a guide on how to use it. + +sect(Files) + +The de-facto extension of Mudela is file(.ly). Files may be included by +entering code(\include) at the start of a line: + +verb( +\include "a_file.ly" +) + + +sect(Comments) + +Line comments are introduced by a +code(%). +Block comments are delimited +by +code(%{) +and +code(%}). +They do not nest. + + +sect(Versions) + +Occasionally, small changes in syntax across different versions of +Mudela might give syntax errors. To warn you about possible +incompatibilities, you can specify the Mudela version for which the +inputfile was written, +verb( +\version "0.0.50"; +) + +A Python-script which tries to convert to newer versions +(file(convert-mudela)) is included in the LilyPond distribution. + +sect(Keywords) + +Keywords are preceded by a backslash: code(\). They contain +alphabetic characters only. + + +sect(Nesting characters) + +Mudela uses the brace, `code({)' and `code(})' for most hierarchical +structures. For chords the code(<) and the code(>) are used as +nesting braces. + +sect(Constants) + +verb( +"I am a string" +-1.2e3 % a real +12 % an int +) + + +sect(Identifiers) + +When assigning identifiers you use + +verb( +string = ... +) + +If you reuse identifiers, then the previous contents will be thrown +away after the right hand is evaluated, e.g. +verb( +bla = \melodic { \bla } +) +is legal + +When using identifiers they have to be escaped: + +verb( +oboe = \melodic { ... } +\score{ \melodic { \oboe }} +) + +The left-hand part of the assignment is really a string, so +verb( +"Foo bar 4 2 " = \melodic { .. } +) + +is also a valid assignment (but you would have trouble referencing to it) + + +sect(Hierarchical structures) + +The general structure consists of declarations: +verb( +IDENTIFIER = \TYPE{ + +} +) +and instantiations: + +verb( +\TYPE{ } +) + +(Currently, code(\score) is the only type that can be instantiated +at top level.) + +Most instantiations that use an IDENTIFIER are specified as follows: + +verb( +\TYPE{ \IDENTIFIER [...] } +) + +Some exceptions on this rule have been made to prevent inputting +Mudela becoming tedious + +sect(Modes:) + +To simplify different aspects of music definition (entering the notes +and manipulating them) Mudela has a number of different input "modes": + +description( + + +dit(Normal mode) + +At the start of parsing, Mudela assumes normal mode. +In Normal mode, a word is looked up in the following order: +description( +dit(code(word)) string +dit(code("string")) string +dit(code(\word)) keyword, identifier +) +In normal mode, a word is assumed to start with an alphabetic +character, followed by alpha-numeric characters. + +dit(Note mode) Note mode is introduced by the keyword + code(\melodic). In Note mode, a word is looked up in the following + order: +description( +dit(code(word)) notename, string +dit(code("string")) string +dit(code(\word)) keyword, identifier +) + +In Note mode a word is considered to have alphabetic characters only, +so the underscore (_) is invalid. If you accidently mistype a +notename, the parser will assume that you are entering a string (and +it will most likely complain that you should be in code(\lyric) mode to +do lyrics) + + +dit(Lyric mode) Lyrics mode is introduced by the keyword + code(\lyric). Because of the various control characters that can + appear in lyrics, e.g., foreign language accents, the inputting a + string containing these has been made very easy. + +In Lyrics mode, a word is looked up in the following order: +description( +dit(code(word)) string (thus a lyric) +dit(code("string")) string +dit(code(\word)) keyword, identifier +) + +In Lyric mode every sequence of non-digit and non-white characters +starting with an alphabetic character or the _ is considered a word. + +verb( +a&@&@&TSI|{[ % a word +1THtrhortho % not a "word" +Leise DOEXPAND(Fl\)DOEXPAND("u\)ss{}teren meine Sapfe % 4 words +_ _ _ _ % 4 words: 4 spaces +) +) + +These modes are of a lexical nature. Normal and Note mode largely +resemble each other, save the possibility of entering Reals, +meaning of code(_) and the resolution of words + + + + + +Durations are entered as their reciprocal values +mudela(fragment,verbatim,center)( +a'1 a'2 a'4 a a'8 a a'16 a'32 a'64 +) +Notice that you only have to specify the duration when it changes: Lily +assumes a note has the same duration as the previous one. + +Now we can already write a little tune +mudela(fragment,verbatim,center)( +c' d' e' c' | c' d' e' c' | e' f' g'2 +) +As you'll probably have guessed, +the vertical bar code(|) may be used to mark +measures. + +In the scale shown above +we left-out the last c note of the next octave. +Postfixing the pitch with a quote code(') +produces a note by one octave higher +mudela(fragment,verbatim,center)( +c c' c'' +) + +Postfixing the pitch with a comma, code(,) +produces a note by one octave lower +mudela(fragment,verbatim,center)( +a a, a,, +) + +sect(Slurs and Ties) + +A tie connects two adjacent note heads + +mudela(fragment,verbatim,center)( +e' ~ e' +) + +Whereas a slur rather connects `chords', +and tries to avoid crossing stems + +mudela(fragment,verbatim,center)( +e'( )e' +) + +And of course, such a (legato) slur can span several notes +mudela(fragment,verbatim,center)( +c'( d' e' )f' +) + +sect(Beams and Tuplets) + +A beam is +mudela(fragment,verbatim,center)( +[a'8 a'] [a'16 a' a' a'] +) + +Here's a beamed triplet +mudela(fragment,verbatim,center)( +[/3 a'8 a' a']/1 +) + +a triplet without a beam +mudela(fragment,verbatim,center)( +\[/3 a'4 a'8\] +) + +and a combination +mudela(fragment,verbatim,center)( +[/3 a'8 a'16 a'] a'8 \] +) + +Abbreviations +mudela(fragment,verbatim,center)( +c'1:16 [:16 e'1 g'] +) + +mudela(fragment,verbatim,center)( +c'4:32 [:16 c'8 d'8] +) + +sect(Notenames) + +Lily has predefined sets of notenames +for various nop(languages)footnote(These +are Dutch, English, German, Italian and Swedish. +Simply include the language specific init file file(language.ly).). +The default set are the ones we like best are the Dutch notenames. + +A sharp is formed by adding code(is) +mudela(fragment,verbatim,center)( +cis' dis' eis' fis' gis' ais' bis' +) + +and a flat is formed by adding code(es) +mudela(fragment,verbatim,center)( +ces' des' es' fes' ges' as' bes' +) + +With the obvious names for double sharps +mudela(fragment,verbatim)( +cisis' disis' eisis' fisis' gisis' aisis' bisis' +) + +and double flats +mudela(fragment,verbatim)( +ceses' deses' eses' feses' geses' ases' beses' +) + + +There are two special `notenames', the rest +mudela(fragment,verbatim,center)( +r16 [a' a' a'] +) + +and the space +mudela(fragment,verbatim,center)( +a'2 s-"diminuendo" | a' +) + + +sect(Commands) + +mudela(fragment,verbatim,center)( +\clef "bass"; c +) + +and a clef-change +mudela(fragment,verbatim,center)( +\clef "treble"; f' e' \clef "alto"; d' c' +) + +mudela(fragment,verbatim,center)( +\time 3/4; c' g' g' | +) + +mudela(fragment,verbatim,center)( +\key d; +g a b cis' d' e' fis' g' +) +Note how Mudela allows you to +convey a musical message and doesn't force you to produce a list of typesetting commands. +If the music has a code(cis), you type a code(cis). +Depending on the key and context of the note +Lily will determine what accidentals to typeset. + +A reminder accidental can be forced by +using an exclamation mark code(!) +on a pitch a reminder accidental +mudela(fragment,verbatim,center)( +cis' d' e' cis' | c'! d' e' c' | +) + +mudela(fragment,verbatim)( +\time 2/4; +\bar "|:"; c' c' \bar ":|:"; c' c' \bar ":|"; c' c' \bar "|."; +) + +sect(Chords and Voices) + +Here's a simple chord +mudela(fragment,verbatim,center)( + +) + +here are a few +mudela(fragment,verbatim,center)( +< + { c'()d'()c' } + { e'()f'()e' } + { g'()a'()g' } +> +) + +and similarly voices +mudela(fragment,verbatim)( +< + { \voiceone c'4 g' c' g' } + { \voicetwo c2 g2 } +> +) + + +sect(A complete example) +COMMENT(%label(se:complete)) + +A Mudela file needs some red tape + +mudela(verbatim)( +\score{ + \melodic { + c' d' e' c' | + c' d' e' c' | + e' f' g'2 | + } +} +) + +sect(Lyrics) + +Lyrics are entered like notes, with pitches substituted +by text. + +All syllables are entered separately, separated by whitespace +verb( +Twin-4 kle4 twin-4 kle4 ... +) + +Two syllables or words that compose a single +duration entry are bound together using an underscore +verb( +He_could4 not4 +) + + +COMMENT( +URG + Fr\`e-4 re Ja- que + Fr\`e- re Ja- que +) + +mudela(verbatim,center)( +\score{ + < + \melodic \transpose c'' { + c d e c | c d e c | + e f g'2 | e'4 f g'2 + \bar "|."; + } + \type Lyrics \lyric{ + DOEXPAND(Fr\)`e-4 re Ja- que + DOEXPAND(Fr\)`e- re Ja- que + Dor- mez vous?2 + Dor-4 mez vous?2 + } + > +} +) + +sect(Composition: forming bigger structures) +label(sec:grammar) + +The computer savy user may be interested in a more formal +specification. We can capture what have learned about forming +sentences in Mudela in a context-free grammar. + +latexcommand(\smallskip) + +table(2)(lll)( + row(cell(em(Music))cell(: em(Note))) + row(cell()cell(code(|) em(Rest))) + row(cell()cell(code(|) code({) em(MusicList) code(}))) + row(cell()cell(code(|) code(<) em(MusicList) code(>))) + row(cell()cell(code(|) em(Command))) + row(cell()cell(code(|) code(\type) em(string) code(=) em(string) em(Music))) + row(cell()cell(;)) + row(cell(em(MusicList))cell(: em(empty))) + row(cell()cell(code(|) em(MusicList) em(Music))) + row(cell()cell(;)) +) + +latexcommand(\smallskip) + + + + + +In mathematics you can form expressions by combining expressions, +which are ultimately some kind of atom or terminal symbol. The same +goes for Mudela: there are some basic building blocks, and by +combining those you create complex music. + +You can combine music in three ways: +itemize( +it()If you enclose a sequence of music-elements in braces ( code({) + and code(}) ), then you form another kind of music called +sequential music + with those pieces. + The duration of sequential composition is the sum of the durations of its elements + verb( + { c c g g a a g2 } % twinkle twinkle + { { c c g g} { a a g2 } } + ) +it()You can stack music by enclosing a sequence of music elements + with code(<) and code(>). This is called simultaneous music. + The duration of a simultaneous composition is the union of the durations + of its elements Example: + verb( + % a-major chord + ) +it()You can form music by transposing music: + verb( + \transpose + d % from c to the d that's almost one octave down + { e4 f4 } % the horizontal music +) +it()verb(\type) +it()verb(\property) +it()verb(\translator) +it()verb(\relative) +) + +Of course you can also combine these three mechanisms. +verb( +{ c } % 4 increasing chords +) + + +sect(Durations) + +A duration always starts with the duration type (1,2,4 etc), and then +any optional multipliers/dots. `Gregrorian' durations can be entered +as follows +verb( +c'\breve +gis'\longa +) + + + +sect(Time signatures/groupings) + +A time signature specification has this form: +verb( +\time 3/4 ; +) + +Rhythmic grouping is a concept closely associated with this. For +example, in a 5/8 time signature, the counts are grouped 2+3. In Mudela this is +entered as +verb( +\grouping 8*2 8*3 ; +) + +You can start the piece with a partial measure, the command takes a +duration as an argument +verb( +\partial 16*3; +) + +Make the piece start with a upstep +lasting 1 3/4 quarter notes. + +These commands constitute `Music', and have a duration of 0. + + +sect(Properties) + +By default the same accidentals are valid for all octaves, but + this can be changed with the property code(specialaccidentals). + + +The identifier code(\specialkey) sets the property for the Staff. A +key with two flats in one octave and three + sharps in the next can be declared with verb(\specialkey +\accidentals bes es fis' cis' gis';) + +sect(Music fragments) +label(tutorial:music-fragments) + +Sometimes you only need to print a small fragment of music, perhaps +something much like one of the examples in this document. Back in +section ref(sec:running-lilypond) we told you that the music you +enter should be encapsulated in something like: +verb( +\score< + \melodic\relative c{ + d + } + \paper{ } + \midi{ } +> +) +where the only interesting information is this particular example is verb( + d +) +The rest of the above example was already nicknamed `red tape'. +You may easily get bored if you have to provide this same red tape +for every fragmenty you nop(try)footnote(Of course, in most cases your +favourite text editor (TM) +will help you out.). + +Luckily there's a trick around this, and it's called file(.fly) files. +If you use the extension file(.fly) for Mudela file file(foo), +LilyPond will embed your file(foo.fly) nop(in)footnote(Or something very +similar. If you want to know exactly, see file(init/init.fly)): +verb( +\score< + \melodic\relative c{ + <> + } + \paper{ } + \midi{ } +) + +Here's how it works. If you run LilyPond on your file file(bar.ly), you +may notice that she starts-off by reading quite a number of files before +she actually reaches your file(bar.ly). There's no magic going on, Lily +by default reads an initialisation file (file(init/init.ly)). In the +initialisation process a lot of things are defined that you'll need for +normal operation, such as notenames and various other mudela shortcuts, +engraver and perforer definitions, font sizes, musical dimensions and +paper sizes. When you use the extension file(.fly), Lily just starts +reading another initialisation file (file(init/init.fly)), that includes the +red tape for you too. + diff --git a/Documentation/tex/mudela.yo b/Documentation/tex/tutorial.yo similarity index 81% rename from Documentation/tex/mudela.yo rename to Documentation/tex/tutorial.yo index 87407dfb4b..c7fe41086e 100644 --- a/Documentation/tex/mudela.yo +++ b/Documentation/tex/tutorial.yo @@ -25,14 +25,12 @@ latexlayoutcmds( whenlatex(notableofcontents()) whentexinfo(notableofcontents()) -report(Mudela, the Music-Definition Language) +article(Mudela, the Music-Definition Language) (Han-Wen Nienhuys and Jan Nieuwenhuizen) (nop()PIPETHROUGH(date "+%B %d, %Y")()()nop()) COMMENT( -* The [ ] look weird - * paragraphs have too much space. ) @@ -42,12 +40,6 @@ latexcommand(\def\interexample{}) latexcommand(\def\preexample{\par}) latexcommand(\def\postexample{\par\medskip}) latexcommand(\def\file#1{{code(#1)}}) -COMMENT( -latexcommand(\def\texttt#1{\tt #1}) -latexcommand(\def\textbf#1{\bf #1}) -) - -chapter(Tutorial) whenhtml( nsubsect(Disclaimer) @@ -537,8 +529,6 @@ mudela()( \paper { linewidth = 12.\cm; }}) -COMMENT(For a full list of supported articulation instructions, refer to the -chapter on features, bind(Chapter)ref(features).) Text and digits for fingering can be entered in the same manner: add a dash and the text or digit to be printed: @@ -858,7 +848,7 @@ mudela(verbatim,fragment)( The names that you choose do not matter just as long as they are different. This is almost right, except for the brace at the left and the clef of the second staff. The bass clef will be taken care of in -the next chapter. If you want a brace, then you have to tell LilyPond +the next section. If you want a brace, then you have to tell LilyPond that the chord you just formed is to be interpreted as a so-called grand staff. This is also done with the code(\type) command. mudela(verbatim,fragment)( @@ -2003,674 +1993,3 @@ This will make it clear what the file contains as soon as you open it. -chapter(Features) -label(features) - -bf(This document is not up to date). All rendered examples of course -are current, but the rest probably isn't. Adjusting the tutorial was -considered more important than writing the reference manual. We -apologize for the inconvenience. - - -This document describes the the GNU LilyPond input format, which is an -effective language for defining music. We call this language (rather -arrogantly) The Musical Definition Language or Mudela, for -short.footnote(If anybody comes up with a better name, we'd gladly - take this. Gourlay already uses Musical Description Language, - G-Sharp Score Definition Language. ISO standard 10743 defines a - Standard Music Description Language. We're not being original here.) - -The first aim of Mudela is to define a piece of music, being complete -from both from a musical typesetting, as from a musical performing -point of view. - -The Musical Definition Language (Mudela), has a logical structure, -making use of identifiers, that allows for flexible input, and -definition reuse. See the documentation file file(MANIFESTO), included -with the LilyPond sources for reasons and design considerations. - -The below is included for explanatory purposes only (i.e., for a -complete and up-to-date definition, see file(lily/parser.yy) and -file(lily/lexer.ll)). - -As a related note, you should take a look at the examples and the init -files, as this document does not cover every aspect of Mudela yet, and -may be out of date.footnote(Ok, I am being pessimistic here. This -just is a disclaimer. Docs usually are written after the program -itself.) This document intends to give an idea of how it works. It is -not a guide on how to use it. - -sect(Files) - -The de-facto extension of Mudela is file(.ly). Files may be included by -entering code(\include) at the start of a line: - -verb( -\include "a_file.ly" -) - - -sect(Comments) - -Line comments are introduced by a -code(%). -Block comments are delimited -by -code(%{) -and -code(%}). -They do not nest. - - -sect(Versions) - -Occasionally, small changes in syntax across different versions of -Mudela might give syntax errors. To warn you about possible -incompatibilities, you can specify the Mudela version for which the -inputfile was written, -verb( -\version "0.0.50"; -) - -A Python-script which tries to convert to newer versions -(file(convert-mudela)) is included in the LilyPond distribution. - -sect(Keywords) - -Keywords are preceded by a backslash: code(\). They contain -alphabetic characters only. - - -sect(Nesting characters) - -Mudela uses the brace, `code({)' and `code(})' for most hierarchical -structures. For chords the code(<) and the code(>) are used as -nesting braces. - -sect(Constants) - -verb( -"I am a string" --1.2e3 % a real -12 % an int -) - - -sect(Identifiers) - -When assigning identifiers you use - -verb( -string = ... -) - -If you reuse identifiers, then the previous contents will be thrown -away after the right hand is evaluated, e.g. -verb( -bla = \melodic { \bla } -) -is legal - -When using identifiers they have to be escaped: - -verb( -oboe = \melodic { ... } -\score{ \melodic { \oboe }} -) - -The left-hand part of the assignment is really a string, so -verb( -"Foo bar 4 2 " = \melodic { .. } -) - -is also a valid assignment (but you would have trouble referencing to it) - - -sect(Hierarchical structures) - -The general structure consists of declarations: -verb( -IDENTIFIER = \TYPE{ - -} -) -and instantiations: - -verb( -\TYPE{ } -) - -(Currently, code(\score) is the only type that can be instantiated -at top level.) - -Most instantiations that use an IDENTIFIER are specified as follows: - -verb( -\TYPE{ \IDENTIFIER [...] } -) - -Some exceptions on this rule have been made to prevent inputting -Mudela becoming tedious - -sect(Modes:) - -To simplify different aspects of music definition (entering the notes -and manipulating them) Mudela has a number of different input "modes": - -description( - - -dit(Normal mode) - -At the start of parsing, Mudela assumes normal mode. -In Normal mode, a word is looked up in the following order: -description( -dit(code(word)) string -dit(code("string")) string -dit(code(\word)) keyword, identifier -) -In normal mode, a word is assumed to start with an alphabetic -character, followed by alpha-numeric characters. - -dit(Note mode) Note mode is introduced by the keyword - code(\melodic). In Note mode, a word is looked up in the following - order: -description( -dit(code(word)) notename, string -dit(code("string")) string -dit(code(\word)) keyword, identifier -) - -In Note mode a word is considered to have alphabetic characters only, -so the underscore (_) is invalid. If you accidently mistype a -notename, the parser will assume that you are entering a string (and -it will most likely complain that you should be in code(\lyric) mode to -do lyrics) - - -dit(Lyric mode) Lyrics mode is introduced by the keyword - code(\lyric). Because of the various control characters that can - appear in lyrics, e.g., foreign language accents, the inputting a - string containing these has been made very easy. - -In Lyrics mode, a word is looked up in the following order: -description( -dit(code(word)) string (thus a lyric) -dit(code("string")) string -dit(code(\word)) keyword, identifier -) - -In Lyric mode every sequence of non-digit and non-white characters -starting with an alphabetic character or the _ is considered a word. - -verb( -a&@&@&TSI|{[ % a word -1THtrhortho % not a "word" -Leise DOEXPAND(Fl\)DOEXPAND("u\)ss{}teren meine Sapfe % 4 words -_ _ _ _ % 4 words: 4 spaces -) -) - -These modes are of a lexical nature. Normal and Note mode largely -resemble each other, save the possibility of entering Reals, -meaning of code(_) and the resolution of words - - - - - -Durations are entered as their reciprocal values -mudela(fragment,verbatim,center)( -a'1 a'2 a'4 a a'8 a a'16 a'32 a'64 -) -Notice that you only have to specify the duration when it changes: Lily -assumes a note has the same duration as the previous one. - -Now we can already write a little tune -mudela(fragment,verbatim,center)( -c' d' e' c' | c' d' e' c' | e' f' g'2 -) -As you'll probably have guessed, -the vertical bar code(|) may be used to mark -measures. - -In the scale shown above -we left-out the last c note of the next octave. -Postfixing the pitch with a quote code(') -produces a note by one octave higher -mudela(fragment,verbatim,center)( -c c' c'' -) - -Postfixing the pitch with a comma, code(,) -produces a note by one octave lower -mudela(fragment,verbatim,center)( -a a, a,, -) - -sect(Slurs and Ties) - -A tie connects two adjacent note heads - -mudela(fragment,verbatim,center)( -e' ~ e' -) - -Whereas a slur rather connects `chords', -and tries to avoid crossing stems - -mudela(fragment,verbatim,center)( -e'( )e' -) - -And of course, such a (legato) slur can span several notes -mudela(fragment,verbatim,center)( -c'( d' e' )f' -) - -sect(Beams and Tuplets) - -A beam is -mudela(fragment,verbatim,center)( -[a'8 a'] [a'16 a' a' a'] -) - -Here's a beamed triplet -mudela(fragment,verbatim,center)( -[/3 a'8 a' a']/1 -) - -a triplet without a beam -mudela(fragment,verbatim,center)( -\[/3 a'4 a'8\] -) - -and a combination -mudela(fragment,verbatim,center)( -[/3 a'8 a'16 a'] a'8 \] -) - -Abbreviations -mudela(fragment,verbatim,center)( -c'1:16 [:16 e'1 g'] -) - -mudela(fragment,verbatim,center)( -c'4:32 [:16 c'8 d'8] -) - -sect(Notenames) - -Lily has predefined sets of notenames -for various nop(languages)footnote(These -are Dutch, English, German, Italian and Swedish. -Simply include the language specific init file file(language.ly).). -The default set are the ones we like best are the Dutch notenames. - -A sharp is formed by adding code(is) -mudela(fragment,verbatim,center)( -cis' dis' eis' fis' gis' ais' bis' -) - -and a flat is formed by adding code(es) -mudela(fragment,verbatim,center)( -ces' des' es' fes' ges' as' bes' -) - -With the obvious names for double sharps -mudela(fragment,verbatim)( -cisis' disis' eisis' fisis' gisis' aisis' bisis' -) - -and double flats -mudela(fragment,verbatim)( -ceses' deses' eses' feses' geses' ases' beses' -) - - -There are two special `notenames', the rest -mudela(fragment,verbatim,center)( -r16 [a' a' a'] -) - -and the space -mudela(fragment,verbatim,center)( -a'2 s-"diminuendo" | a' -) - - -sect(Commands) - -mudela(fragment,verbatim,center)( -\clef "bass"; c -) - -and a clef-change -mudela(fragment,verbatim,center)( -\clef "treble"; f' e' \clef "alto"; d' c' -) - -mudela(fragment,verbatim,center)( -\time 3/4; c' g' g' | -) - -mudela(fragment,verbatim,center)( -\key d; -g a b cis' d' e' fis' g' -) -Note how Mudela allows you to -convey a musical message and doesn't force you to produce a list of typesetting commands. -If the music has a code(cis), you type a code(cis). -Depending on the key and context of the note -Lily will determine what accidentals to typeset. - -A reminder accidental can be forced by -using an exclamation mark code(!) -on a pitch a reminder accidental -mudela(fragment,verbatim,center)( -cis' d' e' cis' | c'! d' e' c' | -) - -mudela(fragment,verbatim)( -\time 2/4; -\bar "|:"; c' c' \bar ":|:"; c' c' \bar ":|"; c' c' \bar "|."; -) - -sect(Chords and Voices) - -Here's a simple chord -mudela(fragment,verbatim,center)( - -) - -here are a few -mudela(fragment,verbatim,center)( -< - { c'()d'()c' } - { e'()f'()e' } - { g'()a'()g' } -> -) - -and similarly voices -mudela(fragment,verbatim)( -< - { \voiceone c'4 g' c' g' } - { \voicetwo c2 g2 } -> -) - - -sect(A complete example) -COMMENT(%label(se:complete)) - -A Mudela file needs some red tape - -mudela(verbatim)( -\score{ - \melodic { - c' d' e' c' | - c' d' e' c' | - e' f' g'2 | - } -} -) - -sect(Lyrics) - -Lyrics are entered like notes, with pitches substituted -by text. - -All syllables are entered separately, separated by whitespace -verb( -Twin-4 kle4 twin-4 kle4 ... -) - -Two syllables or words that compose a single -duration entry are bound together using an underscore -verb( -He_could4 not4 -) - - -COMMENT( -URG - Fr\`e-4 re Ja- que - Fr\`e- re Ja- que -) - -mudela(verbatim,center)( -\score{ - < - \melodic \transpose c'' { - c d e c | c d e c | - e f g'2 | e'4 f g'2 - \bar "|."; - } - \type Lyrics \lyric{ - DOEXPAND(Fr\)`e-4 re Ja- que - DOEXPAND(Fr\)`e- re Ja- que - Dor- mez vous?2 - Dor-4 mez vous?2 - } - > -} -) - -sect(Composition: forming bigger structures) -label(sec:grammar) - -The computer savy user may be interested in a more formal -specification. We can capture what have learned about forming -sentences in Mudela in a context-free grammar. - -latexcommand(\smallskip) - -table(2)(lll)( - row(cell(em(Music))cell(: em(Note))) - row(cell()cell(code(|) em(Rest))) - row(cell()cell(code(|) code({) em(MusicList) code(}))) - row(cell()cell(code(|) code(<) em(MusicList) code(>))) - row(cell()cell(code(|) em(Command))) - row(cell()cell(code(|) code(\type) em(string) code(=) em(string) em(Music))) - row(cell()cell(;)) - row(cell(em(MusicList))cell(: em(empty))) - row(cell()cell(code(|) em(MusicList) em(Music))) - row(cell()cell(;)) -) - -latexcommand(\smallskip) - - - - - -In mathematics you can form expressions by combining expressions, -which are ultimately some kind of atom or terminal symbol. The same -goes for Mudela: there are some basic building blocks, and by -combining those you create complex music. - -You can combine music in three ways: -itemize( -it()If you enclose a sequence of music-elements in braces ( code({) - and code(}) ), then you form another kind of music called -sequential music - with those pieces. - The duration of sequential composition is the sum of the durations of its elements - verb( - { c c g g a a g2 } % twinkle twinkle - { { c c g g} { a a g2 } } - ) -it()You can stack music by enclosing a sequence of music elements - with code(<) and code(>). This is called simultaneous music. - The duration of a simultaneous composition is the union of the durations - of its elements Example: - verb( - % a-major chord - ) -it()You can form music by transposing music: - verb( - \transpose - d % from c to the d that's almost one octave down - { e4 f4 } % the horizontal music -) -it()verb(\type) -it()verb(\property) -it()verb(\translator) -it()verb(\relative) -) - -Of course you can also combine these three mechanisms. -verb( -{ c } % 4 increasing chords -) - - -sect(Durations) - -A duration always starts with the duration type (1,2,4 etc), and then -any optional multipliers/dots. `Gregrorian' durations can be entered -as follows -verb( -c'\breve -gis'\longa -) - - - -sect(Time signatures/groupings) - -A time signature specification has this form: -verb( -\time 3/4 ; -) - -Rhythmic grouping is a concept closely associated with this. For -example, in a 5/8 time signature, the counts are grouped 2+3. In Mudela this is -entered as -verb( -\grouping 8*2 8*3 ; -) - -You can start the piece with a partial measure, the command takes a -duration as an argument -verb( -\partial 16*3; -) - -Make the piece start with a upstep -lasting 1 3/4 quarter notes. - -These commands constitute `Music', and have a duration of 0. - - -sect(Properties) - -By default the same accidentals are valid for all octaves, but - this can be changed with the property code(specialaccidentals). - - -The identifier code(\specialkey) sets the property for the Staff. A -key with two flats in one octave and three - sharps in the next can be declared with verb(\specialkey -\accidentals bes es fis' cis' gis';) - -sect(Music fragments) -label(tutorial:music-fragments) - -Sometimes you only need to print a small fragment of music, perhaps -something much like one of the examples in this document. Back in -section ref(sec:running-lilypond) we told you that the music you -enter should be encapsulated in something like: -verb( -\score< - \melodic\relative c{ - d - } - \paper{ } - \midi{ } -> -) -where the only interesting information is this particular example is verb( - d -) -The rest of the above example was already nicknamed `red tape'. -You may easily get bored if you have to provide this same red tape -for every fragmenty you nop(try)footnote(Of course, in most cases your -favourite text editor (TM) -will help you out.). - -Luckily there's a trick around this, and it's called file(.fly) files. -If you use the extension file(.fly) for Mudela file file(foo), -LilyPond will embed your file(foo.fly) nop(in)footnote(Or something very -similar. If you want to know exactly, see file(init/init.fly)): -verb( -\score< - \melodic\relative c{ - <> - } - \paper{ } - \midi{ } -) - -Here's how it works. If you run LilyPond on your file file(bar.ly), you -may notice that she starts-off by reading quite a number of files before -she actually reaches your file(bar.ly). There's no magic going on, Lily -by default reads an initialisation file (file(init/init.ly)). In the -initialisation process a lot of things are defined that you'll need for -normal operation, such as notenames and various other mudela shortcuts, -engraver and perforer definitions, font sizes, musical dimensions and -paper sizes. When you use the extension file(.fly), Lily just starts -reading another initialisation file (file(init/init.fly)), that includes the -red tape for you too. - - -appendix() - -chapter(Glossary) -label(glossary) - -This glossary is far from complete. Additions are welcome. - -whenlatex(latexcommand( - {\parindent -1pc - \parskip 0pc\parsep 0pc - % COMMENT( from the texbook) - \def\length#1{\count0=0 \getlength#1\end} - \def\getlength#1{\ifx#1\end \let\next=\relax - \else\advance\count0 by1 \let\next=\getlength\fi \next} - \def\inlanguage#1#2{{\length{#2}% - \ifnum\count0=0 - \else - \emph{#1}: #2. - \fi}} - \small - - % COMMENT(\def\tableentry#1#2#3#4#5#6#7{\par\textbf{#1}: #7) - \def\tableentry#1#2#3#4#5#6#7{\par{\bf #1}: #7 - \inlanguage{Fran\c cais}{#2} - \inlanguage{British}{#4} \inlanguage{Deutsch}{#3} - \inlanguage{Nederlands}{#5}\inlanguage{Italiano}{#6}} - \input{vocabulary} - } -)) - -whenhtml( - includeverbatim(DOEXPAND(outdir)/vocabulary.html) -) - -whenlatex(latexcommand( - \bibliographystyle{plain} - \bibliography{engraving} -)) - - -COMMENT(The bib stuff is somewhere else on the WWW site) -COMMENT( -setchapterstring{} - -whenhtml{ - nchapter{Bibliography} - includeverbatim{out-www/engraving.html} -}) - diff --git a/NEWS b/NEWS index 664e3e0c7b..a4d321946f 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,15 @@ +pl 2 + - bf mudela-book.py + - scalar compile stuff + - bf install directory + - YODL note + - GUI faq update + - bf ly2dvi + - stepmake split: Po.make + - make check target + - dist AFMs and manpages + - split up mudela.yo in glossary.yo, tutorial.yo and refman.yo + pl 1.jcn2 - renamed -alto -> viola - bf: avant-gardish six preludes @@ -8,6 +20,14 @@ pl 1.jcn1 - fake msgfmt - make uninstall fixes +pl 1.jbr2 - aclocal.m4,stepmake/aclocal.m4,stepmake/stepmake/Variables.make: + Support install target for unix, unix cross compile, and + Windows NT + +pl 1.jbr1 - stepmake/stepmake/Executable.make: DOTEXE was missplaced + - scripts/convert-mudela.py: program_id should write to stderr + +************** pl 1 - mi2mu fix: \key "D" - \hoffset diff --git a/README.txt b/README.txt index 2008fc4f8c..daeee83662 100644 --- a/README.txt +++ b/README.txt @@ -31,8 +31,8 @@ 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 TeX to configure (--enable-tex-dir, ---enable-mf-dir) +to specify directories for TeX to configure: this is done with +the options --enable-tex-dir and --enable-mf-dir 4: DOCUMENTATION @@ -45,9 +45,7 @@ and then do this: 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/lilypond/index.html +website http://www.cs.uu.nl/people/hanwen/lilypond/index.html 5: COMMENTS @@ -63,8 +61,7 @@ and not to us personally. See Documentation/links.yo for more info. 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://pcnov095.win.tue.nl/pub/lilypond/ (Europe) +ftp://pcnov095.win.tue.nl/pub/lilypond/ If you decide to build LilyPond from source, please read the INSTALL.txt document first, especially the Windows NT/95 section. @@ -76,8 +73,7 @@ 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*'` +rm `find /var/lib/texmf/fonts -name 'feta*'` a script to do this for you is in bin/cleanfonts.sh diff --git a/TODO b/TODO index 893aa58eac..8a13a3860b 100644 --- a/TODO +++ b/TODO @@ -6,12 +6,24 @@ done, or is an idea that I want to think about Most of the items are marked in the code as well, with full explanation. grep for TODO and ugh/ugr/urg - * fix plain tex footer line. - * portable libs for flowerlib/lilylib + * fix plain tex footer line. - * install TeX stuff into tex/generic directory. + * portable libs for flowerlib/lilylib + * install TeX stuff into tex/generic directory. + + * preformatted .info stuff. + + * percussion note heads + + * mi2mu empty staffs. + + * include MIDI list + + * make separate translation property list. + + * key undo. * make GNU style webpages. @@ -21,13 +33,6 @@ grep for TODO and ugh/ugr/urg the form feta*.ly. In particular init.ly doesn't get installed. I installed the files by hand and then the system seems to work. - * I things it's more than appropriate for an GNU project to ship Info - files (and manpages) with the source package. The "Standard" tells to - do so (ftp://ftp.gnu.org/pub/gnu/standards/standards.text): - - - * a `make check' target (without installing stuff!) - * midi_instrument -> midiInstrument * horizontal centering of dynamics diff --git a/VERSION b/VERSION index b79339f1e0..36dc14b269 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=0 -PATCH_LEVEL=1 -MY_PATCH_LEVEL=jcn2 +PATCH_LEVEL=2 +MY_PATCH_LEVEL= # use the above to send patches, always empty for released version: # please don't move these comments up; the patch should fail if diff --git a/aclocal.m4 b/aclocal.m4 index 5f282f05b1..dbcb4d30d2 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -234,13 +234,16 @@ dnl fi LN=cp # hard link does not work under cygnus-nt (yet?) ZIP="zip -r -9" # DOTEXE=.exe + INSTALL="\$(stepdir)/../bin/install-dot-exe.sh -c" else LN=ln ZIP="zip -r -9" + INSTALL="\$(stepdir)/../bin/install-sh -c" fi AC_SUBST(DOTEXE) AC_SUBST(ZIP) AC_SUBST(LN) + AC_SUBST(INSTALL) AC_STEPMAKE_DATADIR ]) @@ -424,6 +427,9 @@ AC_DEFUN(AC_STEPMAKE_YODL, [ AC_SUBST(YODL2TXT) export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2TEXINFO YODL2TXT fi + if test "x$YODL" = "-echo no yodl"; then + AC_STEPMAKE_WARN(Did not find YODL (Yodl is Yet Oneother Document Language, see http://www.cs.uu.nl/~hanwen/yodl)) + fi ]) dnl should cache result. diff --git a/config.make.in b/config.make.in index 9aecaf66f2..25bfe5945a 100644 --- a/config.make.in +++ b/config.make.in @@ -38,6 +38,7 @@ DEFS = @DEFS@ DEFINES = @DEFS@ @DEFINES@ COMPILEINFO = @COMPILEINFO@ DOTEXE = @DOTEXE@ +INSTALL = @INSTALL@ BASH = @BASH@ BISON = @BISON@ FIND = @FIND@ diff --git a/configure b/configure index 2dd916582d..493ae9c0e3 100755 --- a/configure +++ b/configure @@ -878,13 +878,16 @@ fi LN=cp # hard link does not work under cygnus-nt (yet?) ZIP="zip -r -9" # DOTEXE=.exe + INSTALL="\$(stepdir)/../bin/install-dot-exe.sh -c" else LN=ln ZIP="zip -r -9" + INSTALL="\$(stepdir)/../bin/install-sh -c" fi + if test "$datadir" = "\${prefix}/share"; then @@ -1002,7 +1005,7 @@ EOF # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1006: checking for $ac_word" >&5 +echo "configure:1009: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1031,7 +1034,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1035: checking for $ac_word" >&5 +echo "configure:1038: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1079,7 +1082,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1083: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1086: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1089,11 +1092,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1113,12 +1116,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1117: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1120: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1122: checking whether we are using GNU C" >&5 +echo "configure:1125: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1127,7 +1130,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1131: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1134: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1142,7 +1145,7 @@ if test $ac_cv_prog_gcc = yes; then ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1146: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1149: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1199,7 +1202,7 @@ EOF fi echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 -echo "configure:1203: checking how to run the C++ preprocessor" >&5 +echo "configure:1206: checking how to run the C++ preprocessor" >&5 if test -z "$CXXCPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1212,12 +1215,12 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L cross_compiling=$ac_cv_prog_cxx_cross CXXCPP="${CXX-g++} -E" cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1221: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1248,7 +1251,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1252: checking for $ac_word" >&5 +echo "configure:1255: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1279,7 +1282,7 @@ test -n "$CXX" || CXX="gcc" echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1283: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 +echo "configure:1286: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1289,11 +1292,11 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cxx_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1313,12 +1316,12 @@ if test $ac_cv_prog_cxx_works = no; then { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1317: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1320: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6 cross_compiling=$ac_cv_prog_cxx_cross echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 -echo "configure:1322: checking whether we are using GNU C++" >&5 +echo "configure:1325: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1327,7 +1330,7 @@ else yes; #endif EOF -if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1331: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no @@ -1342,7 +1345,7 @@ if test $ac_cv_prog_gxx = yes; then ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 -echo "configure:1346: checking whether ${CXX-g++} accepts -g" >&5 +echo "configure:1349: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1372,17 +1375,17 @@ fi ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6 -echo "configure:1376: checking for FlexLexer.h" >&5 +echo "configure:1379: checking for FlexLexer.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1386: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1431,12 +1434,12 @@ fi echo $ac_n "checking whether explicit instantiation is needed""... $ac_c" 1>&6 -echo "configure:1435: checking whether explicit instantiation is needed" >&5 +echo "configure:1438: checking whether explicit instantiation is needed" >&5 if eval "test \"`echo '$''{'lily_cv_need_explicit_instantiation'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < struct foo { static int baz; }; @@ -1446,7 +1449,7 @@ int main() { return foo::baz; ; return 0; } EOF -if { (eval echo configure:1450: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* lily_cv_need_explicit_instantiation=no else @@ -1473,7 +1476,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1477: checking for $ac_word" >&5 +echo "configure:1480: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1515,7 +1518,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1519: checking for $ac_word" >&5 +echo "configure:1522: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1549,7 +1552,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1553: checking for $ac_word" >&5 +echo "configure:1556: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1616,7 +1619,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1620: checking for $ac_word" >&5 +echo "configure:1623: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1648,7 +1651,7 @@ test -n "$AR" || AR="error" # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1652: checking for $ac_word" >&5 +echo "configure:1655: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1703,7 +1706,7 @@ fi echo $ac_n "checking language""... $ac_c" 1>&6 -echo "configure:1707: checking language" >&5 +echo "configure:1710: checking language" >&5 case "$language" in En* | en* | Am* | am* | US* | us*) lang=English;; @@ -1739,7 +1742,7 @@ EOF echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6 -echo "configure:1743: checking for gettext in -lintl" >&5 +echo "configure:1746: checking for gettext in -lintl" >&5 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1747,7 +1750,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1791,12 +1794,12 @@ fi for ac_func in gettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1795: checking for $ac_func" >&5 +echo "configure:1798: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1829: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1848,12 +1851,13 @@ done + # AC_CHECK_PROGS(MSGFMT, msgfmt, -echo no msgfmt) for ac_prog in msgfmt do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1857: checking for $ac_word" >&5 +echo "configure:1861: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1880,21 +1884,27 @@ fi test -n "$MSGFMT" && break done -test -n "$MSGFMT" || MSGFMT="-echo no msgfmt" +test -n "$MSGFMT" || MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh" echo $ac_n "checking whether msgfmt accepts -o""... $ac_c" 1>&6 -echo "configure:1887: checking whether msgfmt accepts -o" >&5 +echo "configure:1891: checking whether msgfmt accepts -o" >&5 msgfmt_output="`msgfmt -o bla 2>&1 | grep usage`" if test "$msgfmt_output" = ""; then echo "$ac_t""yes" 1>&6 else # urg - MSGFMT="touch ; echo " + MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh)" echo "$ac_t""no" 1>&6 echo "configure: warning: please install msgfmt from GNU gettext" 1>&2 warn_b=yes + fi + if test ! -n "$MSGFMT"; then + + echo "configure: warning: please install msgfmt from GNU gettext" 1>&2 + warn_b=yes + fi @@ -1930,7 +1940,7 @@ fi echo $ac_n "checking TeX/MF root dir directory""... $ac_c" 1>&6 -echo "configure:1934: checking TeX/MF root dir directory" >&5 +echo "configure:1944: checking TeX/MF root dir directory" >&5 find_root_prefix="$prefix" @@ -1971,7 +1981,7 @@ echo "configure:1934: checking TeX/MF root dir directory" >&5 echo $ac_n "checking MF input directory""... $ac_c" 1>&6 -echo "configure:1975: checking MF input directory" >&5 +echo "configure:1985: checking MF input directory" >&5 find_dirdir=`(cd $find_texprefix; $FIND ./ -type d -a -name source -print |sort|head -1|sed 's#^\./##')` @@ -1996,7 +2006,7 @@ echo "configure:1975: checking MF input directory" >&5 echo $ac_n "checking TeX input directory""... $ac_c" 1>&6 -echo "configure:2000: checking TeX input directory" >&5 +echo "configure:2010: checking TeX input directory" >&5 find_dirdir=`(cd $find_texprefix; $FIND ./ -type d -a -name tex -print |sort|head -1|sed 's#^\./##')` @@ -2027,7 +2037,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2031: checking for $ac_word" >&5 +echo "configure:2041: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2061,7 +2071,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2065: checking for $ac_word" >&5 +echo "configure:2075: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2HTML'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2095,7 +2105,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2099: checking for $ac_word" >&5 +echo "configure:2109: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2LATEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2128,7 +2138,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2132: checking for $ac_word" >&5 +echo "configure:2142: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MAN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2162,7 +2172,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2166: checking for $ac_word" >&5 +echo "configure:2176: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2196,7 +2206,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2200: checking for $ac_word" >&5 +echo "configure:2210: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2234,6 +2244,12 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl" export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2TEXINFO YODL2TXT fi + if test "x$YODL" = "-echo no yodl"; then + + echo "configure: warning: Did not find YODL (Yodl is Yet Oneother Document Language, see http://www.cs.uu.nl/~hanwen/yodl)" 1>&2 + warn_b=yes + + fi @@ -2248,7 +2264,7 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl" echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 -echo "configure:2252: checking for 8-bit clean memcmp" >&5 +echo "configure:2268: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2256,7 +2272,7 @@ else ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else @@ -2287,12 +2303,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o" echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:2291: checking for vprintf" >&5 +echo "configure:2307: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2338: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -2342,12 +2358,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:2346: checking for _doprnt" >&5 +echo "configure:2362: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -2400,12 +2416,12 @@ fi for ac_func in memmem snprintf vsnprintf gettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2404: checking for $ac_func" >&5 +echo "configure:2420: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2470,7 +2486,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2474: checking for $ac_word" >&5 +echo "configure:2490: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2661,6 +2677,7 @@ s%@PYTHON@%$PYTHON%g s%@DOTEXE@%$DOTEXE%g s%@ZIP@%$ZIP%g s%@LN@%$LN%g +s%@INSTALL@%$INSTALL%g s%@DIR_DATADIR@%$DIR_DATADIR%g s%@subdirs@%$subdirs%g s%@CC@%$CC%g diff --git a/flower/include/scalar.hh b/flower/include/scalar.hh index a963a2fb2a..8f442d9041 100644 --- a/flower/include/scalar.hh +++ b/flower/include/scalar.hh @@ -12,7 +12,6 @@ #include "string.hh" #include "real.hh" -#include "matrix.hh" /// Perl -like scalar type. struct Scalar : public String @@ -34,8 +33,8 @@ struct Scalar : public String urg, these are bit silly; perhaps should make "Print_string" class (derive from Scalar?) */ - Scalar (Vector v) { *this = v.str (); } - Scalar (Matrix m) { *this = m.str (); } + Scalar (Vector const &v); + Scalar (Matrix const &m); /** perl -like string to bool conversion. */ diff --git a/flower/scalar.cc b/flower/scalar.cc index c1f69eda60..7008880ccc 100644 --- a/flower/scalar.cc +++ b/flower/scalar.cc @@ -10,6 +10,7 @@ #include #include "scalar.hh" #include "rational.hh" +#include "matrix.hh" Scalar::Scalar (Rational r) { @@ -72,3 +73,13 @@ Scalar::to_bool () const return false; return true; } + +Scalar::Scalar(Matrix const &m) +{ + *this = m.str (); +} + +Scalar::Scalar (Vector const &v) +{ + *this = v.str (); +} diff --git a/input/Makefile b/input/Makefile index b557d18d4b..1919c9e343 100644 --- a/input/Makefile +++ b/input/Makefile @@ -12,3 +12,6 @@ flexamples=example-1 example-2 include $(stepdir)/WWW.make + +local-check: $(addsuffix .dvi, $(addprefix $(outdir)/, $(examples))) + diff --git a/lily/VERSION b/lily/VERSION index b79339f1e0..36dc14b269 100644 --- a/lily/VERSION +++ b/lily/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=0 -PATCH_LEVEL=1 -MY_PATCH_LEVEL=jcn2 +PATCH_LEVEL=2 +MY_PATCH_LEVEL= # use the above to send patches, always empty for released version: # please don't move these comments up; the patch should fail if diff --git a/lily/text-def.cc b/lily/text-def.cc index faf0dae1c4..b0dbaf5611 100644 --- a/lily/text-def.cc +++ b/lily/text-def.cc @@ -26,6 +26,9 @@ Text_def::width (Paper_def * p) const { Atom a = get_atom (p,CENTER); + /* TODO: check string for \texcommand + */ + Real guess_width_f = text_str_.length_i() * a.dim_.x ().length (); // ugh Interval i (0, guess_width_f); i += - (align_dir_ + 1)* i.center(); diff --git a/make/STATE-VECTOR b/make/STATE-VECTOR index a546effdaa..0ed7c75c4e 100644 --- a/make/STATE-VECTOR +++ b/make/STATE-VECTOR @@ -58,5 +58,7 @@ 1.0.0.hwn1 1.0.0.hwn2 1.0.1 -1.0.1.jcn1 +1.0.1.jbr1 1.0.1.jcn2 +1.0.1.jbr2 +1.0.2 diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index 7bf75efad3..6261f091c4 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,7 +1,7 @@ Begin3 Titel: LilyPond -Versie: 1.0.1 -Inschrijf datum: 10AUG98 +Versie: 1.0.2 +Inschrijf datum: 13AUG98 Beschrijving: LilyPond is de muziekzetter van het GNU Project. Dit programma drukt prachtige bladmuziek volgens een muzikaal definitie bestand. Ook kan @@ -15,8 +15,8 @@ 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 - 610k lilypond-1.0.1.tar.gz + 610k lilypond-1.0.2.tar.gz Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/ - 610k lilypond-1.0.1.tar.gz + 610k lilypond-1.0.2.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 72bc7aa147..43dcdc13b7 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.0.1 -Entered-date: 10AUG98 +Version: 1.0.2 +Entered-date: 13AUG98 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 - 730k lilypond-1.0.1.tar.gz + 730k lilypond-1.0.2.tar.gz Original-site: pcnov095.win.tue.nl /pub/lilypond/development/ - 730k lilypond-1.0.1.tar.gz + 730k lilypond-1.0.2.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index e55a3909fc..fbb5522752 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.0.1 +Version: 1.0.2 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-1.0.1.tar.gz +Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-1.0.2.tar.gz Summary: A program for typesetting music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/make/out/zlilypond-docs.spec b/make/out/zlilypond-docs.spec index 09ba175731..1757826f70 100644 --- a/make/out/zlilypond-docs.spec +++ b/make/out/zlilypond-docs.spec @@ -4,11 +4,11 @@ # Name: lilypond-docs -Version: 1.0.1 +Version: 1.0.2 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-1.0.1.tar.gz +Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-1.0.2.tar.gz Summary: A program for typesetting music (documentation) URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys @@ -29,7 +29,7 @@ a nice font of musical symbols. This package contains the documentation in HTML and PS format. %prep -%setup -T -n lilypond-1.0.1 -b0 +%setup -T -n lilypond-1.0.2 -b0 %build # @@ -42,11 +42,11 @@ make htmldocs %install # ln /home/hanwen/usr/src/lilypond/out/htmldoc.tar.gz out/ -mkdir -p $RPM_BUILD_ROOT/usr/doc/lilypond-1.0.1 -tar -C $RPM_BUILD_ROOT/usr/doc/lilypond-1.0.1 -xzf out/htmldoc.tar.gz +mkdir -p $RPM_BUILD_ROOT/usr/doc/lilypond-1.0.2 +tar -C $RPM_BUILD_ROOT/usr/doc/lilypond-1.0.2 -xzf out/htmldoc.tar.gz %files -%doc /usr/doc/lilypond-1.0.1 +%doc /usr/doc/lilypond-1.0.2 %post diff --git a/mf/Makefile b/mf/Makefile index 42c18fec88..407ce8ea27 100644 --- a/mf/Makefile +++ b/mf/Makefile @@ -14,7 +14,11 @@ LYTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.ly)) LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log)) TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex)) AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm)) + ALL_GEN_FILES=$(LYTABLES) $(TEXTABLES) $(LOG_FILES) $(AFM_FILES) + +OUT_DIST_FILES += $(AFM_FILES) + default: $(ALL_GEN_FILES) diff --git a/mf/out/feta11.afm b/mf/out/feta11.afm new file mode 100644 index 0000000000..cc6148945b --- /dev/null +++ b/mf/out/feta11.afm @@ -0,0 +1,76 @@ +FontName feta +StartFontMetrics +StartCharMetrics +C 0; N rests-0; B 0.00 -1718.75 4125.00 0.00 ; +C 1; N rests-1; B 0.00 0.00 4125.00 1718.75 ; +C 2; N rests-0o; B -1718.75 -1718.75 5843.75 275.02 ; +C 3; N rests-1o; B -1718.75 -275.02 5843.75 1718.75 ; +C 4; N rests--1; B 0.00 0.00 1650.00 2750.00 ; +C 5; N rests--2; B 0.00 -2750.00 1650.00 2750.00 ; +C 6; N rests-2; B 0.00 2062.50 2970.00 9900.02 ; +C 7; N rests-3; B 0.00 2750.00 3666.66 7814.64 ; +C 8; N rests-4; B 0.00 0.00 4266.33 7814.64 ; +C 9; N rests-5; B 0.00 0.00 4813.96 10564.64 ; +C 10; N rests-6; B 0.00 0.00 5161.70 13314.64 ; +C 11; N rests-7; B 0.00 0.00 5746.25 16064.64 ; +C 12; N accidentals-1; B 0.00 -4125.00 3025.02 4125.00 ; +C 13; N accidentals-0; B 0.00 -4125.00 1833.33 4125.00 ; +C 14; N accidentals--1; B -330.03 -1375.00 2200.01 5500.00 ; +C 15; N accidentals--2; B -330.03 -1375.00 3987.49 5500.00 ; +C 16; N accidentals-2; B 0.00 -1375.00 2750.00 1375.00 ; +C 17; N dots-dot; B 0.00 -618.74 1237.49 618.74 ; +C 18; N dots-repeatcolon; B 0.00 -1375.00 1237.49 1375.00 ; +C 19; N balls--1; B 0.00 -1512.51 5500.00 1512.51 ; +C 20; N balls--1l; B -1375.00 -275.02 6875.00 275.02 ; +C 21; N balls--2; B 0.00 -1512.51 5500.00 1512.51 ; +C 22; N balls--2l; B -1375.00 -275.02 6875.00 275.02 ; +C 23; N balls-0; B 0.00 -1512.51 5445.07 1512.51 ; +C 24; N balls-0l; B -1361.27 -275.02 6806.34 275.02 ; +C 25; N balls-1; B 0.00 -1512.51 3788.07 1512.51 ; +C 26; N balls-1l; B -947.02 -275.02 4735.09 275.02 ; +C 27; N balls-2; B 0.00 -1512.51 3632.84 1512.51 ; +C 28; N balls-2l; B -908.22 -275.02 4541.06 275.02 ; +C 29; N scripts-ufermata; B -3643.77 -206.27 3643.77 3987.55 ; +C 30; N scripts-dfermata; B -3643.77 -3987.55 3643.77 206.27 ; +C 31; N scripts-sforzato; B -2474.99 -1375.00 2474.99 1375.00 ; +C 32; N scripts-staccato; B -412.54 -412.54 412.54 412.54 ; +C 33; N scripts-ustaccatissimo; B -550.05 -200.00 550.05 2750.06 ; +C 34; N scripts-dstaccatissimo; B -550.05 -2750.06 550.05 200.00 ; +C 35; N scripts-tenuto; B -1650.02 -192.52 1650.02 192.52 ; +C 36; N scripts-umarcato; B -1375.00 0.00 1375.00 3025.02 ; +C 37; N scripts-dmarcato; B -1375.00 -3025.02 1375.00 0.00 ; +C 38; N scripts-open; B -1100.00 -1375.00 1100.00 1375.00 ; +C 39; N scripts-stopped; B -1512.51 -1512.51 1512.51 1512.51 ; +C 40; N scripts-upbow; B -1787.50 0.00 1787.50 5720.05 ; +C 41; N scripts-downbow; B -2062.50 0.00 2062.50 3666.66 ; +C 42; N scripts-reverseturn; B -3007.81 -1455.89 3007.81 1455.89 ; +C 43; N scripts-turn; B -3007.81 -1455.89 3007.81 1455.89 ; +C 44; N scripts-trill; B -2750.00 0.00 2750.00 6187.50 ; +C 45; N scripts-upedalheel; B -1375.00 -1375.00 1375.00 1833.33 ; +C 46; N scripts-dpedalheel; B -1375.00 -1833.33 1375.00 1375.00 ; +C 47; N scripts-upedaltoe; B -1375.00 0.00 1375.00 4125.00 ; +C 48; N scripts-dpedaltoe; B -1375.00 -4125.00 1375.00 0.00 ; +C 49; N scripts-flageolet; B -1466.67 -1466.67 1466.67 1466.67 ; +C 50; N scripts-trilelement; B -1833.33 -1375.00 718.64 1375.00 ; +C 51; N scripts-prall; B -3109.31 -1375.00 3109.31 1375.00 ; +C 52; N scripts-mordent; B -3109.31 -1375.00 3109.31 1375.00 ; +C 53; N scripts-prallprall; B -4385.30 -1375.00 4385.30 1375.00 ; +C 54; N scripts-prallmordent; B -4385.30 -1375.00 4385.30 1375.00 ; +C 55; N scripts-upprall; B -4385.30 -1375.00 4385.30 1375.00 ; +C 56; N scripts-downprall; B -4385.30 -1375.00 4385.30 1375.00 ; +C 57; N flags-u3; B -137.51 -8428.77 3393.31 137.51 ; +C 58; N flags-u4; B -137.51 -9803.77 3393.31 137.51 ; +C 59; N flags-u5; B -137.51 -11866.27 3393.31 137.51 ; +C 60; N flags-u6; B -137.51 -14616.27 3393.31 137.51 ; +C 61; N flags-d3; B -137.51 -137.51 3755.11 8016.30 ; +C 62; N flags-d4; B -137.51 -137.51 3755.11 8428.77 ; +C 63; N flags-d5; B -137.51 -137.51 3755.11 10766.30 ; +C 64; N flags-d6; B -137.51 -137.51 3755.11 12141.30 ; +C 65; N clefs-alto; B -2750.00 -5500.00 10236.10 5500.00 ; +C 66; N clefs-alto_change; B -2200.01 -4400.02 8188.93 4400.02 ; +C 67; N clefs-bass; B -1375.00 -6875.00 9900.02 2750.00 ; +C 68; N clefs-bass_change; B -1100.02 -5500.03 7920.04 2200.01 ; +C 69; N clefs-violin; B -2396.44 -8250.00 10277.13 13750.00 ; +C 70; N clefs-violin_change; B -2082.15 -6600.04 8056.75 11000.06 ; +EndCharMetrics +EndFontMetrics diff --git a/mf/out/feta13.afm b/mf/out/feta13.afm new file mode 100644 index 0000000000..b122ce708f --- /dev/null +++ b/mf/out/feta13.afm @@ -0,0 +1,76 @@ +FontName feta +StartFontMetrics +StartCharMetrics +C 0; N rests-0; B 0.00 -2031.25 4875.00 0.00 ; +C 1; N rests-1; B 0.00 0.00 4875.00 2031.25 ; +C 2; N rests-0o; B -2031.25 -2031.25 6906.25 325.03 ; +C 3; N rests-1o; B -2031.25 -325.03 6906.25 2031.25 ; +C 4; N rests--1; B 0.00 0.00 1950.00 3250.00 ; +C 5; N rests--2; B 0.00 -3250.00 1950.00 3250.00 ; +C 6; N rests-2; B 0.00 2437.50 3510.01 11700.03 ; +C 7; N rests-3; B 0.00 3250.00 4333.31 9235.49 ; +C 8; N rests-4; B 0.00 0.00 5042.04 9235.49 ; +C 9; N rests-5; B 0.00 0.00 5689.25 12485.49 ; +C 10; N rests-6; B 0.00 0.00 6100.20 15735.49 ; +C 11; N rests-7; B 0.00 0.00 6791.03 18985.49 ; +C 12; N accidentals-1; B 0.00 -4875.00 3575.03 4875.00 ; +C 13; N accidentals-0; B 0.00 -4875.00 2166.67 4875.00 ; +C 14; N accidentals--1; B -390.03 -1625.00 2600.00 6500.00 ; +C 15; N accidentals--2; B -390.03 -1625.00 4712.50 6500.00 ; +C 16; N accidentals-2; B 0.00 -1625.00 3250.00 1625.00 ; +C 17; N dots-dot; B 0.00 -731.25 1462.50 731.25 ; +C 18; N dots-repeatcolon; B 0.00 -1625.00 1462.50 1625.00 ; +C 19; N balls--1; B 0.00 -1787.52 6500.00 1787.52 ; +C 20; N balls--1l; B -1625.00 -325.03 8125.00 325.03 ; +C 21; N balls--2; B 0.00 -1787.52 6500.00 1787.52 ; +C 22; N balls--2l; B -1625.00 -325.03 8125.00 325.03 ; +C 23; N balls-0; B 0.00 -1787.52 6435.09 1787.52 ; +C 24; N balls-0l; B -1608.78 -325.03 8043.87 325.03 ; +C 25; N balls-1; B 0.00 -1787.52 4476.79 1787.52 ; +C 26; N balls-1l; B -1119.20 -325.03 5596.00 325.03 ; +C 27; N balls-2; B 0.00 -1787.52 4293.33 1787.52 ; +C 28; N balls-2l; B -1073.33 -325.03 5366.67 325.03 ; +C 29; N scripts-ufermata; B -4306.27 -243.77 4306.27 4712.55 ; +C 30; N scripts-dfermata; B -4306.27 -4712.55 4306.27 243.77 ; +C 31; N scripts-sforzato; B -2924.99 -1625.00 2924.99 1625.00 ; +C 32; N scripts-staccato; B -487.55 -487.55 487.55 487.55 ; +C 33; N scripts-ustaccatissimo; B -650.05 -200.00 650.05 3250.06 ; +C 34; N scripts-dstaccatissimo; B -650.05 -3250.06 650.05 200.00 ; +C 35; N scripts-tenuto; B -1950.03 -227.52 1950.03 227.52 ; +C 36; N scripts-umarcato; B -1625.00 0.00 1625.00 3575.03 ; +C 37; N scripts-dmarcato; B -1625.00 -3575.03 1625.00 0.00 ; +C 38; N scripts-open; B -1300.00 -1625.00 1300.00 1625.00 ; +C 39; N scripts-stopped; B -1787.52 -1787.52 1787.52 1787.52 ; +C 40; N scripts-upbow; B -2112.50 0.00 2112.50 6760.04 ; +C 41; N scripts-downbow; B -2437.50 0.00 2437.50 4333.31 ; +C 42; N scripts-reverseturn; B -3554.69 -1720.60 3554.69 1720.60 ; +C 43; N scripts-turn; B -3554.69 -1720.60 3554.69 1720.60 ; +C 44; N scripts-trill; B -3250.00 0.00 3250.00 7312.50 ; +C 45; N scripts-upedalheel; B -1625.00 -1625.00 1625.00 2166.67 ; +C 46; N scripts-dpedalheel; B -1625.00 -2166.67 1625.00 1625.00 ; +C 47; N scripts-upedaltoe; B -1625.00 0.00 1625.00 4875.00 ; +C 48; N scripts-dpedaltoe; B -1625.00 -4875.00 1625.00 0.00 ; +C 49; N scripts-flageolet; B -1733.34 -1733.34 1733.34 1733.34 ; +C 50; N scripts-trilelement; B -2166.67 -1625.00 849.30 1625.00 ; +C 51; N scripts-prall; B -3674.65 -1625.00 3674.65 1625.00 ; +C 52; N scripts-mordent; B -3674.65 -1625.00 3674.65 1625.00 ; +C 53; N scripts-prallprall; B -5182.63 -1625.00 5182.63 1625.00 ; +C 54; N scripts-prallmordent; B -5182.63 -1625.00 5182.63 1625.00 ; +C 55; N scripts-upprall; B -5182.63 -1625.00 5182.63 1625.00 ; +C 56; N scripts-downprall; B -5182.63 -1625.00 5182.63 1625.00 ; +C 57; N flags-u3; B -162.52 -9961.27 4010.27 162.52 ; +C 58; N flags-u4; B -162.52 -11586.27 4010.27 162.52 ; +C 59; N flags-u5; B -162.52 -14023.77 4010.27 162.52 ; +C 60; N flags-u6; B -162.52 -17273.77 4010.27 162.52 ; +C 61; N flags-d3; B -162.52 -162.52 4437.84 9473.80 ; +C 62; N flags-d4; B -162.52 -162.52 4437.84 9961.27 ; +C 63; N flags-d5; B -162.52 -162.52 4437.84 12723.80 ; +C 64; N flags-d6; B -162.52 -162.52 4437.84 14348.80 ; +C 65; N clefs-alto; B -3250.00 -6500.00 12097.24 6500.00 ; +C 66; N clefs-alto_change; B -2600.00 -5200.01 9677.81 5200.01 ; +C 67; N clefs-bass; B -1625.00 -8125.00 11700.03 3250.00 ; +C 68; N clefs-bass_change; B -1300.02 -6500.02 9360.02 2600.00 ; +C 69; N clefs-violin; B -2832.14 -9750.00 12145.70 16250.00 ; +C 70; N clefs-violin_change; B -2460.72 -7800.02 9521.58 13000.03 ; +EndCharMetrics +EndFontMetrics diff --git a/mf/out/feta16.afm b/mf/out/feta16.afm new file mode 100644 index 0000000000..d4f7310b93 --- /dev/null +++ b/mf/out/feta16.afm @@ -0,0 +1,76 @@ +FontName feta +StartFontMetrics +StartCharMetrics +C 0; N rests-0; B 0.00 -2500.00 6000.00 0.00 ; +C 1; N rests-1; B 0.00 0.00 6000.00 2500.00 ; +C 2; N rests-0o; B -2500.00 -2500.00 8500.00 400.02 ; +C 3; N rests-1o; B -2500.00 -400.02 8500.00 2500.00 ; +C 4; N rests--1; B 0.00 0.00 2400.00 4000.00 ; +C 5; N rests--2; B 0.00 -4000.00 2400.00 4000.00 ; +C 6; N rests-2; B 0.00 3000.00 4320.00 14400.02 ; +C 7; N rests-3; B 0.00 4000.00 5333.31 11366.73 ; +C 8; N rests-4; B 0.00 0.00 6205.57 11366.73 ; +C 9; N rests-5; B 0.00 0.00 7002.14 15366.73 ; +C 10; N rests-6; B 0.00 0.00 7507.93 19366.73 ; +C 11; N rests-7; B 0.00 0.00 8358.18 23366.73 ; +C 12; N accidentals-1; B 0.00 -6000.00 4400.02 6000.00 ; +C 13; N accidentals-0; B 0.00 -6000.00 2666.67 6000.00 ; +C 14; N accidentals--1; B -480.03 -2000.00 3200.01 8000.00 ; +C 15; N accidentals--2; B -480.03 -2000.00 5799.99 8000.00 ; +C 16; N accidentals-2; B 0.00 -2000.00 4000.00 2000.00 ; +C 17; N dots-dot; B 0.00 -900.00 1799.99 900.00 ; +C 18; N dots-repeatcolon; B 0.00 -2000.00 1799.99 2000.00 ; +C 19; N balls--1; B 0.00 -2200.01 8000.00 2200.01 ; +C 20; N balls--1l; B -2000.00 -400.02 10000.00 400.02 ; +C 21; N balls--2; B 0.00 -2200.01 8000.00 2200.01 ; +C 22; N balls--2l; B -2000.00 -400.02 10000.00 400.02 ; +C 23; N balls-0; B 0.00 -2200.01 7920.04 2200.01 ; +C 24; N balls-0l; B -1980.01 -400.02 9900.05 400.02 ; +C 25; N balls-1; B 0.00 -2200.01 5509.86 2200.01 ; +C 26; N balls-1l; B -1377.47 -400.02 6887.33 400.02 ; +C 27; N balls-2; B 0.00 -2200.01 5284.09 2200.01 ; +C 28; N balls-2l; B -1321.03 -400.02 6605.12 400.02 ; +C 29; N scripts-ufermata; B -5300.02 -300.02 5300.02 5800.05 ; +C 30; N scripts-dfermata; B -5300.02 -5800.05 5300.02 300.02 ; +C 31; N scripts-sforzato; B -3599.98 -2000.00 3599.98 2000.00 ; +C 32; N scripts-staccato; B -600.04 -600.04 600.04 600.04 ; +C 33; N scripts-ustaccatissimo; B -800.05 -200.00 800.05 4000.06 ; +C 34; N scripts-dstaccatissimo; B -800.05 -4000.06 800.05 200.00 ; +C 35; N scripts-tenuto; B -2400.02 -280.01 2400.02 280.01 ; +C 36; N scripts-umarcato; B -2000.00 0.00 2000.00 4400.02 ; +C 37; N scripts-dmarcato; B -2000.00 -4400.02 2000.00 0.00 ; +C 38; N scripts-open; B -1600.00 -2000.00 1600.00 2000.00 ; +C 39; N scripts-stopped; B -2200.01 -2200.01 2200.01 2200.01 ; +C 40; N scripts-upbow; B -2600.00 0.00 2600.00 8320.05 ; +C 41; N scripts-downbow; B -3000.00 0.00 3000.00 5333.31 ; +C 42; N scripts-reverseturn; B -4375.00 -2117.65 4375.00 2117.65 ; +C 43; N scripts-turn; B -4375.00 -2117.65 4375.00 2117.65 ; +C 44; N scripts-trill; B -4000.00 0.00 4000.00 9000.00 ; +C 45; N scripts-upedalheel; B -2000.00 -2000.00 2000.00 2666.67 ; +C 46; N scripts-dpedalheel; B -2000.00 -2666.67 2000.00 2000.00 ; +C 47; N scripts-upedaltoe; B -2000.00 0.00 2000.00 6000.00 ; +C 48; N scripts-dpedaltoe; B -2000.00 -6000.00 2000.00 0.00 ; +C 49; N scripts-flageolet; B -2133.33 -2133.33 2133.33 2133.33 ; +C 50; N scripts-trilelement; B -2666.67 -2000.00 1045.30 2000.00 ; +C 51; N scripts-prall; B -4522.66 -2000.00 4522.66 2000.00 ; +C 52; N scripts-mordent; B -4522.66 -2000.00 4522.66 2000.00 ; +C 53; N scripts-prallprall; B -6378.65 -2000.00 6378.65 2000.00 ; +C 54; N scripts-prallmordent; B -6378.65 -2000.00 6378.65 2000.00 ; +C 55; N scripts-upprall; B -6378.65 -2000.00 6378.65 2000.00 ; +C 56; N scripts-downprall; B -6378.65 -2000.00 6378.65 2000.00 ; +C 57; N flags-u3; B -200.01 -12260.03 4935.68 200.01 ; +C 58; N flags-u4; B -200.01 -14260.03 4935.68 200.01 ; +C 59; N flags-u5; B -200.01 -17260.03 4935.68 200.01 ; +C 60; N flags-u6; B -200.01 -21260.03 4935.68 200.01 ; +C 61; N flags-d3; B -200.01 -200.01 5461.91 11660.05 ; +C 62; N flags-d4; B -200.01 -200.01 5461.91 12260.03 ; +C 63; N flags-d5; B -200.01 -200.01 5461.91 15660.05 ; +C 64; N flags-d6; B -200.01 -200.01 5461.91 17660.05 ; +C 65; N clefs-alto; B -4000.00 -8000.00 14888.90 8000.00 ; +C 66; N clefs-alto_change; B -3200.01 -6400.02 11911.18 6400.02 ; +C 67; N clefs-bass; B -2000.00 -10000.00 14400.02 4000.00 ; +C 68; N clefs-bass_change; B -1600.04 -8000.03 11520.03 3200.01 ; +C 69; N clefs-violin; B -3485.72 -12000.00 14948.55 20000.00 ; +C 70; N clefs-violin_change; B -3028.58 -9600.04 11718.89 16000.06 ; +EndCharMetrics +EndFontMetrics diff --git a/mf/out/feta19.afm b/mf/out/feta19.afm new file mode 100644 index 0000000000..34cfa44722 --- /dev/null +++ b/mf/out/feta19.afm @@ -0,0 +1,76 @@ +FontName feta +StartFontMetrics +StartCharMetrics +C 0; N rests-0; B 0.00 -2968.75 7125.00 0.00 ; +C 1; N rests-1; B 0.00 0.00 7125.00 2968.75 ; +C 2; N rests-0o; B -2968.75 -2968.75 10093.75 475.04 ; +C 3; N rests-1o; B -2968.75 -475.04 10093.75 2968.75 ; +C 4; N rests--1; B 0.00 0.00 2850.00 4750.00 ; +C 5; N rests--2; B 0.00 -4750.00 2850.00 4750.00 ; +C 6; N rests-2; B 0.00 3562.50 5130.00 17100.04 ; +C 7; N rests-3; B 0.00 4750.00 6333.31 13498.00 ; +C 8; N rests-4; B 0.00 0.00 7369.11 13498.00 ; +C 9; N rests-5; B 0.00 0.00 8315.05 18248.00 ; +C 10; N rests-6; B 0.00 0.00 8915.66 22998.00 ; +C 11; N rests-7; B 0.00 0.00 9925.34 27748.00 ; +C 12; N accidentals-1; B 0.00 -7125.00 5225.04 7125.00 ; +C 13; N accidentals-0; B 0.00 -7125.00 3166.67 7125.00 ; +C 14; N accidentals--1; B -570.04 -2375.00 3800.02 9500.00 ; +C 15; N accidentals--2; B -570.04 -2375.00 6887.48 9500.00 ; +C 16; N accidentals-2; B 0.00 -2375.00 4750.00 2375.00 ; +C 17; N dots-dot; B 0.00 -1068.74 2137.48 1068.74 ; +C 18; N dots-repeatcolon; B 0.00 -2375.00 2137.48 2375.00 ; +C 19; N balls--1; B 0.00 -2612.52 9500.00 2612.52 ; +C 20; N balls--1l; B -2375.00 -475.04 11875.00 475.04 ; +C 21; N balls--2; B 0.00 -2612.52 9500.00 2612.52 ; +C 22; N balls--2l; B -2375.00 -475.04 11875.00 475.04 ; +C 23; N balls-0; B 0.00 -2612.52 9405.09 2612.52 ; +C 24; N balls-0l; B -2351.27 -475.04 11756.36 475.04 ; +C 25; N balls-1; B 0.00 -2612.52 6543.00 2612.52 ; +C 26; N balls-1l; B -1635.76 -475.04 8178.76 475.04 ; +C 27; N balls-2; B 0.00 -2612.52 6274.89 2612.52 ; +C 28; N balls-2l; B -1568.73 -475.04 7843.61 475.04 ; +C 29; N scripts-ufermata; B -6293.78 -356.28 6293.78 6887.57 ; +C 30; N scripts-dfermata; B -6293.78 -6887.57 6293.78 356.28 ; +C 31; N scripts-sforzato; B -4274.98 -2375.00 4274.98 2375.00 ; +C 32; N scripts-staccato; B -712.55 -712.55 712.55 712.55 ; +C 33; N scripts-ustaccatissimo; B -950.07 -200.00 950.07 4750.09 ; +C 34; N scripts-dstaccatissimo; B -950.07 -4750.09 950.07 200.00 ; +C 35; N scripts-tenuto; B -2850.04 -332.53 2850.04 332.53 ; +C 36; N scripts-umarcato; B -2375.00 0.00 2375.00 5225.04 ; +C 37; N scripts-dmarcato; B -2375.00 -5225.04 2375.00 0.00 ; +C 38; N scripts-open; B -1900.01 -2375.00 1900.01 2375.00 ; +C 39; N scripts-stopped; B -2612.52 -2612.52 2612.52 2612.52 ; +C 40; N scripts-upbow; B -3087.51 0.00 3087.51 9880.07 ; +C 41; N scripts-downbow; B -3562.50 0.00 3562.50 6333.31 ; +C 42; N scripts-reverseturn; B -5195.31 -2514.71 5195.31 2514.71 ; +C 43; N scripts-turn; B -5195.31 -2514.71 5195.31 2514.71 ; +C 44; N scripts-trill; B -4750.00 0.00 4750.00 10687.50 ; +C 45; N scripts-upedalheel; B -2375.00 -2375.00 2375.00 3166.67 ; +C 46; N scripts-dpedalheel; B -2375.00 -3166.67 2375.00 2375.00 ; +C 47; N scripts-upedaltoe; B -2375.00 0.00 2375.00 7125.00 ; +C 48; N scripts-dpedaltoe; B -2375.00 -7125.00 2375.00 0.00 ; +C 49; N scripts-flageolet; B -2533.34 -2533.34 2533.34 2533.34 ; +C 50; N scripts-trilelement; B -3166.67 -2375.00 1241.30 2375.00 ; +C 51; N scripts-prall; B -5370.65 -2375.00 5370.65 2375.00 ; +C 52; N scripts-mordent; B -5370.65 -2375.00 5370.65 2375.00 ; +C 53; N scripts-prallprall; B -7574.63 -2375.00 7574.63 2375.00 ; +C 54; N scripts-prallmordent; B -7574.63 -2375.00 7574.63 2375.00 ; +C 55; N scripts-upprall; B -7574.63 -2375.00 7574.63 2375.00 ; +C 56; N scripts-downprall; B -7574.63 -2375.00 7574.63 2375.00 ; +C 57; N flags-u3; B -237.52 -14558.78 5861.15 237.52 ; +C 58; N flags-u4; B -237.52 -16933.78 5861.15 237.52 ; +C 59; N flags-u5; B -237.52 -20496.28 5861.15 237.52 ; +C 60; N flags-u6; B -237.52 -25246.28 5861.15 237.52 ; +C 61; N flags-d3; B -237.52 -237.52 6486.07 13846.31 ; +C 62; N flags-d4; B -237.52 -237.52 6486.07 14558.78 ; +C 63; N flags-d5; B -237.52 -237.52 6486.07 18596.31 ; +C 64; N flags-d6; B -237.52 -237.52 6486.07 20971.31 ; +C 65; N clefs-alto; B -4750.00 -9500.00 17680.59 9500.00 ; +C 66; N clefs-alto_change; B -3800.02 -7600.04 14144.50 7600.04 ; +C 67; N clefs-bass; B -2375.00 -11875.00 17100.04 4750.00 ; +C 68; N clefs-bass_change; B -1900.04 -9500.05 13680.05 3800.02 ; +C 69; N clefs-violin; B -4139.30 -14250.00 17751.40 23750.00 ; +C 70; N clefs-violin_change; B -3596.45 -11400.05 13916.18 19000.09 ; +EndCharMetrics +EndFontMetrics diff --git a/mf/out/feta20.afm b/mf/out/feta20.afm new file mode 100644 index 0000000000..07717c2151 --- /dev/null +++ b/mf/out/feta20.afm @@ -0,0 +1,76 @@ +FontName feta +StartFontMetrics +StartCharMetrics +C 0; N rests-0; B 0.00 -3125.00 7500.00 0.00 ; +C 1; N rests-1; B 0.00 0.00 7500.00 3125.00 ; +C 2; N rests-0o; B -3125.00 -3125.00 10625.00 500.03 ; +C 3; N rests-1o; B -3125.00 -500.03 10625.00 3125.00 ; +C 4; N rests--1; B 0.00 0.00 3000.00 5000.00 ; +C 5; N rests--2; B 0.00 -5000.00 3000.00 5000.00 ; +C 6; N rests-2; B 0.00 3750.00 5400.01 18000.03 ; +C 7; N rests-3; B 0.00 5000.00 6666.64 14208.42 ; +C 8; N rests-4; B 0.00 0.00 7756.96 14208.42 ; +C 9; N rests-5; B 0.00 0.00 8752.69 19208.42 ; +C 10; N rests-6; B 0.00 0.00 9384.92 24208.42 ; +C 11; N rests-7; B 0.00 0.00 10447.72 29208.42 ; +C 12; N accidentals-1; B 0.00 -7500.00 5500.03 7500.00 ; +C 13; N accidentals-0; B 0.00 -7500.00 3333.33 7500.00 ; +C 14; N accidentals--1; B -600.04 -2500.00 4000.02 10000.00 ; +C 15; N accidentals--2; B -600.04 -2500.00 7249.98 10000.00 ; +C 16; N accidentals-2; B 0.00 -2500.00 5000.00 2500.00 ; +C 17; N dots-dot; B 0.00 -1125.00 2249.98 1125.00 ; +C 18; N dots-repeatcolon; B 0.00 -2500.00 2249.98 2500.00 ; +C 19; N balls--1; B 0.00 -2750.02 10000.00 2750.02 ; +C 20; N balls--1l; B -2500.00 -500.03 12500.00 500.03 ; +C 21; N balls--2; B 0.00 -2750.02 10000.00 2750.02 ; +C 22; N balls--2l; B -2500.00 -500.03 12500.00 500.03 ; +C 23; N balls-0; B 0.00 -2750.02 9900.09 2750.02 ; +C 24; N balls-0l; B -2475.02 -500.03 12375.10 500.03 ; +C 25; N balls-1; B 0.00 -2750.02 6887.33 2750.02 ; +C 26; N balls-1l; B -1721.83 -500.03 8609.16 500.03 ; +C 27; N balls-2; B 0.00 -2750.02 6605.15 2750.02 ; +C 28; N balls-2l; B -1651.29 -500.03 8256.44 500.03 ; +C 29; N scripts-ufermata; B -6625.03 -375.03 6625.03 7250.06 ; +C 30; N scripts-dfermata; B -6625.03 -7250.06 6625.03 375.03 ; +C 31; N scripts-sforzato; B -4499.97 -2500.00 4499.97 2500.00 ; +C 32; N scripts-staccato; B -750.05 -750.05 750.05 750.05 ; +C 33; N scripts-ustaccatissimo; B -1000.06 -200.00 1000.06 5000.08 ; +C 34; N scripts-dstaccatissimo; B -1000.06 -5000.08 1000.06 200.00 ; +C 35; N scripts-tenuto; B -3000.03 -350.02 3000.03 350.02 ; +C 36; N scripts-umarcato; B -2500.00 0.00 2500.00 5500.03 ; +C 37; N scripts-dmarcato; B -2500.00 -5500.03 2500.00 0.00 ; +C 38; N scripts-open; B -2000.00 -2500.00 2000.00 2500.00 ; +C 39; N scripts-stopped; B -2750.02 -2750.02 2750.02 2750.02 ; +C 40; N scripts-upbow; B -3250.02 0.00 3250.02 10400.07 ; +C 41; N scripts-downbow; B -3750.00 0.00 3750.00 6666.64 ; +C 42; N scripts-reverseturn; B -5468.75 -2647.06 5468.75 2647.06 ; +C 43; N scripts-turn; B -5468.75 -2647.06 5468.75 2647.06 ; +C 44; N scripts-trill; B -5000.00 0.00 5000.00 11250.00 ; +C 45; N scripts-upedalheel; B -2500.00 -2500.00 2500.00 3333.33 ; +C 46; N scripts-dpedalheel; B -2500.00 -3333.33 2500.00 2500.00 ; +C 47; N scripts-upedaltoe; B -2500.00 0.00 2500.00 7500.00 ; +C 48; N scripts-dpedaltoe; B -2500.00 -7500.00 2500.00 0.00 ; +C 49; N scripts-flageolet; B -2666.67 -2666.67 2666.67 2666.67 ; +C 50; N scripts-trilelement; B -3333.33 -2500.00 1306.64 2500.00 ; +C 51; N scripts-prall; B -5653.30 -2500.00 5653.30 2500.00 ; +C 52; N scripts-mordent; B -5653.30 -2500.00 5653.30 2500.00 ; +C 53; N scripts-prallprall; B -7973.28 -2500.00 7973.28 2500.00 ; +C 54; N scripts-prallmordent; B -7973.28 -2500.00 7973.28 2500.00 ; +C 55; N scripts-upprall; B -7973.28 -2500.00 7973.28 2500.00 ; +C 56; N scripts-downprall; B -7973.28 -2500.00 7973.28 2500.00 ; +C 57; N flags-u3; B -250.02 -15325.03 6169.62 250.02 ; +C 58; N flags-u4; B -250.02 -17825.03 6169.62 250.02 ; +C 59; N flags-u5; B -250.02 -21575.03 6169.62 250.02 ; +C 60; N flags-u6; B -250.02 -26575.03 6169.62 250.02 ; +C 61; N flags-d3; B -250.02 -250.02 6827.44 14575.06 ; +C 62; N flags-d4; B -250.02 -250.02 6827.44 15325.03 ; +C 63; N flags-d5; B -250.02 -250.02 6827.44 19575.06 ; +C 64; N flags-d6; B -250.02 -250.02 6827.44 22075.06 ; +C 65; N clefs-alto; B -5000.00 -10000.00 18611.10 10000.00 ; +C 66; N clefs-alto_change; B -4000.02 -8000.03 14888.92 8000.03 ; +C 67; N clefs-bass; B -2500.00 -12500.00 18000.03 5000.00 ; +C 68; N clefs-bass_change; B -2000.05 -10000.05 14400.04 4000.02 ; +C 69; N clefs-violin; B -4357.15 -15000.00 18685.68 25000.00 ; +C 70; N clefs-violin_change; B -3785.74 -12000.05 14648.60 20000.08 ; +EndCharMetrics +EndFontMetrics diff --git a/mf/out/feta23.afm b/mf/out/feta23.afm new file mode 100644 index 0000000000..54d662faf9 --- /dev/null +++ b/mf/out/feta23.afm @@ -0,0 +1,76 @@ +FontName feta +StartFontMetrics +StartCharMetrics +C 0; N rests-0; B 0.00 -3515.63 8437.50 0.00 ; +C 1; N rests-1; B 0.00 0.00 8437.50 3515.63 ; +C 2; N rests-0o; B -3515.63 -3515.63 11953.13 562.53 ; +C 3; N rests-1o; B -3515.63 -562.53 11953.13 3515.63 ; +C 4; N rests--1; B 0.00 0.00 3375.00 5625.00 ; +C 5; N rests--2; B 0.00 -5625.00 3375.00 5625.00 ; +C 6; N rests-2; B 0.00 4218.75 6075.01 20250.03 ; +C 7; N rests-3; B 0.00 5625.00 7499.97 15984.47 ; +C 8; N rests-4; B 0.00 0.00 8726.58 15984.47 ; +C 9; N rests-5; B 0.00 0.00 9846.77 21609.47 ; +C 10; N rests-6; B 0.00 0.00 10558.03 27234.47 ; +C 11; N rests-7; B 0.00 0.00 11753.70 32859.47 ; +C 12; N accidentals-1; B 0.00 -8437.50 6187.53 8437.50 ; +C 13; N accidentals-0; B 0.00 -8437.50 3750.00 8437.50 ; +C 14; N accidentals--1; B -675.03 -2812.50 4500.02 11250.00 ; +C 15; N accidentals--2; B -675.03 -2812.50 8156.23 11250.00 ; +C 16; N accidentals-2; B 0.00 -2812.50 5625.00 2812.50 ; +C 17; N dots-dot; B 0.00 -1265.63 2531.23 1265.63 ; +C 18; N dots-repeatcolon; B 0.00 -2812.50 2531.23 2812.50 ; +C 19; N balls--1; B 0.00 -3093.77 11250.00 3093.77 ; +C 20; N balls--1l; B -2812.50 -562.53 14062.50 562.53 ; +C 21; N balls--2; B 0.00 -3093.77 11250.00 3093.77 ; +C 22; N balls--2l; B -2812.50 -562.53 14062.50 562.53 ; +C 23; N balls-0; B 0.00 -3093.77 11137.57 3093.77 ; +C 24; N balls-0l; B -2784.40 -562.53 13921.97 562.53 ; +C 25; N balls-1; B 0.00 -3093.77 7748.26 3093.77 ; +C 26; N balls-1l; B -1937.07 -562.53 9685.33 562.53 ; +C 27; N balls-2; B 0.00 -3093.77 7430.80 3093.77 ; +C 28; N balls-2l; B -1857.70 -562.53 9288.50 562.53 ; +C 29; N scripts-ufermata; B -7453.16 -421.90 7453.16 8156.31 ; +C 30; N scripts-dfermata; B -7453.16 -8156.31 7453.16 421.90 ; +C 31; N scripts-sforzato; B -5062.47 -2812.50 5062.47 2812.50 ; +C 32; N scripts-staccato; B -843.80 -843.80 843.80 843.80 ; +C 33; N scripts-ustaccatissimo; B -1125.06 -200.00 1125.06 5625.08 ; +C 34; N scripts-dstaccatissimo; B -1125.06 -5625.08 1125.06 200.00 ; +C 35; N scripts-tenuto; B -3375.03 -393.77 3375.03 393.77 ; +C 36; N scripts-umarcato; B -2812.50 0.00 2812.50 6187.53 ; +C 37; N scripts-dmarcato; B -2812.50 -6187.53 2812.50 0.00 ; +C 38; N scripts-open; B -2250.00 -2812.50 2250.00 2812.50 ; +C 39; N scripts-stopped; B -3093.77 -3093.77 3093.77 3093.77 ; +C 40; N scripts-upbow; B -3656.27 0.00 3656.27 11700.07 ; +C 41; N scripts-downbow; B -4218.75 0.00 4218.75 7499.97 ; +C 42; N scripts-reverseturn; B -6152.34 -2977.94 6152.34 2977.94 ; +C 43; N scripts-turn; B -6152.34 -2977.94 6152.34 2977.94 ; +C 44; N scripts-trill; B -5625.00 0.00 5625.00 12656.25 ; +C 45; N scripts-upedalheel; B -2812.50 -2812.50 2812.50 3750.00 ; +C 46; N scripts-dpedalheel; B -2812.50 -3750.00 2812.50 2812.50 ; +C 47; N scripts-upedaltoe; B -2812.50 0.00 2812.50 8437.50 ; +C 48; N scripts-dpedaltoe; B -2812.50 -8437.50 2812.50 0.00 ; +C 49; N scripts-flageolet; B -3000.00 -3000.00 3000.00 3000.00 ; +C 50; N scripts-trilelement; B -3750.00 -2812.50 1469.97 2812.50 ; +C 51; N scripts-prall; B -6359.99 -2812.50 6359.99 2812.50 ; +C 52; N scripts-mordent; B -6359.99 -2812.50 6359.99 2812.50 ; +C 53; N scripts-prallprall; B -8969.97 -2812.50 8969.97 2812.50 ; +C 54; N scripts-prallmordent; B -8969.97 -2812.50 8969.97 2812.50 ; +C 55; N scripts-upprall; B -8969.97 -2812.50 8969.97 2812.50 ; +C 56; N scripts-downprall; B -8969.97 -2812.50 8969.97 2812.50 ; +C 57; N flags-u3; B -281.27 -17240.65 6940.84 281.27 ; +C 58; N flags-u4; B -281.27 -20053.15 6940.84 281.27 ; +C 59; N flags-u5; B -281.27 -24271.90 6940.84 281.27 ; +C 60; N flags-u6; B -281.27 -29896.90 6940.84 281.27 ; +C 61; N flags-d3; B -281.27 -281.27 7680.88 16396.93 ; +C 62; N flags-d4; B -281.27 -281.27 7680.88 17240.65 ; +C 63; N flags-d5; B -281.27 -281.27 7680.88 22021.93 ; +C 64; N flags-d6; B -281.27 -281.27 7680.88 24834.43 ; +C 65; N clefs-alto; B -5625.00 -11250.00 20937.50 11250.00 ; +C 66; N clefs-alto_change; B -4500.02 -9000.03 16750.08 9000.03 ; +C 67; N clefs-bass; B -2812.50 -14062.50 20250.03 5625.00 ; +C 68; N clefs-bass_change; B -2250.05 -11250.05 16200.04 4500.02 ; +C 69; N clefs-violin; B -4901.80 -16875.00 21021.40 28125.00 ; +C 70; N clefs-violin_change; B -4258.94 -13500.05 16479.68 22500.08 ; +EndCharMetrics +EndFontMetrics diff --git a/mf/out/feta26.afm b/mf/out/feta26.afm new file mode 100644 index 0000000000..dc5c64e84c --- /dev/null +++ b/mf/out/feta26.afm @@ -0,0 +1,76 @@ +FontName feta +StartFontMetrics +StartCharMetrics +C 0; N rests-0; B 0.00 -4062.50 9750.00 0.00 ; +C 1; N rests-1; B 0.00 0.00 9750.00 4062.50 ; +C 2; N rests-0o; B -4062.50 -4062.50 13812.50 650.04 ; +C 3; N rests-1o; B -4062.50 -650.04 13812.50 4062.50 ; +C 4; N rests--1; B 0.00 0.00 3900.00 6500.00 ; +C 5; N rests--2; B 0.00 -6500.00 3900.00 6500.00 ; +C 6; N rests-2; B 0.00 4875.00 7020.02 23400.04 ; +C 7; N rests-3; B 0.00 6500.00 8666.64 18470.95 ; +C 8; N rests-4; B 0.00 0.00 10084.06 18470.95 ; +C 9; N rests-5; B 0.00 0.00 11378.50 24970.95 ; +C 10; N rests-6; B 0.00 0.00 12200.41 31470.95 ; +C 11; N rests-7; B 0.00 0.00 13582.05 37970.95 ; +C 12; N accidentals-1; B 0.00 -9750.00 7150.04 9750.00 ; +C 13; N accidentals-0; B 0.00 -9750.00 4333.33 9750.00 ; +C 14; N accidentals--1; B -780.04 -3250.00 5200.03 13000.00 ; +C 15; N accidentals--2; B -780.04 -3250.00 9424.99 13000.00 ; +C 16; N accidentals-2; B 0.00 -3250.00 6500.00 3250.00 ; +C 17; N dots-dot; B 0.00 -1462.50 2924.99 1462.50 ; +C 18; N dots-repeatcolon; B 0.00 -3250.00 2924.99 3250.00 ; +C 19; N balls--1; B 0.00 -3575.03 13000.00 3575.03 ; +C 20; N balls--1l; B -3250.00 -650.04 16250.00 650.04 ; +C 21; N balls--2; B 0.00 -3575.03 13000.00 3575.03 ; +C 22; N balls--2l; B -3250.00 -650.04 16250.00 650.04 ; +C 23; N balls-0; B 0.00 -3575.03 12870.12 3575.03 ; +C 24; N balls-0l; B -3217.53 -650.04 16087.65 650.04 ; +C 25; N balls-1; B 0.00 -3575.03 8953.54 3575.03 ; +C 26; N balls-1l; B -2238.39 -650.04 11191.93 650.04 ; +C 27; N balls-2; B 0.00 -3575.03 8586.67 3575.03 ; +C 28; N balls-2l; B -2146.67 -650.04 10733.34 650.04 ; +C 29; N scripts-ufermata; B -8612.53 -487.53 8612.53 9425.08 ; +C 30; N scripts-dfermata; B -8612.53 -9425.08 8612.53 487.53 ; +C 31; N scripts-sforzato; B -5849.96 -3250.00 5849.96 3250.00 ; +C 32; N scripts-staccato; B -975.07 -975.07 975.07 975.07 ; +C 33; N scripts-ustaccatissimo; B -1300.08 -200.00 1300.08 6500.10 ; +C 34; N scripts-dstaccatissimo; B -1300.08 -6500.10 1300.08 200.00 ; +C 35; N scripts-tenuto; B -3900.04 -455.03 3900.04 455.03 ; +C 36; N scripts-umarcato; B -3250.00 0.00 3250.00 7150.04 ; +C 37; N scripts-dmarcato; B -3250.00 -7150.04 3250.00 0.00 ; +C 38; N scripts-open; B -2600.00 -3250.00 2600.00 3250.00 ; +C 39; N scripts-stopped; B -3575.03 -3575.03 3575.03 3575.03 ; +C 40; N scripts-upbow; B -4225.02 0.00 4225.02 13520.10 ; +C 41; N scripts-downbow; B -4875.00 0.00 4875.00 8666.64 ; +C 42; N scripts-reverseturn; B -7109.38 -3441.18 7109.38 3441.18 ; +C 43; N scripts-turn; B -7109.38 -3441.18 7109.38 3441.18 ; +C 44; N scripts-trill; B -6500.00 0.00 6500.00 14625.00 ; +C 45; N scripts-upedalheel; B -3250.00 -3250.00 3250.00 4333.33 ; +C 46; N scripts-dpedalheel; B -3250.00 -4333.33 3250.00 3250.00 ; +C 47; N scripts-upedaltoe; B -3250.00 0.00 3250.00 9750.00 ; +C 48; N scripts-dpedaltoe; B -3250.00 -9750.00 3250.00 0.00 ; +C 49; N scripts-flageolet; B -3466.67 -3466.67 3466.67 3466.67 ; +C 50; N scripts-trilelement; B -4333.33 -3250.00 1698.62 3250.00 ; +C 51; N scripts-prall; B -7349.30 -3250.00 7349.30 3250.00 ; +C 52; N scripts-mordent; B -7349.30 -3250.00 7349.30 3250.00 ; +C 53; N scripts-prallprall; B -10365.28 -3250.00 10365.28 3250.00 ; +C 54; N scripts-prallmordent; B -10365.28 -3250.00 10365.28 3250.00 ; +C 55; N scripts-upprall; B -10365.28 -3250.00 10365.28 3250.00 ; +C 56; N scripts-downprall; B -10365.28 -3250.00 10365.28 3250.00 ; +C 57; N flags-u3; B -325.03 -19922.53 8020.51 325.03 ; +C 58; N flags-u4; B -325.03 -23172.53 8020.51 325.03 ; +C 59; N flags-u5; B -325.03 -28047.53 8020.51 325.03 ; +C 60; N flags-u6; B -325.03 -34547.53 8020.51 325.03 ; +C 61; N flags-d3; B -325.03 -325.03 8875.67 18947.57 ; +C 62; N flags-d4; B -325.03 -325.03 8875.67 19922.53 ; +C 63; N flags-d5; B -325.03 -325.03 8875.67 25447.57 ; +C 64; N flags-d6; B -325.03 -325.03 8875.67 28697.57 ; +C 65; N clefs-alto; B -6500.00 -13000.00 24194.44 13000.00 ; +C 66; N clefs-alto_change; B -5200.03 -10400.05 19355.70 10400.05 ; +C 67; N clefs-bass; B -3250.00 -16250.00 23400.04 6500.00 ; +C 68; N clefs-bass_change; B -2600.07 -13000.08 18720.08 5200.03 ; +C 69; N clefs-violin; B -5664.29 -19500.00 24291.40 32500.00 ; +C 70; N clefs-violin_change; B -4921.46 -15600.08 19043.21 26000.14 ; +EndCharMetrics +EndFontMetrics diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-alto.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-alto.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-alto.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-alto.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-alto.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-alto.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-alto.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-alto.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-alto.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-alto.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-alto.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-alto.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-alto.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/scsii-alto.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/mutopia/standchen.ly b/mutopia/standchen.ly index 64f5e71d68..185e298a39 100644 --- a/mutopia/standchen.ly +++ b/mutopia/standchen.ly @@ -1,10 +1,10 @@ \header{ filename = "standchen.ly"; -title = "St\"andchen"; -subtitle = "(Serenade)\\\``Leise flehen meine Lieder"; +title = "St\\\"andchen"; +subtitle = "(Serenade)\\\\``Leise flehen meine Lieder''"; opus = "D. 957 No. 4"; -composer = "Franz Schubert (1797-1828)" - "Text by Ludwig Rellstab (1799-1860)"; +composer = "Franz Schubert (1797-1828)"; +poet= "Text by Ludwig Rellstab (1799-1860)"; enteredby = "JCN"; copyright = "public domain"; } @@ -20,9 +20,9 @@ $vocal_verse1 = \melodic\relative c{ % ugh: treble/bass % \clef treble; % \clef violin; - [/3 g''8( )as] g \] c4. g8 | - [/3 f8( )g] f \] c'4 f,8 r | - g4.-> f8 [/3 f( )es] d \] | + [/3 g''8( )as] g \]/1 c4. g8 | + [/3 f8( )g] f \]/1 c'4 f,8 r | + g4.-> f8 [/3 f( )es] d \]/1 | es2 r4 | % ugh: a whole should be a measure %r1 | @@ -84,7 +84,7 @@ $lyric_verse1 = \lyric{ _ _ _ | % 11 \[/3 In4 den8 \] stil-4. len8 | - \[/3 Hainr4 her-8 \] nie-4. der8 | + \[/3 Hain4 her-8 \] nie-4. der8 | Lieb4. chen8 \[/3 komm4 zu8 \] | mir!2 _4 | _4 _ _ | @@ -94,8 +94,8 @@ $lyric_verse1 = \lyric{ Wip-8. fel16 rau-4. schen8 | \[/3 In4 des8 \] Mon-4. des8 | Licht;2. | - _4 _ _ | - _4 _ _ | + \[/3 In4 des8 \] Mon-4. des8 | + Licht;2. | % 23 Des8. Ver-16 r\"a-4. ters8 | feind-8. lich16 Lau-4. schen8 | @@ -143,10 +143,12 @@ $lyric_through = \lyric{ % 37 La\ss8. auch16 dir8. die16 Brust8. be-16 | we-4 gen _ | - Lieb-4. chen8 h\"o-8. re16 | + Lieb-4. chen,8 h\"o-8. re16 | mich!2 _4 | - Be-8. bend16 harr4 ich8 _8 | + Be-4. bend8 \[/3 harr'4 ich8\]/1 | dir8. ent-16 ge-4 gen!8 _8 | + _2. | + _2. | \[/3 Komm4 be-8 \] gl\"u4. cke8 | mich!2. | \[/3 Komm4 be-8 \] gl\"u4. cke8 | @@ -198,7 +200,7 @@ $treble_verse1 = \melodic\relative c{ r8 <[e g> | r8 <[f a c> | r8 <[e g c> | - <{[/3 f8\f( e f]1/1 a4. )f8 } {\[/3 f' e f \] a4. f8 } > | + <{[/3 f8\f( e f]1/1 a4. )f8 } {\[/3 f' e f \]/1 a4. f8 } > | r4 | } @@ -243,7 +245,7 @@ $treble_through = \melodic\relative c{ r8 <[f,\p a c> | %70 r8 <[e g c> | - <{[/3 f8\f( e f]1/1 a4. )f8 } {\[/3 f' e f \] a4. f8 } > | + <{[/3 f8\f( e f]1/1 a4. )f8 } {\[/3 f' e f \]/1 a4. f8 } > | r4 | r4 | r4 | @@ -328,8 +330,8 @@ $bass_through = \melodic\relative c{ <[d'' g> | c,8 <[c' e g> | - <[c' es! g> | - <[d'' f> | + <[c' es! g> | + <[d'' f> | %75 <[d'' f> | c,8 <[c' e> | @@ -422,10 +424,13 @@ $grand_staff = \type GrandStaff< > \score{ + % Transpose as you like for your voice + % Range untransposed is c' to f'' (for tenors and sopranos) + % \transpose a gives a' to d'' < - \$vocal_staff + { \melodic \transpose a { \$vocal_staff } } \$lyric_staff - \$grand_staff + { \melodic \transpose a { \$grand_staff } } > \include "score-paper.ly"; \midi{ diff --git a/scripts/convert-mudela.py b/scripts/convert-mudela.py index 4872dd69f9..d5a78f9a0b 100644 --- a/scripts/convert-mudela.py +++ b/scripts/convert-mudela.py @@ -33,7 +33,7 @@ def program_id (): return '%s version %s' %(program_name, version); def identify (): - sys.stdout.write (program_id () + '\n') + sys.stderr.write (program_id () + '\n') def gulp_file(f): try: diff --git a/scripts/ly2dvi.sh b/scripts/ly2dvi.sh index 31d86c250d..1af0885bd6 100644 --- a/scripts/ly2dvi.sh +++ b/scripts/ly2dvi.sh @@ -618,9 +618,6 @@ if [ "$SOURCEDIR" != "" ]; then export TEXINPUTS="$SOURCEDIR/tex:$TEXINPUTS:" export MFINPUTS="$SOURCEDIR/mf:$MFINPUTS:" export LILYPOND_EXECUTABLE="$SOURCEDIR/lily/out/lilypond" - - set|grep MF - set|grep TEXIN fi # diff --git a/scripts/mudela-book.py b/scripts/mudela-book.py index ce491b816e..6c4291c227 100644 --- a/scripts/mudela-book.py +++ b/scripts/mudela-book.py @@ -1,5 +1,4 @@ - -# python version of mudela-book. WIP. +#!@PYTHON@ # TODO: center option diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index 5f282f05b1..dbcb4d30d2 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -234,13 +234,16 @@ dnl fi LN=cp # hard link does not work under cygnus-nt (yet?) ZIP="zip -r -9" # DOTEXE=.exe + INSTALL="\$(stepdir)/../bin/install-dot-exe.sh -c" else LN=ln ZIP="zip -r -9" + INSTALL="\$(stepdir)/../bin/install-sh -c" fi AC_SUBST(DOTEXE) AC_SUBST(ZIP) AC_SUBST(LN) + AC_SUBST(INSTALL) AC_STEPMAKE_DATADIR ]) @@ -424,6 +427,9 @@ AC_DEFUN(AC_STEPMAKE_YODL, [ AC_SUBST(YODL2TXT) export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2TEXINFO YODL2TXT fi + if test "x$YODL" = "-echo no yodl"; then + AC_STEPMAKE_WARN(Did not find YODL (Yodl is Yet Oneother Document Language, see http://www.cs.uu.nl/~hanwen/yodl)) + fi ]) dnl should cache result. diff --git a/stepmake/bin/fake-yodl.sh b/stepmake/bin/fake-yodl.sh index f28f6025e4..d865baa919 100644 --- a/stepmake/bin/fake-yodl.sh +++ b/stepmake/bin/fake-yodl.sh @@ -30,4 +30,5 @@ fi echo Faking Yodl: copying $1 to $OUTPUT -cp $1 $OUTPUT +echo THIS IS A SURROGATE. Please install YODL for a formatted document > $OUTPUT +cat $1 >> $OUTPUT diff --git a/stepmake/bin/package-diff.py b/stepmake/bin/package-diff.py index dfbbebc988..2e361e453d 100644 --- a/stepmake/bin/package-diff.py +++ b/stepmake/bin/package-diff.py @@ -54,7 +54,9 @@ def remove_automatic (dirnames): # urg, again? from flower import * files = files + multiple_find (pats, dirnames) - + dirs = multiple_find (['out'], dirnames) + for d in dirs: + files = files + multiple_find (['*'], [d]) for f in files: os.remove (f) @@ -86,7 +88,7 @@ def remove_configure (dir): # ugh, how to get rid of .tex files generated by lily? -pats = ['.dstreamrc', 'configure', '*.diff', '*.diff.gz', '*.lsm', '*.pyc', '*.spec', '*.txt'] +pats = ['configure', '*.diff', '*.diff.gz', '*.pyc', '*.txt'] header = 'Generated by %s using %s,\ \nFrom = %s, To = %s\n\ @@ -106,7 +108,7 @@ def makediff (fromdir, todir, patch_name): from packagepython import * remove_automatic ([fromdir, todir]) - + # ugh remove_configure (fromdir) remove_configure (todir) diff --git a/stepmake/config.make.in b/stepmake/config.make.in index 23f15f87a2..25bfe5945a 100644 --- a/stepmake/config.make.in +++ b/stepmake/config.make.in @@ -4,7 +4,6 @@ package-depth = @package_depth@ -INSTALL = @INSTALL@ USER_CXXFLAGS = @CXXFLAGS@ @CPPFLAGS@ USER_LDFLAGS = @@ -39,6 +38,7 @@ DEFS = @DEFS@ DEFINES = @DEFS@ @DEFINES@ COMPILEINFO = @COMPILEINFO@ DOTEXE = @DOTEXE@ +INSTALL = @INSTALL@ BASH = @BASH@ BISON = @BISON@ FIND = @FIND@ diff --git a/stepmake/configure b/stepmake/configure index d77a257f2a..ee022aefa9 100755 --- a/stepmake/configure +++ b/stepmake/configure @@ -860,13 +860,16 @@ fi LN=cp # hard link does not work under cygnus-nt (yet?) ZIP="zip -r -9" # DOTEXE=.exe + INSTALL="\$(stepdir)/../bin/install-dot-exe.sh -c" else LN=ln ZIP="zip -r -9" + INSTALL="\$(stepdir)/../bin/install-sh -c" fi + if test "$datadir" = "\${prefix}/share"; then @@ -923,7 +926,7 @@ fi echo $ac_n "checking language""... $ac_c" 1>&6 -echo "configure:927: checking language" >&5 +echo "configure:930: checking language" >&5 case "$language" in En* | en* | Am* | am* | US* | us*) lang=English;; @@ -955,7 +958,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:959: checking for $ac_word" >&5 +echo "configure:962: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -989,7 +992,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:993: checking for $ac_word" >&5 +echo "configure:996: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2HTML'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1023,7 +1026,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1027: checking for $ac_word" >&5 +echo "configure:1030: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2LATEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1056,7 +1059,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1060: checking for $ac_word" >&5 +echo "configure:1063: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MAN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1090,7 +1093,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1094: checking for $ac_word" >&5 +echo "configure:1097: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1124,7 +1127,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1128: checking for $ac_word" >&5 +echo "configure:1131: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1162,6 +1165,12 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl" export YODL YODL2HTML YODL2LATEX YODL2MAN YODL2TEXINFO YODL2TXT fi + if test "x$YODL" = "-echo no yodl"; then + + echo "configure: warning: Did not find YODL (Yodl is Yet Oneother Document Language, see http://www.cs.uu.nl/~hanwen/yodl)" 1>&2 + warn_b=yes + + fi # AM_PATH_GTK(1.0.0,,AC_MSG_ERROR([please install proper version of gtk])) @@ -1172,7 +1181,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1176: checking for $ac_word" >&5 +echo "configure:1185: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1356,6 +1365,7 @@ s%@PYTHON@%$PYTHON%g s%@DOTEXE@%$DOTEXE%g s%@ZIP@%$ZIP%g s%@LN@%$LN%g +s%@INSTALL@%$INSTALL%g s%@DIR_DATADIR@%$DIR_DATADIR%g s%@YODL@%$YODL%g s%@YODL2HTML@%$YODL2HTML%g diff --git a/stepmake/stepmake/Documentation.shared.make b/stepmake/stepmake/Documentation.shared.make index 1a8ee9b02a..1a29861d79 100644 --- a/stepmake/stepmake/Documentation.shared.make +++ b/stepmake/stepmake/Documentation.shared.make @@ -39,7 +39,7 @@ $(outdir)/$(package).info: check-texinfo-deps $(OUTTEXINFO_FILES) $(MAKEINFO) -o $@ $(outdir)/topinfo.texinfo localinstall: # $(INFO_FILES) - $(INSTALL) -d $(infodir) + -$(INSTALL) -d $(infodir) $(INFOINSTALL) localuninstall: $(INFOINSTALL) diff --git a/stepmake/stepmake/Executable.make b/stepmake/stepmake/Executable.make index 1516ad7eb7..3feadc553a 100644 --- a/stepmake/stepmake/Executable.make +++ b/stepmake/stepmake/Executable.make @@ -18,9 +18,9 @@ localinstall: installexe localuninstall: uninstallexe installexe: all - $(INSTALL) -d $(bindir) + -$(INSTALL) -d $(bindir) $(foreach a, $(EXECUTABLES), \ - $(INSTALL) -m 755 $(outdir)/$(a) $(bindir)/$(a)$(DOTEXE) && \ + $(INSTALL) -m 755 $(outdir)/$(a)$(DOTEXE) $(bindir)/$(a)$(DOTEXE) && \ strip $(bindir)/$(a)$(DOTEXE) && ) true $(foreach a, $(SEXECUTABLES), \ $(INSTALL) -m 755 $(outdir)/$(a) $(bindir) &&) true diff --git a/stepmake/stepmake/Install_outfiles.make b/stepmake/stepmake/Install_outfiles.make index 53b2321dc7..b4f2539f8c 100644 --- a/stepmake/stepmake/Install_outfiles.make +++ b/stepmake/stepmake/Install_outfiles.make @@ -3,7 +3,7 @@ localinstall: localinstall-files localinstall-files: $(INSTALLATION_OUT_FILES) - $(INSTALL) -d $(INSTALLATION_OUT_DIR) + -$(INSTALL) -d $(INSTALLATION_OUT_DIR) $(foreach i, $(INSTALLATION_OUT_FILES), \ $(INSTALL) -m 644 $(i) $(INSTALLATION_OUT_DIR) && )true diff --git a/stepmake/stepmake/Installfiles.make b/stepmake/stepmake/Installfiles.make index 96b8ee76b1..58d10e30cf 100644 --- a/stepmake/stepmake/Installfiles.make +++ b/stepmake/stepmake/Installfiles.make @@ -3,7 +3,7 @@ localinstall: localinstall-files localinstall-files: - $(INSTALL) -d $(INSTALLATION_DIR) + -$(INSTALL) -d $(INSTALLATION_DIR) $(foreach i, $(INSTALLATION_FILES),\ $(INSTALL) -m 644 $(i) $(INSTALLATION_DIR) &&)true diff --git a/stepmake/stepmake/Manual.make b/stepmake/stepmake/Manual.make index 5186b1d8cd..0e6206dabf 100644 --- a/stepmake/stepmake/Manual.make +++ b/stepmake/stepmake/Manual.make @@ -3,7 +3,7 @@ MANGROFF = $(addprefix $(outdir)/, $(addsuffix .$(SECTION))) localinstall: $(MANGROFFS) - $(INSTALL) -d $(mandir)/man$(SECTION) + -$(INSTALL) -d $(mandir)/man$(SECTION) $(INSTALL) -m 644 $(MANGROFFS) $(mandir)/man$(SECTION) diff --git a/stepmake/stepmake/Po.make b/stepmake/stepmake/Po.make new file mode 100644 index 0000000000..c5e22d1f29 --- /dev/null +++ b/stepmake/stepmake/Po.make @@ -0,0 +1,35 @@ + + +#### +#### UGH! +new-po: + if test -r $(po-dir); then \ + rm -f $(po-dir)/$(outdir)/$(package).po; \ + touch $(po-dir)/$(outdir)/$(package).po; \ + fi + +ifeq ($(strip $(depth)),.) +po: new-po + $(LOOP) +localpo: + @true +else +po: localpo + $(LOOP) +ALL_PO_SOURCES = $(ALL_C_SOURCES) $(wildcard $(outdir)/*.hh) $(wildcard $(outdir)/*.cc) +localpo: +ifneq ($(strip $(ALL_PO_SOURCES)),) + @echo $(ALL_PO_SOURCES) + xgettext --c++ --default-domain=$(package) --join \ + --output-dir=$(po-dir)/$(outdir) --add-comments \ + --keyword=_ --keyword=_f $(ALL_PO_SOURCES) +endif +endif + + +po-update: po + $(MAKE) -C $(po-dir) po-update + +show-po-changes: + $(MAKE) -C $(po-dir) show-po-changes + diff --git a/stepmake/stepmake/Targets.make b/stepmake/stepmake/Targets.make index 43d9877f18..ed386b70e8 100644 --- a/stepmake/stepmake/Targets.make +++ b/stepmake/stepmake/Targets.make @@ -24,35 +24,8 @@ maintainerclean: $(MAKE) local-maintainerclean $(MAKE) local-distclean -new-po: - if test -r $(po-dir); then \ - rm -f $(po-dir)/$(outdir)/$(package).po; \ - touch $(po-dir)/$(outdir)/$(package).po; \ - fi +include $(stepdir)/Po.make -ifeq ($(strip $(depth)),.) -po: new-po - $(LOOP) -localpo: - @true -else -po: localpo - $(LOOP) -ALL_PO_SOURCES = $(ALL_C_SOURCES) $(wildcard $(outdir)/*.hh) $(wildcard $(outdir)/*.cc) -localpo: -ifneq ($(strip $(ALL_PO_SOURCES)),) - @echo $(ALL_PO_SOURCES) - xgettext --c++ --default-domain=$(package) --join \ - --output-dir=$(po-dir)/$(outdir) --add-comments \ - --keyword=_ --keyword=_f $(ALL_PO_SOURCES) -endif -endif - -po-update: po - $(MAKE) -C $(po-dir) po-update - -show-po-changes: - $(MAKE) -C $(po-dir) show-po-changes # configure: # @@ -120,7 +93,8 @@ check-state-vector: fi -localdist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) +local-dist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) + mkdir $(distdir)/$(localdir) $(LN) $(DIST_FILES) $(distdir)/$(localdir) #UGH UGH . make ifdef doesn't mix with string substitution semantics (late expansion vs. early expansion) @@ -132,8 +106,7 @@ localdist: $(DIST_FILES) $(OUT_DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) mkdir $(distdir)/$(localdir)/out; \ $(LN) $(OUT_DIST_FILES) $(distdir)/$(localdir)/out; \ fi - $(foreach i, $(SUBDIRS), mkdir $(distdir)/$(localdir)/$(i); \ - $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) localdist &&) true + $(foreach i, $(SUBDIRS), $(MAKE) distdir=../$(distdir) localdir=$(localdir)/$(i) -C $(i) local-dist &&) true @@ -176,7 +149,7 @@ uninstall: localuninstall localuninstall: installextradoc: - $(INSTALL) -d $(prefix)/doc/$(package) + -$(INSTALL) -d $(prefix)/doc/$(package) $(foreach i, $(EXTRA_DOC_FILES),\ cp -r $(i) $(prefix)/doc/$(package) &&) true @@ -192,3 +165,8 @@ $(outdir)/dummy.dep: -mkdir $(outdir) touch $(outdir)/dummy.dep + +check: local-check + $(LOOP) + +local-check: diff --git a/stepmake/stepmake/Toplevel.make b/stepmake/stepmake/Toplevel.make index 52d1256221..00ae42bf77 100644 --- a/stepmake/stepmake/Toplevel.make +++ b/stepmake/stepmake/Toplevel.make @@ -7,7 +7,7 @@ DIST_FILES := $(EXTRA_DIST_FILES) # -localdist: configure +local-dist: configure local-distclean: rm -f config.hh config.make Makefile config.cache \ @@ -46,8 +46,7 @@ WWW-clean: dist: check-state-vector rm -rf $(distdir) - -mkdir $(distdir) - $(MAKE) localdist $(distdir) + $(MAKE) local-dist $(distdir) chmod -R a+r $(distdir) chmod a+x `find $(distdir) -type d -print` (cd ./$(depth)/$(outdir); $(TAR) cf - $(DIST_NAME) | gzip -9 > $(DIST_NAME).tar.gz) diff --git a/stepmake/stepmake/Variables.make b/stepmake/stepmake/Variables.make index 59e84b210a..16b227db45 100644 --- a/stepmake/stepmake/Variables.make +++ b/stepmake/stepmake/Variables.make @@ -43,8 +43,8 @@ doc-dir = $(depth)/Documentation make-dir = $(depth)/make po-dir = $(depth)/po -# -c is for copying -INSTALL = $(stepdir)/../bin/install-sh -c +# -c is for copying (now set in config.make) +# INSTALL = $(stepdir)/../bin/install-sh -c # user settings: # -- 2.39.5