From 3f213f4f1df4101287534a6669fc29edd022aec0 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sat, 2 Aug 2003 00:50:02 +0000 Subject: [PATCH] * input/regression/spacing-note-flags.ly (raggedright): remove stafflinethickness * input/les-nereides.ly: update to new syntax, cleanups. --- ChangeLog | 9 +- Documentation/index.html.in | 4 + Documentation/topdocs/AUTHORS.texi | 2 +- Documentation/topdocs/INSTALL.texi | 476 +++---------------------- Documentation/user/tutorial.itely | 44 ++- buildscripts/convert-new-chords.py | 8 +- input/les-nereides.ly | 225 ++++-------- input/regression/spacing-note-flags.ly | 1 - input/regression/spacing-rest.ly | 1 - input/test/ancient-font.ly | 3 +- input/test/gregorian-scripts.ly | 2 +- 11 files changed, 174 insertions(+), 601 deletions(-) diff --git a/ChangeLog b/ChangeLog index d039de4a2c..038ff82721 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2003-08-02 Han-Wen Nienhuys + + * input/regression/spacing-note-flags.ly (raggedright): remove + stafflinethickness + + * input/les-nereides.ly: update to new syntax, cleanups. + 2003-08-01 Jan Nieuwenhuizen * Documentation/user/refman.itely: Clarify shortest-note problem @@ -23,7 +30,7 @@ * lilypond-mode.el: add menu keywords separately. * lilypond.words: post-syntaxed slur pairs and syntax for \times. - + 2003-08-01 Mats Bengtsson * Documentation/topdocs/INSTALL.texi (Top): Documentation of the diff --git a/Documentation/index.html.in b/Documentation/index.html.in index 25d8219ec0..9acf37cdea 100644 --- a/Documentation/index.html.in +++ b/Documentation/index.html.in @@ -51,6 +51,10 @@
  • NEWS
    (changes since the last major release) + +
  • + INSTALL +
    (how to compile) diff --git a/Documentation/topdocs/AUTHORS.texi b/Documentation/topdocs/AUTHORS.texi index 23f2177f13..1d613c9470 100644 --- a/Documentation/topdocs/AUTHORS.texi +++ b/Documentation/topdocs/AUTHORS.texi @@ -72,7 +72,7 @@ list is alphabetically ordered. minor bug fixes, lyric-phrasing. @item @email{Roy.Rankin@@alcatel.com.au, Roy R. Rankin}, major extension, fixes to abc2ly, lilypond bug fixes. -@item @email{reuter@@ipd.uka.de, J@"{u}rgen Reuter}, +@item @uref{http://www.ipd.uka.de/~reuter, J@"{u}rgen Reuter}, Ancient notation support (mensural notation, Gregorian chant notation), ambitus, clusters. @item @email{august@@infran.ru, August S. Sigov}, diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index 18252b45af..153423aa2a 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -10,13 +10,7 @@ @contents -@chapter INSTALL - compiling and installing GNU LilyPond - - -This document describes how to build LilyPond on Unix platforms. It -is also known to run and compile on Windows NT/95/98/ME/XP as well. -More information on this topic can be found at the -@uref{http://www.lilypond.org/cygwin/, LilyPond on Windows page}. +@chapter Compiling and installing on Unix @html @@ -34,89 +28,34 @@ site}. Building LilyPond is an involved process. We advise to use binary packages if these are available for your platform. + + @subsection Source code - If you want to compile LilyPond from source, download here: +Download source tarballs from here: @itemize @bullet @item Download development releases from -@c Hmm, these won't show up in lilypond.org/stats -@c Otoh, lilypond.org is not updated when release mail arrives @uref{ftp://ftp.lilypond.org/pub/LilyPond/} by FTP and @uref{http://www.lilypond.org/ftp/} by HTTP. @item @uref{ftp://sca.uwaterloo.ca/pub/} by FTP (Canadian mirror). @end itemize -For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the -tarball; see instructions below. - -Of course, if your platform supports LilyPond, such as Debian GNU/Linux, -FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build -from source drill. - -The latest development version is also available through anonymous -CVS. See @uref{http://savannah.gnu.org/cvs/?group=lilypond}. - -CVS does not contain generated files. To create @file{configure}, run: -@quotation +Use Xdelta to patch tarballs, e.g. to patch +@file{lilypond-1.4.2.tar.gz} to @file{lilypond-1.4.3.tar.gz}, do @example - ./autogen.sh + xdelta patch lilypond-1.4.2-1.4.3.xd lilypond-1.4.2.tar.gz @end example -@end quotation - -@html - -@end html +For information on packaging and CVS, see +@uref{http://lilypond.org/}, under ``develoment''. @subsection Precompiled binaries -If you want to track bleeding edge development, try: +Check out @uref{http://lilypond.org} for up to date information on +binary packages. -@itemize @bullet -@item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian -GNU/Linux} usually has the latest binaries for the most useful stable -and development versions, while -@item @uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/, -Mandrake Cooker} also provides fairly recent versions. -@end itemize - -Binaries are made available for other popular platforms, but as we need -to compile them ourselves, they are not updated for every version -released. - -@itemize @bullet -@item @uref{http://www-ccrma.stanford.edu/planetccrma/software/soundapps.html#lilypond,Red Hat i386} -@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE, SuSE} -@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/, -LinuxPPC} -@item -@uref{http://www.lilypond.org/gnu-windows/, Windows} -@end itemize - -@subsection Upgrading - -There are two options for upgrading sources: - -@itemize -@item If you have an unpacked source tree of a previous version, you -may the patches. - -@emph{If you upgrade by patching do remember to rerun autoconf after makefilesapplying the patch}. - -@item If you have the @code{.tar.gz} file of a previous release, you can -use -@uref{http://sourceforge.net/projects/xdelta/, xdelta}. - This is much safer than using patches, and is the recommended way. - -The following command produces @file{lilypond-1.4.3.tar.gz} from -@file{lilypond-1.4.2.tar.gz} identical (up to compression dates) to the .3 -on the FTP site: -@example - xdelta patch lilypond-1.4.2-1.4.3.xd lilypond-1.4.2.tar.gz -@end example -@end itemize @subsection Font problems @@ -137,37 +76,26 @@ script automating this has been included, see You need the following packages to compile LilyPond: @itemize -@item The GNU c++ compiler (version 2.95.2 or newer). +@item + @uref{http://gcc.gnu.org/, +The GNU c++ compiler} (version 3.1 or newer). EGCS 1.1 may work, but is no longer supported. -Check out @uref{ftp://ftp.gnu.org/gnu/gcc/, the gcc site}. - -WARNING: if you choose to upgrade to GCC 3.x, enquire if your -distribution supports g++ 3.x and flex. At the time of writing (Fri -Jul 5 2002), @strong{no} distribution that we know of ships a flex -that generates gcc-3.1.x compliant C++ code. +Check out -@item Python (version 2.1 or newer). -Check out @uref{http://www.python.org, the python website}. +@item @uref{http://www.python.org,Python} (version 2.1 or newer). -@item GUILE (version 1.6.4 or newer). -Check out -@uref{http://www.gnu.org/software/guile/guile.html,the GUILE webpage}. +@item @uref{http://www.gnu.org/software/guile/guile.html,GUILE} (version 1.6.4 or newer). -@item GNU Make (version 3.78 or newer). -Check out -@uref{ftp://ftp.gnu.org/gnu/make/, the GNU -make FTP directory}. +@item @uref{ftp://ftp.gnu.org/gnu/make/,GNU Make} (version 3.78 or newer), -@item Flex (version 2.5.4a or newer). -Check out @uref{http://www.gnu.org/software/flex/,the Flex webpage}. +@item @uref{http://www.gnu.org/software/flex/,Flex} (version 2.5.4a or newer). WARNING: plain Flex 2.5.4(a) generates invalid C++ code. GCC 3.x chokes on this. If you wish to use GCC 3.x, make sure that your distribution supports g++ 3.x and flex. For workarounds, see lexer-gcc-3.0.patch and lexer-gcc-3.1.sh in the source directory. -@item Bison (version 1.25 or newer). -Check out @uref{http://www.gnu.org/software/bison/,the bison webpage}. +@item @uref{http://www.gnu.org/software/bison/,Bison} (version 1.25 or newer). @item @TeX{}. @@ -178,17 +106,18 @@ Also, @TeX{}'s libkpathsea is used to find the fonts (@file{.mf}, (1.0.6 is known to work). You may need to install a tetex-devel (or tetex-dev or libkpathsea-dev) package too. -@item Texinfo (version 4.2 or newer). -The documentation of lily is written in texinfo. Check out -@uref{ftp://ftp.gnu.org/gnu/texinfo/,the texinfo FTP directory}. +@item @uref{ftp://ftp.gnu.org/gnu/texinfo/,Texinfo} (version 4.2 or newer). + +@item The +@uref{ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry,geometry +package for LaTeX}. -@item The geometry package for LaTeX is needed to use ly2dvi. -It is available at -@uref{ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry,the -FTP directory for @code{geometry}}. This package is normally included -with the @TeX{} distribution. + This package is normally included with the @TeX{} distribution. -@item kpathsea, a library for searching (@TeX{}) files. @code{kpathsea} is +@item kpathsea, a library for searching (@TeX{}) files. + +@ignore +@code{kpathsea} is usually included with your installation of @TeX{}. You may need to install a tetex-devel or tetex-dev package too. If kpathsea is not installed in a directory where the compiler normally looks, read the @@ -205,6 +134,7 @@ configure something like: ./configure --without-kpathsea --enable-tfm-path=/usr/share/texmf/fonts/tfm/public/cm/:/usr/share/texmf/fonts/tfm/ams/symbols @end example @end quotation +@end ignore @end itemize @@ -216,27 +146,22 @@ following software: @itemize @bullet @item @TeX{}. @item Xdvi and Ghostscript. -@item GUILE 1.4, or newer. -Check out -@uref{http://www.gnu.org/software/guile/guile.html,the GUILE webpage}. +@item @uref{http://www.gnu.org/software/guile/guile.html,GUILE} 1.6.4, or newer. @end itemize -For running LilyPond successfully you have to help @TeX{} and MetaFont find -various files. The recommended way of doing so is adjusting the -environment variables in the start-up scripts of your shell. Appropriate -Csh and bourne sh scripts are left in -@file{buildscripts/out/lilypond-profile} and -@file{buildscripts/out/lilypond-login} after compilation. +For running LilyPond successfully -LilyPond is a big and slow program. A fast CPU and plenty of RAM is -recommended for comfortable use. +You have to help @TeX{} and MetaFont find LilyPond support +files. After compiling, scripts to do this can be found in +@file{buildscripts/out/lilypond-profile} and +@file{buildscripts/out/lilypond-login}. @subsection Building documentation You can view the documentation online at -@uref{http://www.lilypond.org/stable/Documentation/out-www/}, but you -can also build it locally. This process requires a successful compile of -lilypond. The documentation is built by issuing: +@uref{http://www.lilypond.org/doc/}, but you can also build it +locally. This process requires a successful compile of lilypond. The +documentation is built by issuing: @example make web @end example @@ -244,10 +169,13 @@ lilypond. The documentation is built by issuing: Building the website requires some additional tools: @itemize @bullet -@item The netpbm utilities, see @uref{http://netpbm.sourceforge.net/} -@item mftrace 1.0 or newer, needed for generating PostScript Type1 -fonts. Get it from @uref{http://www.cs.uu.nl/~hanwen/mftrace/}. You -will need to install some additional packages to get mftrace to work. +@item The @uref{http://netpbm.sourceforge.net/,netpbm utilities} see +@item ImageMagick +@item @uref{http://www.cs.uu.nl/~hanwen/mftrace/,mftrace} (1.0.17 or +newer), + + You will need to install some additional packages to get mftrace to +work. @end itemize @section Building LilyPond @@ -325,19 +253,15 @@ and for the profiling version, I specify a different configuration: - - @section Emacs mode An Emacs mode for entering music and running LilyPond is contained in the source archive as @file{lilypond-mode.el}, -@file{lilypond-indent.el}, @file{lilypond-font-lock.el} and -@file{lilypond.words}. -You should install these files to a directory included in your -@var{load-path}. File @file{lilypond-init.el} should be placed to -@var{load-path}@file{/site-start.d/} or appended to your @file{~/.emacs} -or @file{~/.emacs.el}. If you have installed a precompiled LilyPond -package, these files can be found in @file{/usr/share/doc/lilypond-x.y.z/}. +@file{lilypond-indent.el}, @file{lilypond-font-lock.el} and +@file{lilypond.words}. You should install these files to a directory +included in your @var{load-path}. File @file{lilypond-init.el} should +be placed to @var{load-path}@file{/site-start.d/} or appended to your +@file{~/.emacs} or @file{~/.emacs.el}. As a user, you may want add your source path or, e.g., @file{~/site-lisp/} to your @var{load-path}. Append the following line (modified) to your @@ -348,9 +272,6 @@ to your @var{load-path}. Append the following line (modified) to your @end example @end quotation -If you have the latest LilyPond-1.4.x Debian package, LilyPond-mode is -automatically loaded, you not even need to modify your @code{~/.emacs} -file. @section Vim mode @@ -372,267 +293,8 @@ to @file{~/.vim/filetype.vim}: @end example @end quotation -@section Compiling for distributions - -@subsection Red Hat Linux - - -You can compile RPMS yourself. For running on a Red Hat system you -need these packages: guile, tetex, tetex-latex, tetex-dvips, -libstdc++, python, ghostscript. A spec file is in -@file{make/out/lilypond.redhat.spec}. This file is distributed along -with the sources. You can make the rpm by issuing: -@example - cp lilypond-x.y.z.tar.gz /usr/src/redhat/SOURCES/ - tar xfz lilypond-x.y.z.tar.gz - rpm -bb lilypond-x.y.z/make/out/lilypond.redhat.spec - rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z -@end example - -For compilation on a Red Hat system you need these packages, in -addition to the those needed for running: glibc-devel, gcc-c++, -libstdc++-devel, guile-devel, flex, bison, texinfo, groff, mftrace, -netpbm-progs, autotrace, t1utils. - -@subsection SuSE - -Some SUSE RPMS should available from -@uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE}. - -You can also compile a RPM for SUSE yourself. A spec file is in -@file{make/out/lilypond.suse.spec}, see the instructions for building -the Red Hat RPM. - -You must have the following packages: guile tcsh tetex te_latex te_kpath -te_mpost libpng python gpp libgpp gettext autoconf netpbm libnetpb -gs_serv gs_lib gs_fonts guile - -@subsection Slackware - -No precompiled packages for Slackware are available. - -Problems have been reported with Slackware 7.0; apparently, it ships -with a faulty compiler. Do not compile LilyPond with -O2 on this -platform. - -At least on Slackware 8.0, you have to manually specify the paths to the -Kpathsea library, see the section on kpathsea. - - -@subsection Mandrake - -Some binaries are available at rpmfind.net. Refer to -@uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/}. - -You can also compile a RPM for Mandrake yourself. A spec file is in -@file{make/out/lilypond.mandrake.spec}, see the instructions for building -the Red Hat RPM. - -@subsection Debian GNU/Linux - -A Debian package is also available. You may install it easily by running -@command{apt-get} as root: -@example - - apt-get install lilypond lilypond-doc -@end example - -You can also compile the .deb for Debian yourself, do: -@example - - apt-get -b source lilypond -@end example - -If you're real impatient, you may even do: -@example - - cd lilypond-x.y.z # a previous version - uscan # download and build latest directly from upstream -@end example - - -Debian's @TeX{} installation is a bit short on memory, you may want to -increase it like this: -@example ---- texmf.cnf.orig Sun Dec 16 23:47:07 2001 -+++ texmf.cnf Sun Dec 16 23:46:34 2001 -@@ -411,8 +411,8 @@ - main_memory.context = 1500000 - main_memory.mpost = 1000000 - main_memory = 263000 % words of inimemory available; also applies to inimf&mp --extra_mem_top = 0 % extra high memory for chars, tokens, etc. --extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc. -+extra_mem_top = 1000000 % extra high memory for chars, tokens, etc. -+extra_mem_bot = 1000000 % extra low memory for boxes, glue, breakpoints, etc. - - obj_tab_size.context = 300000 - -@@ -430,7 +430,7 @@ - % Max number of characters in all strings, including all error messages, - % help texts, font names, control sequences. These values apply to TeX and MP. - pool_size.context = 750000 --pool_size = 125000 -+pool_size = 250000 - % Minimum pool space after TeX/MP's own strings; must be at least - % 25000 less than pool_size, but doesn't need to be nearly that large. - string_vacancies.context = 45000 -@end example - -You could also export @env{extra_mem_top} and @env{extra_mem_bot} as -environment variables if you do not want to or cannot modify -@file{/etc/texmf/texmf.cnf}. - -Alternatively, visit: - -@itemize @bullet -@item @uref{http://packages.debian.org/lilypond,http://packages.debian.org/lilypond} -@item @uref{http://people.debian.org/~foka/lilypond/,http://people.debian.org/~foka/lilypond/} -for latest semi-unofficial build of LilyPond 1.4.2 for Debian 2.2 (potato) users. -The official stable Debian 2.2 is stuck with the old LilyPond-1.3.24. -Since LilyPond-1.4 has been released, the older lilypond1.3 Debian -package is now obsolete. -@end itemize - -Please contact Anthony Fok @email{lilypond@@packages.debian.org} for more -information. - -The build scripts are in the subdirectory @file{debian/}; you can -make the .deb by doing, for example: - -@example - $ su - root - # dpkg --purge lilypond lilypond1.3 - # exit - $ tar xzf lilypond-1.4.3.tar.gz - $ cd lilypond-1.4.3 - $ dch -p -v 1.4.3-0.local.1 "Local build." - $ debuild -B - $ su - root - # dpkg -i ../lilypond_1.4.3*.deb - # exit - $ -@end example - -Use command @command{debuild} instead of @command{debuild -B} if you have -a very fast machine and want to build the HTML, PS and DVI documentation -too. - -For compilation on a Debian GNU/Linux system you need these packages, -in addition to the those needed for running: - -@itemize @bullet -@item g++, cpp, libc6-dev, libstdc++<@var{your-libstdc++-version-here}>-dev -@item libguile<@var{your-libguile-version-here}>-dev -@item make, m4, flex, bison -@item gettext -@item groff, texinfo -@item tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev -@item dpkg-dev, debhelper, fakeroot -@item gs, netpbm -@item pnmtopng (only in Debian 2.2; pnmtopng has been merged with netpbm - in Debian testing/unstable.) -@end itemize - -Most of these are listed on the @samp{Build-Depends} line in the -@file{debian/control} file. To ensure the creation of the lilypond deb is -trouble-free, we recommend that you first install the following packages -by running \@command{apt-get} as root before building the package: - -For Debian 2.2: - -@example - apt-get install task-debian-devel task-c++-dev \ - python-base libguile6-dev tetex-bin tetex-dev \ - tetex-extra flex bison texinfo groff gs \ - netpbm pnmtopng m4 gettext -@end example - -For Debian in development ("unstable", the future 2.3 or 3.0): - -@example - apt-get install binutils cpp gcc libc6-dev \ - g++ libstdc++2.10-dev \ - python-base libguile-dev tetex-bin libkpathsea-dev \ - tetex-extra flex bison texinfo groff gs \ - netpbm m4 gettext -@end example - -And, just so that old fonts from previous versions of LilyPond won't -interfere with your build, you may want to do this before the build too: - -@example - dpkg --purge lilypond lilypond1.3 -@end example - -@subsection MacOS X - -LilyPond is available through fink, in the unstable cvs distribution. - -You need to: -@itemize @bullet -@item Get the Fink package manager from @uref{http://fink.sourceforge.net}. -@item Get the LilyPond package description by enabling the "unstable" tree -in fink and executing @command{fink selfupdate-cvs}. -@end itemize - -Then do: -@quotation -@example - fink install lilypond-unstable -@end example -@end quotation - -That's it! The command should compile and install all LilyPond -prerequisites (python, TeX, X11, ghostscript) and then LilyPond -itself. - - -@subsection Compiling on MacOS X -LilyPond has been built on Darwin, to be precise, on: -@example - Darwin buoux.aspiratie.nl 5.3 Darwin Kernel Version 5.3: Thu Jan 24 - 22:06:02 PST 2002; root:xnu/xnu-201.19.obj~1/RELEASE_PPC Power Macintosh powerpc -@end example - -using: - -@example - Apple Computer, Inc. version gcc-932.1, based on gcc version 2.95.2 19991024 (release) -@end example - -To make sure you have all packages needed to build LilyPond installed, -run as root: - -@example - apt-get install bash python guile debianutils flex bison texinfo \ - ghostscript6 netpbm m4 gettext -@end example - -and: - -@example - fink install tetex -@end example - -For more information about @file{apt-get} and @file{fink}, see -@uref{http://fink.sf.net,fink.sourceforge.net}. - -@c brokenness of autoconf; don't ask -Then, configure, patch, make and install LilyPond using these commands: - -@example - CC="cc -I/sw/include" CXX="c++ -I/sw/include" LDFLAGS="-L/sw/lib" \ - ./configure --prefix=/sw - make -C lily out/parser.hh out/parser.cc out/config.h - patch -p0 < darwin.patch - make -C lily out/parser.o - make DEPENDENCIES_OUTPUT=/dev/null all - make install -@end example -For installing, you must be root, of course. -@c Why isn't this in BUGS (where it belongs?) @section Problems For help and questions use @email{lilypond-user@@gnu.org}. Please @@ -661,8 +323,7 @@ environment variables set during make. @unnumberedsubsec Gcc-3.0.4 -Gcc 3.0.4, is a bit flaky. Try downgrading to 2.95.x, or if you're -adventurous (see below), upgrading to 3.1.x. +Gcc 3.0.4 is flaky; upgrade GCC. @unnumberedsubsec Flex-2.5.4a and gcc-3.x @@ -676,8 +337,6 @@ LilyPond with gcc-3.0 you may do: make conf=gcc-3.0 -C lily @end example -Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13. - @unnumberedsubsec Flex-2.5.4a and gcc-3.1.x Flex 2.5.4a does not produce g++-3.1.1 compliant C++ code. To compile @@ -691,38 +350,21 @@ LilyPond with gcc-3.1.1 you may do: make conf=gcc-3.1 @end example -This assumes that the GCC 3.1 binaries are called gcc-3.1 and g++-3.1. -Note that this is @strong{not} fixed in Debian/unstable for flex <= -2.5.4a-26. - -@unnumberedsubsec Linux-2.4.0, Guile-1.4 --with-threads - -There's a bug in certain kernels around version 2.4.0, that is -triggered when using Guile 1.4 compiled with pthreads. You'll see -random segmentation fault crashes of LilyPond. Upgrade to a newer -version of Linux. If you can't do that, you may try to recompiling -Guile without threads (YMMV): -@example - guile-1.4$ ./configure --without-threads; make all install -@end example @unnumberedsubsec OpenBSD @itemize @bullet -@item By default, gcc on OpenBSD doesn't include -@file{/usr/local/include} and @file{/usr/local/lib} in the system -paths. Depending upon where/how you installed kpathsea and other -libraries, you may need to refer to the section ``Linking to -kpathsea''. - +@item + Refer to the section ``Linking to kpathsea'': GCC on OpenBSD doesn't +set include paths for kpathsea. @end itemize @unnumberedsubsec NetBSD @itemize @bullet @item The flex precompiled in NetBSD-1.4.2 is broken. -Download flex-2.5.4a, build, install. +Upgrade to flex-2.5.4a. @item The configuration of Gcc (egcs-2.91.60 19981201 (egcs-1.1.1 release)) does not include @file{/usr/pkg} paths. Configure using: @@ -750,10 +392,6 @@ or: CONFIG_SHELL=/bin/bash bash -c ./configure @end example -@item Sparc64/Solaris 2.6, GNU make-3.77 - -GNU make-3.77 is buggy on this platform, upgrade to 3.78.1 or newer. - @item Sparc64/Solaris 2.6, ld Not yet resolved. diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 02659ce3f9..fc65e33cc6 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -312,8 +312,8 @@ DVI output to `test.dvi'... @cindex Viewing music @cindex xdvi -The result of the ly2dvi is the file @file{test.pdf}.@footnote{ For -@TeX{} afficionados, there is also a (@file{test.dvi}) file. It can be +The result of the ly2dvi is the file @file{test.pdf}.@footnote{For +@TeX{} afficionados, there is also a @file{test.dvi} file. It can be viewed with @code{xdvi}. The DVI uses a lot of PostScript specials, which do not show up in the magnifying glass. The specials also mean that the DVI file cannot be processed with @code{dvilj}. Use @@ -323,7 +323,6 @@ that the DVI file cannot be processed with @code{dvilj}. Use @cindex DVI driver } One of the following commands should put the PDF on your screen: -@c eeek @quotation @example gv test.pdf @@ -333,6 +332,7 @@ screen: xpdf test.pdf gpdf test.pdf acroread test.pdf + gsview32 test.pdf @end example @end quotation If the music on your screen looks good, you can print it by clicking @@ -345,28 +345,24 @@ File/Print inside your viewing program. @cindex PDF -On Windows, the terminal is started by clicking on the LilyPond or -Cygwin icon. Any text editor (such as NotePad, Emacs or Vim) may be -used to edit the LilyPond file. If you have a PDF viewer installed, -use that for viewing the PDF -@c where on file system for double-click people? -If you have no viewer, then you can download @code{GSView} from -@uref{http://www.cs.wisc.edu/~ghost}. With @code{GSView}, -the PDF file can viewed with -@quotation -@example -@code{gsview32 test.pdf} -@end example -@end quotation -Printing may be done with -@quotation -@example -@code{gsview32 /s test.pdf} -@end example -@end quotation +On Windows, the same procedure should work, the terminal is started by +clicking on the LilyPond or Cygwin icon. Any text editor (such as +NotePad, Emacs or Vim) may be used to edit the LilyPond file. + +To view the PDF file, try the following: +@itemize +@item +If your system has a PDF viewer installed, open +@file{C:\Cygwin\home\@var{your-name}} in the explorer and double-click +@file{test.pdf}. +@item +If you prefer the keyboard, you can also try the list of commands +shown before. If none work, go to +@uref{http://www.cs.wisc.edu/~ghost/} to install the proper software. +@end itemize -The commands for formatting and printing music are detailed in -@ref{Invoking LilyPond}. +The commands for formatting and printing music on all platforms are +detailed in @ref{Invoking LilyPond}. @node More about pitches and accidentals @section More about pitches and accidentals diff --git a/buildscripts/convert-new-chords.py b/buildscripts/convert-new-chords.py index 59a2081941..5941d445d0 100644 --- a/buildscripts/convert-new-chords.py +++ b/buildscripts/convert-new-chords.py @@ -127,8 +127,12 @@ def sub_chords (str): str= re.sub (r'\\>', '@STARTDECRESC@', str) str= re.sub (r'([_^-])>', r'\1@ACCENT@', str) str = re.sub ('<([^<>{}]+)>', sub_chord, str) - str = re.sub (r'\\! *@STARTCHORD@([^@]+)@ENDCHORD@', - r'@STARTCHORD@\1@ENDCHORD@-\!', + + str = re.sub (r'\[ *(@STARTCHORD@[^@]+@ENDCHORD@[0-9.]+)', + r'\1-[', + str) + str = re.sub (r'\\! *(@STARTCHORD@[^@]+@ENDCHORD@[0-9.]+)', + r'\1-\\!', str) str = re.sub ('<([^?])', r'%s\1' % simstart, str) str = re.sub ('>([^?])', r'%s\1' % simend, str) diff --git a/input/les-nereides.ly b/input/les-nereides.ly index cfd1ddffd1..b40514c0a6 100644 --- a/input/les-nereides.ly +++ b/input/les-nereides.ly @@ -5,123 +5,85 @@ title = "LES N\\'ER\\'EIDES" subtitle = "THE NEREIDS" enteredby = "JCN" - %piece = "Allegretto scherzando" + piece = "Allegretto scherzando" copyright = "public domain" - description = "Nastiest piece of competition at http://www.orphee.com/comparison/study.html, see http://www.orphee.com/comparison/gray.pdf" } +%{ + +Nastiest piece of competition at +http://www.orphee.com/comparison/study.html, see +http://www.orphee.com/comparison/gray.pdf + +%} + #(ly:set-point-and-click 'line-column) #(define (make-text-checker text) (lambda (elt) (equal? text (ly:get-grob-property elt 'text)))) treble = \context Voice=treble \notes\relative c''{ -\key a \major - % Broken? - \property Voice.NoteColumn \override #'horizontal-shift = #0 - \outputproperty #(make-type-checker 'text-interface) - #'extra-offset = #'(-6 . 2) - r2^#'((Large upright) "Allegretto scherzando") + \key a \major + r2 %2 - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #1 - r4 r2 + \stemUp + r4 <>-\arpeggio r2 %3 - r4 r8. + r4 <>-\arpeggio r8. - % Urg, this lifts us up to staff context \translator Staff=bass - % Get back: - \context Voice - - % If we don't get back to Voice, this text-checker doesn't work - \outputproperty #(make-text-checker "m.d.") - #'extra-offset = #'(-3 . -4) + \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -4) - % currently, this can't be (small) italic, because in the paperblock + % currently, this can't be (small italic,-) because in the paperblock % we set italic_magnifictation to get large italics. - cis,16^2^"m.d."( + cis,16^2^"m.d."( <>8 <> %4 - <)dis,4 a' dis> + <>4-) - % Urg, this lifts us up to staff context \translator Staff=treble - % Get back: - \context Voice - \property Voice.Slur \revert #'direction - \property Voice.Slur \override #'direction = #1 + \slurUp \property PianoStaff.connectArpeggios = ##t - \property Voice.TextSpanner \revert #'type - - %% Ghostview is ok, but xdvi shows a solid line - \property Voice.TextSpanner \override #'thickness = #2 - \property Voice.TextSpanner \override #'dash-period = #0.5 - \property Voice.TextSpanner \override #'type = #'dotted-line - \property Voice.TextSpanner \override #'edge-height = #'(0 . 1.5) - %% \property Voice.TextSpanner \override #'edge-text = #'("8 " . "") - \property Voice.TextSpanner \override #'edge-text = #'("8 " . " ") + #(set-octavation 1) - % Urg, this lifts us up to staff context - \property Staff.centralCPosition = #-13 - - % Get back: - \context Voice - - % If we don't get back to Voice, this text-checker doesn't work - \outputproperty #(make-text-checker "m.g.") - #'extra-offset = #'(-3 . -3) + \once\property Voice.TextScript \set #'extra-offset = #'(-3 . -2) - % currently, this can't be (small) italic, because in the paperblock - % we set italic_magnifictation to get large italics. - cis''''4^"m.g."-\arpeggio #(ly:export (make-span-event 'TextSpanEvent START)) ( - - \property Voice.Stem \revert #'direction - + \tieUp + cis''''4^\markup { \small \italic "m.g." }-\arpeggio-~ \grace { - )cis8 - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #0 - [a16-5( fis dis #(ly:export (make-span-event 'TextSpanEvent STOP)) ] - \property Staff.centralCPosition = #-6 + cis8 + \stemBoth + a16-[-5( fis dis-] + #(set-octavation 0) - [cis32 a-1 fis-4 dis] [cis a )fis-2] + cis32-[ a-1 fis-4 dis] cis-[ a fis-)-2] } - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #1 - cis'4()bis + \stemUp + cis'4( bis-) r8 - )e^" "^1^4^5 r| - r )e r| + <>8-( <> <> <> <> e-)^" "^1^4^5 r| + r <>8-( <> <> <> <> e-) r| \bar "||" } trebleTwo = \context Voice=trebleTwo \notes\relative c''{ - \property Voice.NoteColumn \override #'horizontal-shift = #1 s2 s1*2 s4 - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #-1 - + \stemDown + <>4-\arpeggio - \property Voice.NoteColumn \override #'force-hshift = #-0.2 - - % Hmm s/r? - %r8 cis4. d4 + <>2 s8 cis4. d4 - \property Voice.NoteColumn \revert #'force-hshift - [ | - \property Voice.NoteColumn \override #'force-hshift = #-0.2 - <)a-2 cis,-1>] cis4. d4 - \property Voice.NoteColumn \revert #'force-hshift - [ | - <)a cis,>] + <>8-[-( <> | + <>-)] cis4. d4 + <>8-[-( <> | + <>-)] } bass = \context Voice=bass \notes\relative c{ @@ -131,87 +93,66 @@ bass = \context Voice=bass \notes\relative c{ \property Voice.Slur \override #'beautiful = #5.0 \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . -4)) - \property Voice.Stem \revert #'direction - \property Voice.Slur \override #'direction = #-1 - % huh, auto-beamer? - r8. e,16_2( [ ] | + \slurDown + r8. e,16_2( <>8-[ <>] | %2 - - % Huh, urg? Implicit \context Staff lifts us up to Staff context??? + <>4 \translator Staff=treble - % Get back - \context Voice - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #-1 + \stemDown \property Voice.Slur \override #'attachment = #'(stem . stem) - <)a''4-\arpeggio eis cis> + <>4-)-\arpeggio %\stemBoth \property Voice.Slur \revert #'attachment - % Huh, urg? Implicit \context Staff lifts us up to Staff context??? \translator Staff=bass - % Get back - \context Voice - \property Voice.Stem \revert #'direction + \stemBoth \property Voice.Slur \revert #'y-free \property Voice.Slur \override #'y-free = #0.1 \property Voice.Slur \revert #'attachment-offset \property Voice.Slur \override #'attachment-offset = #'((0 . 3) . (0 . 8)) - r8. cis,,16( + r8. cis,,16( <>8 <> %3 - \property Voice.Stem \revert #'length - \property Voice.Stem \override #'length = #5 - - % Huh, urg? Implicit \context Staff lifts us up to Staff context??? + \property Voice.Stem \set #'length = #5 + <>4 \translator Staff=treble - % Get back - \context Voice + \property Voice.Stem \revert #'length \property Voice.Stem \revert #'direction \property Voice.Stem \override #'direction = #-1 - <)a'-\arpeggio fis cis> - % Huh, urg? Implicit \context Staff lifts us up to Staff context??? + <>-)-\arpeggio \translator Staff=bass - % Get back - \context Voice \property Voice.Stem \revert #'direction r2 %4 \property Voice.Slur \revert #'beautiful \property Voice.Slur \revert #'attachment-offset - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #-1 - + \stemDown + <>4 \clef treble - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #0 + \stemBoth < %urg: staff-change: ! on dis - + <>-\arpeggio % { s8. \clef bass} > %Hmm %\grace { s16 s s s s32 s s s s \clef bass s } \clef bass - \grace { } <)gis'2 e> + \grace { <>32-( } <>2-) %5 - \property Voice.Slur \revert #'direction - \property Voice.Slur \override #'direction = #1 - a,8 [e'-5(<)a-2 cis-3>] - r b,-5 - \property Voice.Slur \revert #'direction - \property Voice.Slur \override #'direction = #0 - [e,8-5(| + \slurUp + a,8 e'-[-5(<>-)] + r b,-5 <>4 + \slurBoth + e,8-[-5(| %6 - )a-2] - \property Voice.Slur \revert #'direction - \property Voice.Slur \override #'direction = #1 - [e'(<)a cis>] r b, - \property Voice.Slur \revert #'direction - \property Voice.Slur \override #'direction = #0 - [e,8(| + a-)-2] + \slurUp + e'-[(<>-)] r b, <>4 + \slurBoth + e,8-[(| %7 - )a] + a-)] } bassTwo = \context Voice=bassTwo \notes\relative c{ @@ -219,12 +160,10 @@ bassTwo = \context Voice=bassTwo \notes\relative c{ \skip 1*2 \skip 2 - \property Voice.Stem \revert #'direction - \property Voice.Stem \override #'direction = #1 - \property Voice.Slur \revert #'direction - \property Voice.Slur \override #'direction = #1 + \stemUp + \slurUp - cis'4()bis + cis'4( bis-) } middleDynamics = \context Dynamics=middle \notes{ @@ -234,22 +173,16 @@ middleDynamics = \context Dynamics=middle \notes{ s2 s32 - \outputproperty #(make-type-checker 'text-interface) - #'extra-offset = #'(0 . 1.5) + \once \property Dynamics.TextScript \set #'extra-offset = #'(0 . 1.5) s-"rall." s s s8 s4 - - \outputproperty #(make-type-checker 'dynamic-interface) - #'extra-offset = #'(0 . 4) + %s1-\mf-"a tempo" -%% s2-\mf-"a tempo" s4 s2-\mf-"a tempo" s8 -%% s\> \!s8 - s16 s32 s64 \> s s8 s \!s8 - \outputproperty #(make-type-checker 'dynamic-interface) - #'extra-offset = #'(-1 . 4) -%% s8-\mf s4 s4 s8\> s32 s s \!s - s8-\mf s4 s8 s16 s32 s64 \> s s16 s8 s32 s s s\! s128 +%% s\> s8-\! + s16 s32 s64 \> s s8 s s8-\! +%% s8-\mf s4 s4 s8\> s32 s s s-\! + s8-\mf s4 s8 s16 s32 s64 \> s s16 s8 s32 s s s s128-\! } lowerDynamics = \context Dynamics=lower \notes{ @@ -301,21 +234,14 @@ lowerDynamics = \context Dynamics=lower \notes{ > > \paper { - % Hmm - % magnification_italic = 1. \translator { \ScoreContext - TimeSignature \override #'style = #'C - %% SpacingSpanner \override #'maximum-duration-for-spacing = #(ly:make-moment 1 4) - \remove Bar_number_engraver } \translator { \type "Engraver_group_engraver" \name Dynamics \consists "Output_property_engraver" - %%Generic_property_list = #generic-voice-properties - %%\consists "Property_engraver" minimumVerticalExtent = #'(-1 . 1) pedalSustainStrings = #'("Ped." "*Ped." "*") @@ -345,3 +271,4 @@ lowerDynamics = \context Dynamics=lower \notes{ %%% Local variables: %%% LilyPond-indent-level:4 %%% End: +%% new-chords-done %% diff --git a/input/regression/spacing-note-flags.ly b/input/regression/spacing-note-flags.ly index 191633e0e1..aefd46c2c6 100644 --- a/input/regression/spacing-note-flags.ly +++ b/input/regression/spacing-note-flags.ly @@ -12,7 +12,6 @@ texidoc = "The flags of 8th notes take some space, but not a8 a8 a8 a8 } \paper { -%stafflinethickness = 0.0 raggedright = ##t } } diff --git a/input/regression/spacing-rest.ly b/input/regression/spacing-rest.ly index 758bf7df56..c569a40c2b 100644 --- a/input/regression/spacing-rest.ly +++ b/input/regression/spacing-rest.ly @@ -10,7 +10,6 @@ very small. r4 c4 c4 c4 r4 r4 c4 } \paper { -%stafflinethickness = 0.0 raggedright = ##t } } diff --git a/input/test/ancient-font.ly b/input/test/ancient-font.ly index affff44f21..d4b614d59f 100644 --- a/input/test/ancient-font.ly +++ b/input/test/ancient-font.ly @@ -223,8 +223,7 @@ lowerStaff = \context MensuralStaff = lowerStaff < % do we want to keep these settings? -gp linewidth = 17.25\cm textheight = 26.0\cm - - stafflinethickness = \staffspace / 5.0 + stafflinethickness = #(/ staffspace 5.0) indent = 0.0 \translator { \ScoreContext diff --git a/input/test/gregorian-scripts.ly b/input/test/gregorian-scripts.ly index 031ce2c17a..922b8e07ad 100644 --- a/input/test/gregorian-scripts.ly +++ b/input/test/gregorian-scripts.ly @@ -47,8 +47,8 @@ cantus = \notes \relative c' { > > \paper { - stafflinethickness = \staffspace / 5.0 linewidth = 70.0 + stafflinethickness = \staffspace / 5.0 width = 60.0 indent = 0.0 raggedright = ##t -- 2.39.2