diff options
author | Han-Wen Nienhuys <hanwen@xs4all.nl> | 2002-03-29 01:07:09 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@xs4all.nl> | 2002-03-29 01:07:09 +0000 |
commit | f05cfd7757b31723fe6af2f5c0e2fdbaebea3b85 (patch) | |
tree | e0bba96c708ad1d3f5dcd322f44a8dd1ee6eabf1 | |
parent | f7f4d9dcd37086b5c8b417719a0fcc924aceef92 (diff) |
''
57 files changed, 350 insertions, 2023 deletions
diff --git a/AUTHORS.txt b/AUTHORS.txt deleted file mode 100644 index e3dc690523..0000000000 --- a/AUTHORS.txt +++ /dev/null @@ -1,90 +0,0 @@ - - -AUTHORS -******* - - This file lists authors of GNU LilyPond, and what they wrote. This -list is alphabetically ordered. - - * Tom Cato Amundsen <tca@gnu.org>, cembalo-partita in lilypond, - accordion symbols, some lilypond-book.py - - * Mats Bengtsson <matsb@s3.kth.se>, - `http://www.s3.kth.se/~matsb/' lots of testing, fixes, general - comments and contributions. - - * Eric Bullinger <eric@aut.ee.ethz.ch>, accidental transposition. - - * Laura Conrad (lconrad@world.std.com) fixes to abc2ly - - * Jan Arne Fagertun <Jan.A.Fagertun@trondheim.online.no>, TeX - titling and lytodvi.sh - - * Anthony Fok <foka@debian.org>, Debian package: debian/* - - * James Hammons <jlhamm@pacificnet.net>, American chord names, - gnu-windows testing - - * Bjoern Jacke <bjoern.jacke@gmx.de> German glossary stuff. - - * Chris Jackson <chris@fluffhouse.org.uk>, Piano pedals, Emacs - mode indentation, directed arpeggios. - - * Neil Jerram <nj104@cus.cam.ac.uk>. parts of - Documentation/Vocab* - - * Heikki Junes <heikki.junes@hut.fi>. Finnish note names, - updates to Emacs-mode - - * Donald Ervin Knuth, `http://www-cs-staff.stanford.edu/~knuth/' - mf/ital-*.mf (these were taken from the CM fonts) - - * Michael Krause <m.krause@tu-harburg.de>, breathing signs - - * Dirk Lattermann <dlatt@datenrat.de>, minor improvements on - accidentals/ties/multi measure rests - - * Werner Lemberg <wl@gnu.org>, misc bugfixes, some Beam and Stem - code. - - * David R. Linn <drl@vuse.vanderbilt.edu>, Mailing list - maintenance. - - * Adrian Mariano <> Reference manual, tutorial fixes, glossary. - - * Christian Mondrup <scancm@biobase.dk> Glossary. - - * Han-Wen Nienhuys <hanwen@cs.uu.nl>, - `http://www.cs.uu.nl/~hanwen/' Main author (initials: HWN). - - * Jan Nieuwenhuizen <janneke@gnu.org>, - `http://www.xs4all.nl/~jantien/' Main author (initials: JCN). - - * Alexandre Oliva <oliva@dcc.unicamp.br>, - `http://sunsite.unicamp.br/~oliva/' testing - - * Francois Pinard <pinard@iro.umontreal.ca>, - `http://www.iro.umontreal.ca/~pinard/' parts of - Documentation/Vocab*, started internationalization stuff - - * Stephen Peters <portnoy@ai.mit.edu>, pdfTeX support - - * Glen Prideaux <glenprideaux@iname.com>, minor bug fixes, - lyric-phrasing. - - * Roy R. Rankin <Roy.Rankin@alcatel.com.au>, major extension, - fixes to abc2ly, lilypond bug fixes - - * Juergen Reuter <reuterj@ira.uka.de> Ancient notation - support (custos, porrectus, mensural notation, ancient - clefs, etc.) - - * Jeffrey B. Reed <daboys@austin.rr.com>, Windows-NT support. - - * Shay Rojanski Some lilypond input. - - * August S.Sigov <august@infran.ru> Russian translation - - * Rune Zedeler <rune@zedeler.dk> Drum notation, beaming and - auto-accidental changes. Font updates. Misc fixes. - @@ -1,5 +1,53 @@ +2002-03-29 Han-Wen <hanwen@cs.uu.nl> + + * input/regression/spacing-note-flags.ly: new file + + * input/regression/spacing-rest.ly: new file + + * mf/feta-eindelijk.mf: make bbox of quarter rest tighter. + + * lily/spacing-spanner.cc (note_spacing): make note spacing after + all grace notes tight (not only the column directly following a + grace note). + + * scm/grob-description.scm (all-grob-descriptions): don't make + mm-rests larger than normal. + + * mf/feta-banier.mf: make upflag narrower. Make end of flag more + curved. Remove white space at the right of flags. + +2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org> + + * ports/ports.make: Bugfix: ignore CVS directories. + + * stepmake/.cvsignore: New file. + +2002-03-28 Han-Wen <hanwen@cs.uu.nl> + + * lily/note-spacing.cc (stem_dir_correction): don't correct when + there is a flag on the stem. + + * lily/multi-measure-rest.cc (brew_molecule): variable width molecule. + + * scm/grob-property-description.scm (measure-length): + measure-length grob property. + + * lily/spacing-spanner.cc (standard_breakable_column_spacing): + better spacing for breakable columns when they're juxtaposed: use + measure length if applicable + + * lily/timing-engraver.cc (start_translation_timestep): store + measure length in breakable column at start of measure. + +2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org> + + * ROADMAP: Add description for ports dir, to check email upon + commit. + 2002-03-27 Han-Wen <hanwen@cs.uu.nl> + * VERSION: 1.5.48 released + * lily/multi-measure-rest.cc (symbol_molecule): split off from brew_molecule() (set_spacing_rods): Use symbol_molecule() to determine minimum diff --git a/Documentation/bibliography/html-long.bst b/Documentation/bibliography/html-long.bst index 85a6163586..79857470d0 100644 --- a/Documentation/bibliography/html-long.bst +++ b/Documentation/bibliography/html-long.bst @@ -1,7 +1,7 @@ % BibTeX bibliography style `html-long' % spits out HTML-formatted bibliography in place of bbl output % by David Kotz dfk@cs.dartmouth.edu -% $Id: html-long.bst,v 1.1 1999/03/11 22:00:27 dfk Exp dfk $ +% $Id: html-long.bst,v 1.2 2001/12/05 17:26:32 fred Exp $ % modified from % BibTeX standard bibliography style `alpha' % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. diff --git a/Documentation/pictures/out/lilypond-icon.xpm b/Documentation/pictures/out/lilypond-icon.xpm deleted file mode 100644 index 0ad7f75dc1..0000000000 --- a/Documentation/pictures/out/lilypond-icon.xpm +++ /dev/null @@ -1,141 +0,0 @@ -/* XPM */ -static char *noname[] = { -/* width height ncolors chars_per_pixel */ -"50 71 63 2", -/* colors */ -"`` c #666664", -"`a c #F2F2F4", -"`b c #5E5E5C", -"`c c #EAEAEC", -"`d c #565654", -"`e c #E2E2E4", -"`f c #4E4E4C", -"`g c #DADADC", -"`h c #464644", -"`i c #D2D2D4", -"`j c #3E3E3C", -"`k c #CACACC", -"`l c #363634", -"`m c #C2C2C4", -"`n c #2E2E2C", -"`o c #BABABC", -"`p c #262624", -"`q c #B2B2B4", -"`r c #1E1E1C", -"`s c #AAAAAC", -"`t c #161614", -"`u c #A2A2A4", -"`v c #0E0E0C", -"`w c #9A9A9C", -"`x c #060604", -"`y c #929294", -"`z c #8A8A8C", -"a` c #828284", -"aa c #7A7A7C", -"ab c #727274", -"ac c #6A6A6C", -"ad c #626264", -"ae c #5A5A5C", -"af c #525254", -"ag c #4A4A4C", -"ah c #424244", -"ai c #3A3A3C", -"aj c #323234", -"ak c #2A2A2C", -"al c #FEFEFC", -"am c #222224", -"an c #F6F6F4", -"ao c #1A1A1C", -"ap c #EEEEEC", -"aq c #121214", -"ar c #E6E6E4", -"as c #0A0A0C", -"at c #DEDEDC", -"au c #D6D6D4", -"av c #CECECC", -"aw c #C6C6C4", -"ax c #BEBEBC", -"ay c #B6B6B4", -"az c #AEAEAC", -"b` c #A6A6A4", -"ba c #9E9E9C", -"bb c #969694", -"bc c #8E8E8C", -"bd c #868684", -"be c #7E7E7C", -"bf c #767674", -"bg c #6E6E6C", -"bh c #FAFAFC", -/* pixels */ -"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal", -"alalbhbhalalbhalalbhalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalal", -"alalalbhbhalalbhalalalalalalalalalalalalalalalalalal`o`ya``s`wbhalalalalalalalalalalalalalalalalalal", -"bhalalalalalbhalalalalalalalalalalalalalalalalalal`a`malalalap`obb`malalalalal`cax`galalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalalalalalalbcalbhalalalalalax`ialalal`gauav`u`ealalalalalalal", -"alalalalalalalbhalalalalalalalalalalalalalalalalawar`ialalalalalalalaxapalalbaacat`i`oalalalalalalal", -"alalbhalalalalbhalalalalalalalalalalalalalalalalazal`sbhalalalalalalalayalbh`eba`iapavalalalalalalal", -"albhalbhalalalalalalalalalalalalalalalalalalalal`oatalb``aalalalalalal`oanazazanbhayalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalalalanawal`salalbaalalalalalalalazaa`cav`oalalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalalapawalalaranal`i`qalalalalalalbeayazbcbcalalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalal`g`oapalalalalal`yalalalalal`gbbabbhapalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalalal`sanalalalalalbdalalalalalbc`obbalalalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalalapaaanalalalalal`qatan`ealax`sbbazalalalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalal`kab`oalalalalalau`uaw`salbb`ua`bcalalalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalalalayalalalalalalan`ea`axax`oba`oazaxaralalalalalalalalalalal", -"alalalalalalalalalalapbhalalalalalalalalalaybhalalalalan`s`sazav`gaz`qbdalalazalalalalalalalalalalal", -"alalalalalalalalalalax`u`aalalalalalalalalaraw`o`c`c`aaxaw`g`kav`sayb`ayalal`m`calalalalalalalalalal", -"alalalalalalalalalalal`c`sbhalalalalalalalalalal`c`jb`albh`yavapazay`w`ialalalay`aalalalalalalalalal", -"alalalalalalalalalalalalar`qbhalalalalalalalalalal`v`sav`abcaubbaw`u`salalalalalayapalalalalalalalal", -"alalalalalalalalalalalalal`i`kalalalalalalalalalal`l`way`uau`cazazazbc`q`ialalalal`galalalalalalalal", -"alalalalalalalalalalalalalalaw`galalalalalalan`i`m`hbe`q`oap`w`m`uax`ialax`salalalalalalalalalalalal", -"alalalalalalalalalalalalalalal`oatalalalbh`kbaadagad```oav`i`mb`ba`ualalal`i`oalalalalalalalalalalal", -"alalalalalalalalalalalalalalalanaz`aalanaz`nag`ian`w`k`iar`waw`o`o`ialalalalau`ialalalalalalalalalal", -"alalalalalalalalalalalalalalalalapba`c`zakac`aalau`calapaz`gbabb`qbhalalalalal`ualalalalalalalalalal", -"alalalalalalalalalalalalalalalalal`ibdambd`c`aalalalal`a`yax`kb``u`aalalalalal`e`kalalalalalalalalal", -"alalalalalalalalalalalalalalalalarbcajbf`q`kalalalalal`w`c`sbc`k`e`kalalalalalal`salalalalalalalalal", -"alalalalalalalalalalalalalalalalawaoaibbaw`kalalalalapbaaw`gb`baalaualalalalalal`salalalalalalalalal", -"alalalalalalalalalalalalalalal`cbgaq`y`q`o`ialalalal`wbh`sba`g`oalaralalalalalal`ualalalalalalalalal", -"alalalalalalalbhbhalalalalalalar`v`lbfazap`qapalal`gaz`k`e`y`u`galbhalalalalalalb`alalalalalalalalal", -"alalalalalalalalalalalalalalalbb`x`l`qayalap`u`aala`al`u`q`ebebhalbhalalalalalalb`alalalalalalalalal", -"alalalalalalalalalalalalalalal`gao`hayazalalapb``kax`iaubeaybaalalalalalalalalalbaalalalalalalalalal", -"alalalalalalalalalalalalalalalalbdahba`galalalatbcalbb`maxbeatalalalalalalalalalbaalalalalalalalalal", -"alalalalalalalalalalalalalalalalau`jb``calbhalal`k`oaw`zapbfalalalalanalalalalal`salalalalalalalalal", -"alalalalalalalalalalalalalalalal`aad`malalbbalalal`o`kbb`y`ialalalal`walalalalal`qalalalalalalalalal", -"alalalalalalalalalalalalalalalalalbebaalapbfalalalbhbb`c`dalalalalalagalalalalap`oalalalalalalalalal", -"alalalalalalalalalalalalalalalalalbb`ialalajalalalalap`w`walalalalaxaaalalalal`qalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalazalalalbf`aalalalalbaayanalalalbg`ealalalbh`qalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalaxalalalbebhalalal`c`s`saxalalal``alalalalaybhalalalalalalalalalal", -"alalalalalalalalalalalalalalalalal`oalalal`ealalalalbb`eaw`uawalalawalbhalataualalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalanalalalalalalalal`wb`alayb``malalal`sal`oalalalalalalalalalalalal", -"alalalalalalalalalalalalalalalalalalalal`galalalal`q`g`wauaraz`yalalaxapalbhalalalalalalalalalalalal", -"alalalalbhalalalalbhalalalalbhbhalalbhal`salalalal`waw`kay`kapb`al`k`galalalbhbhbhbhbhalalalalalalal", -"albhbhalbhalalalalbhalalalalalbhalalal`i`malalbhar`sbdal`q`oalalal`walalbhalalalalalbhalalalalalalal", -"bhalalalalalalalalalalalbhalalal`ialalanavalalalbcalbbat`g`qalbhar`qalalalalalalalalalbhbhbhbhbhbhal", -"alalalalbhbhbhalalbhbhalalalal`mbealbhalawalalalbd`iat`oaratalal`yalbhalalalalalalalalalalalalalbhal", -"alalbhalalalalbhalalalalbhbhal`najalal`aarbhal`s`eazalazazalal`cb`alalalbhbhbhbhbhalalalalalalalalal", -"bhalbhalalalalbhalalalalalalbbas`naralalalalal`yalazarauayalalbaa`albhalalalalalbhalalalalalalalbhal", -"alalalalalalalalalalbhalal`aaq`r`hbdalalalalaraz`m`aazan`mal`ebd`jalalalalalalalalbhbhbhbhbhbhalalal", -"alalbhbhbhalalbhbhalalalalaa`vah`d`d`calbhalbaal`qal`o`obhalbhbd`ray`i`gbhalalalalalalalalalbhalbhal", -"bhalalalalbhalalalalbhalal`v`t`lah```ualalalbaan`q`cavaxalalatbeai`hauaw`waz`kav`ialalalalalalalalal", -"bhalalalalbhalalalalal`aap`x`tahafbb`ybdalavat`sbh`sal`qalal`c`qafam`faab`axauav`i`s`oaualalbhalbhal", -"alalalalalalalanaxax`s`q`gasao`pbebabb`ubd`walb`al`oavapalalbhaybeagaq`n`sauaw`i`iapat`kayauapalalal", -"bhbhbhalalav`kazarauayay`sad`r`facae`mazaubgb``sbh`m`oalalalalavbbaeai`j`oav`g`oatau`c`g`a`eb`azanal", -"alalalat`o`e`mavayavauarawayaq`lbf`yb``e`zap`yawbd`qayalalalap`ibcad`j`jbb`i`gapal`cal`iatau`gar`o`c", -"alal`eavalbh`g`g`g`ialanaral`b`vabbd`u`ibd`e`ual`o`ea`bbbdbcb`arb````la``uap`i`cavapalarav`catav`c`q", -"al`eavar`aanar`gavatayavaranatasae`wbcawax`iaval`calalalalalalaybcaf`hbb`garan`g`c`g`i`eatauatau`oap", -"al`s`a`carau`capanal`gapanbhal`s`ragbc`e`k`walalalalalalal`cap`oa`bfbgarauauan`g`i`e`c`c`a`g`cauatal", -"al`e`qay`s`i`eanarau`matau`cauau`s`ta`bd`sawalbhalalbhalapatav`s`f`baxalanat`aananan`eawat`max`aalal", -"bhalbhawavbh`aavar`e`gawawau`k`i`c`i`h`d`y`ealalbhalalalalapauaxb`avan`carbhan`gau`aan`iax`ebhalalal", -"alalalalan`uawawal`g`e`e`oatavat`q`ganbb`babbhalalap`ubbb`bb`z`u`gaparbhbhalanaw`iavax`cbhalalalbhal", -"albhalbhalalbhanax`oaw`m`i`m`m`kbhalalalap`obaavalbhan`aan`aalalalalapaxawaw`oapanbhalalalalalalbhal", -"alalalalalalalalalalananbhanbhalalalalalalalan`gb``qawavaxau`m`o`o`s`eananalalalalalalalalalalalalal", -"alalalalalalbhbhbhalalalalalalalalbhalbhalalalalalalbhbhanbhalalalalalalalalalalalalalalalbhalalalal", -"albhalalalbhalalalalalalalalbhbhbhalalalbhalbhalalalalalalalbhalalalalalalalalalbhalalalbhalalalbhal", -"alalbhbhalalalalalbhalbhalalalalalalalalbhalalbhalalalalbhalalalbhalalbhbhbhalalbhbhbhalalbhalalbhal", -"albhalalalalalalbhalbhalbhalalalalbhalalalalbhalalalalalalalalbhalbhalalalalbhalalal`aalalalbhalalal", -"alalalalbhbhbhalalalalalalalalbhalbhalalalalalbhbhbhbhalalbhalalalbhalalalalalap`qbb`salalalalalbhal", -"alalalbhalalalalalalalalbhbhbhalalalbhalbhalalalalalalalbhalalalalalalalalalalae`uav`calalalbhalalal", -"bhbhalalalalalbhalbhalalalalalalalalbhalalbhalalalalbhalalalbhalalbhbhbhalalalalalaralalalalbhalbhal" -}; diff --git a/Documentation/regression-test.tely b/Documentation/regression-test.tely index 4b1531f563..141cbd18b5 100644 --- a/Documentation/regression-test.tely +++ b/Documentation/regression-test.tely @@ -255,6 +255,10 @@ Grace note do weird things with timing. Fragile. @lilypondfile[printfilename]{spacing-individual-tuning.ly} +@lilypondfile[printfilename]{spacing-note-flags.ly} + +@lilypondfile[printfilename]{spacing-rest.ly} + @lilypondfile[printfilename]{lyrics-bar.ly} @lilypondfile[printfilename]{spacing-knee.ly} diff --git a/Documentation/windows/cygwin-installer.patch b/Documentation/windows/cygwin-installer.patch index e7c7be0b07..fa7851e0e8 100644 --- a/Documentation/windows/cygwin-installer.patch +++ b/Documentation/windows/cygwin-installer.patch @@ -23,9 +23,9 @@ diff -purN --exclude=*~ --exclude=zlib ../cinstall/ChangeLog ./ChangeLog @@ -3705,4 +3720,4 @@ Sat Apr 1 20:48:09 2000 Christopher Fa * zlib/Makefile.in: Regenerate from Makefile.am - %%% $Id: ChangeLog,v 2.194 2002/02/18 13:54:49 rbcollins Exp $ --$Revision: 2.194 $ -+$Revision: 2.194.jcn1 $ + %%% $Id: cygwin-installer.patch,v 1.8 2002/02/19 10:29:05 fred Exp $ +-$Revision: 1.8 $ ++$Revision: 1.8 $ Binary files ../cinstall/LilyPond.ico and ./LilyPond.ico differ diff -purN --exclude=*~ --exclude=zlib ../cinstall/Makefile.in ./Makefile.in --- ../cinstall/Makefile.in Mon Feb 18 14:56:38 2002 diff --git a/FAQ.txt b/FAQ.txt deleted file mode 100644 index f4671b9707..0000000000 --- a/FAQ.txt +++ /dev/null @@ -1,62 +0,0 @@ -FAQ - GNU LilyPond Frequently Asked Questions -********************************************* - -General -======= - -I'm stuck, HELP! ----------------- - - Please read the full online FAQs -(http://lilypond.org/wiki?LilyPondFaqs). Also, please look in the -searchable mailinglist archives: - - * help-gnu-music (http://www.mail-archive.com/help-gnu-music@gnu.org) - - * bug-gnu-music (http://www.mail-archive.com/bug-gnu-music@gnu.org) - - * gnu-music-discuss - (http://www.mail-archive.com/gnu-music-discuss@gnu.org) - - If you are still at loss, send your questions to the *mailing list*, -and not to authors directly. - -Installation -============ - -Where is guile, libguileX, guile-config? ----------------------------------------- - - RedHat users need to install guile-1.4 and guile-devel-1.4, Debian -users need to get guile1.4, libguile9 and libguile9-dev. - - If you're building from source, you need guile 1.3.4 or newer. -Verify that the correct guile, guile-config, and libguile* in your PATH -and LD_LIBRARY_PATH (or `/etc/ld.so.conf'). - -I upgraded by applying a patch, and now my configure/build breaks. ------------------------------------------------------------------- - - Patches don't include automatically generated files, i.e. -`configure' and files generated by `configure'. Regenerate them -yourself: - - autoconf - configure - -I downloaded the windows32 port, and it doesn't match the website! ------------------------------------------------------------------- - - The website is usually made from the latest snapshots. Binary -releases, in particular the windows32 binaries, are only made every -once in a while. They may lag several versions behind the latest -version. - -Beams, slurs and crescendi are not displayed at all! ----------------------------------------------------- - - XDvi uses GhostScript for displaying PostScript, check that you have -GhostScript installed. If you use a different DVI viewer (eg, on -Windows), check if it will display embedded PostScript. Don't worry, -the symbols should appear on the printout. - diff --git a/INSTALL.txt b/INSTALL.txt deleted file mode 100644 index 90ed864e96..0000000000 --- a/INSTALL.txt +++ /dev/null @@ -1,606 +0,0 @@ - - -Table of Contents -***************** - - - - -INSTALL - compiling and installing GNU LilyPond - Downloading - Source code - Precompiled binaries - Upgrading - Requirements - Compilation - Running requirements - Website requirements - Building LilyPond - Configuring for multiple platforms - Emacs mode - Compiling for distributions - Red Hat Linux - LinuxPPC - SuSE - Slackware - Mandrake - Debian GNU/Linux - MacOS X - Problems - FLex-2.5.4a and gcc-3.0 - Linux-2.4.0, Guile-1.4 -with-threads - NetBSD - Solaris: - AIX - - -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 as well. More -information on this topic can be found at the LilyPond on Windows page -(http://www.lilypond.org/gnu-windows/). - -Downloading -=========== - - Even numbered versions are `stable'. The webpages for the stable -version (1.2) reside on the GNU servers -(http://www.gnu.org/software/lilypond). Big enhancements go into the -latest odd numbered version (1.3), whose webpages are on the lilypond -site (http://www.lilypond.org/). - -Source code ------------ - - If you want to compile LilyPond from source, download here: - * Download development releases from - `ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/' by FTP and - `http://ftp.cs.uu.nl/pub/GNU/LilyPond/', by HTTP. - - * `ftp://sca.uwaterloo.ca/pub/' by FTP (Canadian mirror) - - * at `lilypond.org' `ftp://ftp.lilypond.org/pub/LilyPond/' by FTP and - `http://www.lilypond.org/ftp/' by HTTP. - - 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. - - For Red Hat Linux and SuSE Linux, `.spec' files are included in the -tarball; see instructions below. - -Precompiled binaries --------------------- - - If you want to track bleeding edge development, try: - - * Debian GNU/Linux - (ftp://ftp.debian.org/debian/pool/main/l/lilypond/) usually has - the latest binaries for the most useful stable and development - versions, while - - * Mandrake Cooker - (http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/) also - provides fairly recent versions. - - Binaries are made available for other popular platforms, but as we -need to compile them ourselves, they are not updated for every version -released. - - * Red Hat i386 - (ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/) - - * SuSE (ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE) - - * LinuxPPC (ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/) - - * Windows (http://www.lilypond.org/gnu-windows/) - -Upgrading ---------- - - There are two options for upgrading sources. - - * if you have an unpacked source tree of a previous version, you may - the patches. - - _If you upgrade by patching do remember to rerun autoconf after - applying the patch_. - - * if you have the `.tar.gz' file of a previous release, you can use - xdelta (ftp://ftp.xcf.berkeley.edu/pub/xdelta/). This is much - safer than using patches, and is the recommended way. - - The following command produces `lilypond-1.4.3.tar.gz' from - `lilypond-1.4.2.tar.gz' identical (up to compression dates) to the - .3 on the FTP site. - xdelta patch lilypond-1.4.2-1.4.3.xd lilypond-1.4.2.tar.gz - -Requirements -============ - -Compilation ------------ - - You need the following packages to compile Lilypond. - - * A reasonably new version of the GNU C++ compiler: EGCS 1.1, GCC - 2.95.2 or newer. Check out the gcc site - (ftp://ftp.gnu.org/gnu/gcc/). - - * Python (version 1.5 or newer). Check out the python website - (http://www.python.org). - - * GUILE (version 1.4 or newer). Check out the GUILE webpage - (http://www.gnu.org/software/guile/guile.html). Version 1.4 is - recommended for better performance. - - * GNU Make. Check out the GNU make FTP directory - (ftp://ftp.gnu.org/gnu/make/). - - * Flex (version 2.5.4a or newer). Check out the Flex webpage - (http://www.gnu.org/software/flex/). - - * Bison (version 1.25 or newer). Check out the bison webpage - (http://www.gnu.org/software/bison/) - - * TeX. - - TeX is used as an output backend. - - Also, TeX's libkpathsea is used to find the fonts (`.mf', `.afm', - `.tfm'). Make sure you have tetex 1.0 or newer (1.0.6 is known to - work). You may need to install a tetex-devel or tetex-dev package - too. - - * Texinfo (version 4.0 or newer). The documentation of lily is - written in texinfo. Check out the texinfo FTP directory - (ftp://ftp.gnu.org/gnu/texinfo/). - - * The geometry package for LaTeX is needed to use ly2dvi. It is - available at the FTP directory for `geometry' - (ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry). - This package is normally included with the TeX distribution. - - * kpathsea, a library for searching (TeX) files. `kpathsea' is - usually included with your installation of TeX. You may need to - install a tetex-devel or tetex-dev package too. - - In the very unlikely case that kpathsea is not available for your - platform (ie, you're not running GNU/Linux, Windows, or any recent - UNIX), you can compile LilyPond without kpathsea support. In that - case, you'll probably have to indicate where TeX's tfm files live. - Invoke configure something like: - - ./configure --without-kpathsea --enable-tfm-path=/usr/share/texmf/fonts/tfm/public/cm/:/usr/share/texmf/fonts/tfm/ams/symbols - - * pktrace 1.0 or newer, [OPTIONAL], needed for generating PostScript - Type1 fonts. Get it from `http://www.cs.uu.nl/~hanwen/pktrace/'. - You will need to install some additional packages to get pktrace - to work. - - -Running requirements --------------------- - - GNU LilyPond does use a lot of resources. For operation you need the -following software - - * TeX. - - * Xdvi and Ghostscript - - * GUILE 1.3.4, or newer. Check out the GUILE webpage - (http://www.gnu.org/software/guile.html) - - For running LilyPond successfully you have to help TeX and MetaFont -find various files. The recommended way of doing so is adjusting the -environment variables in the start-up scripts of your shell. Appropriate -Csh and bourne sh scripts are left in -`buildscripts/out/lilypond-profile' and -`buildscripts/out/lilypond-login' after compilation. - - LilyPond is a big and slow program. A fast CPU and plenty of RAM is -recommended for comfortable use. - -Website requirements --------------------- - - The documentation comes in the form of a website. You can view this -website on the internet, but you can also build it locally. This process -requires a successful compile of lilypond. The website is built by -issuing - - make web-doc - - Building the website requires some additional tools: - - * xpmtoppm (from the netpbm package: the Portable Bitmap Utilities). - The original is at the netpbm FTP site - (ftp://ftp.x.org/contrib/utilities/netpbm-1mar1994.p1.tar.gz) - - * pnmtopng. The original is at in the pnmtopng FTP site - (ftp://swrinde.nde.swri.edu/pub/png/applications/pnmtopng-2.37.2.tar.gz). - - * texinfo (a development release) The documentation will build with - texinfo-4.0, but if you want split html pages, you're best off - using the lates pretest version from texinfo-4.0b - (ftp://texinfo.org/texinfo/pretests/texinfo-4.0b.tar.gz) or - texinfo-4.0b (ftp://alpha.gnu.org/gnu/texinfo-4.0b.tar.gz) - -Building LilyPond -================== - - to install GNU LilyPond, type: - gunzip -c lilypond-x.y.z | tar xf - - cd lilypond-x.y.z - ./configure # run with --help to see appropriate options - make - make install - sh buildscripts/clean-fonts.sh - - If you are doing an upgrade, you should remove all `feta' `.pk' and -`.tfm' files. A script has been provided to do the work for you, see -`buildscripts/clean-fonts.sh'. - - If you are not root, you should choose a `--prefix' argument that -points into your home directory, eg. - - ./configure --prefix=$HOME/usr - - In this case, you have to insert the contents of -`buildscripts/out/lilypond-login' or -`buildscripts/out/lilypond-profile' into your start up scripts by hand. - -Configuring for multiple platforms ----------------------------------- - - If you want to build multiple versions of LilyPond with different -configuration settings, you can use the `--enable-config=CONF' option -of configure. You should use `make conf=CONF' to generate the output -in `out-CONF'. Example: suppose I want to build with and without -profiling. Then I'd use the following for the normal build, - - ./configure --prefix=~ --enable-checking - make - make install - - and for the profiling version, I specify a different configuration. - - - ./configure --prefix=~ --enable-profiling --enable-config=prof --disable-checking - make conf=prof - make conf=prof install - -Emacs mode -========== - - An Emacs mode for entering music and running LilyPond is included -with the source archive as `lilypond-mode.el' and -`lilypond-font-lock.el'. You should install these files somewhere in -your LOAD-PATH. If you have installed a precompiled LilyPond package, -these files can be found in `/usr/share/doc/lilypond-x.y.z/'. - - Add this to your `~/.emacs' or `~/.emacs.el', or install this file -in Emacs' `site-start.d': - ;;; lilypond-init.el --- Startup code for LilyPond mode - - (load-library "lilypond-mode.el") - (setq auto-mode-alist - (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist)) - (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock))) - - If you have the latest LilyPond-1.4.x Debian package, LilyPond-mode -is automatically loaded, you not even need to modify your `~/.emacs' -file. - -Compiling for distributions -=========================== - -Red Hat Linux -------------- - - Red Hat 7.0 i386 RPMS are available from -`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/'. - - You can also compile them yourself. A spec file is in -`make/out/lilypond.redhat.spec'. This file is distributed along with -the sources. You can make the rpm by issuing - - 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 - - For running on a Red Hat system you need these packages: guile, -tetex, tetex-latex, tetex-dvips, libstdc++, python, ghostscript. - - 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, pktrace. - -LinuxPPC --------- - - Some LinuxPPC RPMS should available from -`ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/'. - - A LinuxPPC RPM can be made using the `lilypond.redhat.spec' file. - -SuSE ----- - - Some SUSE RPMS should available from -`ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE'. - - You can also compile a RPM for SUSE yourself. A spec file is in -`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 - -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. - -Mandrake --------- - - Some binaries are available at rpmfind.net. Refer to -`http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/'. - - You can also compile a RPM for Mandrake yourself. A spec file is in -`make/out/lilypond.mandrake.spec', see the instructions for building -the Red Hat RPM. - -Debian GNU/Linux ----------------- - - A Debian package is also available. You may install it easily by -running `apt-get' as root: - - apt-get install lilypond lilypond-doc - - You can also compile the .deb for Debian yourself, do: - - apt-get -b source lilypond - - If you're real impatient, you may even do: - - cd lilypond-x.y.z # a previous version - uscan # download and build latest directly from upstream - - Debian's TeX installation is a bit short on memory, you may want to -increase it like this: - --- 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 - - You could also export `extra_mem_top' and `extra_mem_bot' as -environment variables if you do not want to or cannot modify -`/etc/texmf/texmf.cnf'. - - Alternatively, visit - - * http://packages.debian.org/lilypond - (http://packages.debian.org/lilypond) - - * 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. - - Please contact Anthony Fok <lilypond@packages.debian.org> for more -information. - - The build scripts are in the subdirectory `debian/'; you can make -the .deb by doing, for 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 - $ - - Use command `debuild' instead of `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: - - * g++, cpp, libc6-dev, libstdc++<YOUR-LIBSTDC++-VERSION-HERE>-dev - - * libguile<YOUR-LIBGUILE-VERSION-HERE>-dev - - * make, m4, flex, bison - - * gettext - - * groff, texinfo - - * tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev - - * dpkg-dev, debhelper, fakeroot - - * gs, netpbm - - * pnmtopng (only in Debian 2.2; pnmtopng has been merged with netpbm - in Debian testing/unstable.) - - Most of these are listed on the `Build-Depends' line in the -`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 \`apt-get' as root before building the package: - - For Debian 2.2: - - 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 - - For Debian in development ("unstable", the future 2.3 or 3.0): - - 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 - - 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: - - dpkg --purge lilypond lilypond1.3 - -MacOS X -------- - - LilyPond has been built on Darwin, to be precise, on: - 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 - - using: - - Apple Computer, Inc. version gcc-932.1, based on gcc version 2.95.2 19991024 (release) - - To make sure you have all packages needed to build LilyPond -installed, run as root: - - apt-get install bash python guile debianutils flex bison texinfo \ - ghostscript6 netpbm m4 gettext - - and: - - fink install tetex - - For more information about `apt-get' and `fink', see -fink.sourceforge.net (http://fink.sf.net). - - Then, configure, patch, make and install LilyPond using these -commands: - - 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 - - For installing, you must be root, of course. - -Problems -======== - - For help and questions use <lilypond-user@gnu.org>. Please consult -the FAQ before mailing your problems. If you find bugs, please send -bug reports to <bug-lilypond@gnu.org>. - - Bugs that are not fault of LilyPond are documented here. - -FLex-2.5.4a and gcc-3.0 ------------------------ - - Flex 2.5.4a does not produce g++-3.0 compliant C++ code. To compile -LilyPond with gcc-3.0 you may do: - - CC=gcc-3.0 CXX=g++-3.0 ./configure --enable-config=gcc-3.0 - make conf=gcc-3.0 -C lily out-gcc-3.0/lexer.cc - patch -p1 < lexer-gcc-3.0.patch - make conf=gcc-3.0 -C lily - - Note that this is fixed in Debian/unstable for flex >= 2.5.4a-13. - -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): - - guile-1.4$ ./configure --without-threads; make all install - -NetBSD ------- - - * The flex precompiled in NetBSD-1.4.2 is broken. Download - flex-2.5.4a, build, install. - - * The configuration of Gcc (egcs-2.91.60 19981201 (egcs-1.1.1 - release)) does not include `/usr/pkg' paths. Configure using: - - CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure - - -Solaris: --------- - - * Sparc64/Solaris 2.6, GNU make-3.77 - - GNU make-3.77 is buggy on this platform, upgrade to 3.78.1 or - newer. - - * Sparc64/Solaris 2.6, ld - - Not yet resolved. - -AIX ---- - - * AIX 4.3 ld - - The following is from the gcc install/SPECIFIC file. - Some versions of the AIX binder (linker) can fail with a - relocation overflow severe error when the -bbigtoc option - is used to link GCC-produced object files into an - executable that overflows the TOC. A fix for APAR IX75823 - (OVERFLOW DURING LINK WHEN USING GCC AND -BBIGTOC) is - available from IBM Customer Support and from its - 27service.boulder.ibm.com website as PTF U455193. - - Binutils does not support AIX 4.3 (at least through release - 2.9). GNU as and GNU ld will not work properly and one - should not configure GCC to use those GNU utilities. Use - the native AIX tools which do interoperate with GCC. - - add -Wl,-bbigtoc to USER_LDFLAGS, ie: - LDFLAGS='-Wl,-bbigtoc' ./configure - - diff --git a/README.txt b/README.txt deleted file mode 100644 index 6ee2dd7535..0000000000 --- a/README.txt +++ /dev/null @@ -1,97 +0,0 @@ - - -This is the toplevel README to LilyPond -*************************************** - - LilyPond is a music typesetter. It produces beautiful sheet music -using a high level description file as input. LilyPond is part of the -GNU Project. - -Versioning -========== - - LilyPond uses a versioning scheme similar to the Linux kernel. In a -version "x.y.z", an even second number 'y' denotes a stable version. -For development versions 'y' is odd. - - Version 1.4 is the latest stable release. - -Compilation -=========== - - For compiling and running LilyPond please refer to the installation -instructions. These instructions can be found when you unpack lilypond, -as `lilypond-x.y.z/INSTALL.txt'. - - NOTE: If you downloaded a binary (.rpm or a W95/NT .zip file), you -don't have to compile LilyPond. - -Documentation -============= - - The documentation is available online at `http://www.lilypond.org/'. -You can also build it locally. This does require a working LilyPond -binary. The following formats are supported: - * HTML. Refer to INSTALL.txt for information on how to make the HTML - documentation. - - * `.dvi', for the tutorial and reference manual. Do - - make -C Documentation/user/ dvi - The printable documentation is left in `Documentation/user/out/'. - - * paper. Create the .dvi documentation, and print it with dvips. - - -Comments -======== - - LilyPond is a long way from finished and polished, so please send -your criticism, comments, bugreports, patches, etc., to the mailing -list, _not_ to us personally. - - We have the following mailing lists: - - * info-lilypond@gnu.org - (http://mail.gnu.org/mailman/listinfo/info-lilypond) is a - low-volume list for information on the GNU Music project. - This list is moderated; ask David R. Linn <drl@gnu.org> or - Han-Wen <hanwen@cs.uu.nl> to send announcements for this list. - - * lilypond-devel@gnu.org - (http://mail.gnu.org/mailman/listinfo/lilypond-devel) For - discussions about developing lilypond, in particular the unstable - series. - - * lilypond-user@gnu.org - (http://mail.gnu.org/mailman/listinfo/lilypond-user) For - discussions about using lilypond, in particular the stable series. - - * bug-lilypond@gnu.org - (http://mail.gnu.org/mailman/listinfo/bug-lilypond) If you have - bugreports, you should send them to this list. - -Windows 32 -========== - - If you have received this file as part of a DOS/Window32 distribution -(`LilyPond-*.zip'), it is advisable to also download the source package -(ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/), since it might contain more -documentation - -Caveats -======= - - If you have installed a previous version, be sure to remove old font -files, eg., - rm `find /var/lib/texmf/fonts -name 'feta*'` - - a script to do this for you is in `buildscripts/out/clean-fonts' - -Bugs -==== - - Send bug reports to <bug-lilypond@gnu.org>. For help and questions -use <lilypond-user@gnu.org>. Please consult the FAQ and installation -instructions before mailing your problems. - @@ -32,7 +32,7 @@ LilyPond's source files. J.S.Bach/ intl/ library for gettext po/ translations - ports/ + ports/ access to mutopia archive ps/ postscript library files tex/ TeX library files scm/ Scheme initialisation and subroutine files diff --git a/buildscripts/GNUmakefile b/buildscripts/GNUmakefile index 08b617bd20..08b617bd20 100755..100644 --- a/buildscripts/GNUmakefile +++ b/buildscripts/GNUmakefile diff --git a/buildscripts/help2man.pl b/buildscripts/help2man.pl index 35201b3fb9..35201b3fb9 100755..100644 --- a/buildscripts/help2man.pl +++ b/buildscripts/help2man.pl diff --git a/buildscripts/lilypond-login.sh b/buildscripts/lilypond-login.sh index 9e7278f681..9e7278f681 100755..100644 --- a/buildscripts/lilypond-login.sh +++ b/buildscripts/lilypond-login.sh diff --git a/buildscripts/lilypond-profile.sh b/buildscripts/lilypond-profile.sh index 1e03ea439a..1e03ea439a 100755..100644 --- a/buildscripts/lilypond-profile.sh +++ b/buildscripts/lilypond-profile.sh diff --git a/buildscripts/mf-to-table.py b/buildscripts/mf-to-table.py index ee15b10d46..ee15b10d46 100755..100644 --- a/buildscripts/mf-to-table.py +++ b/buildscripts/mf-to-table.py diff --git a/buildscripts/mf-to-xpms.sh b/buildscripts/mf-to-xpms.sh index 3e3d84dcd0..3e3d84dcd0 100755..100644 --- a/buildscripts/mf-to-xpms.sh +++ b/buildscripts/mf-to-xpms.sh diff --git a/buildscripts/mutopia-index.py b/buildscripts/mutopia-index.py index 2e5d3b5e35..2e5d3b5e35 100755..100644 --- a/buildscripts/mutopia-index.py +++ b/buildscripts/mutopia-index.py diff --git a/buildscripts/ps-to-gifs.sh b/buildscripts/ps-to-gifs.sh index e2a3da89cb..e2a3da89cb 100755..100644 --- a/buildscripts/ps-to-gifs.sh +++ b/buildscripts/ps-to-gifs.sh diff --git a/buildscripts/ps-to-pfa.py b/buildscripts/ps-to-pfa.py index a1d80c18c9..a1d80c18c9 100755..100644 --- a/buildscripts/ps-to-pfa.py +++ b/buildscripts/ps-to-pfa.py diff --git a/buildscripts/ps-to-pngs.sh b/buildscripts/ps-to-pngs.sh index 2a3f3636b5..2a3f3636b5 100755..100644 --- a/buildscripts/ps-to-pngs.sh +++ b/buildscripts/ps-to-pngs.sh diff --git a/debian/postinst b/debian/postinst index 03e952e92c..03e952e92c 100755..100644 --- a/debian/postinst +++ b/debian/postinst diff --git a/debian/postrm b/debian/postrm index a6461fb272..a6461fb272 100755..100644 --- a/debian/postrm +++ b/debian/postrm diff --git a/debian/rules b/debian/rules index d8dfa0a755..d8dfa0a755 100755..100644 --- a/debian/rules +++ b/debian/rules diff --git a/input/mozart-hrn-3.ly b/input/mozart-hrn-3.ly index 9c2fc28ff6..6543c0813d 100644 --- a/input/mozart-hrn-3.ly +++ b/input/mozart-hrn-3.ly @@ -43,6 +43,7 @@ ritenuto = \textscript #'(italic "rit.") skipBars = ##t midiInstrument = #"french horn" RehearsalMark \override #'font-series = #'bold + Stem \override #'thickness = #1.3 } \translator { \StaffContext MinimumVerticalExtent = #'(-4.5 . 4.5) diff --git a/input/mozart-hrn3-allegro.ly b/input/mozart-hrn3-allegro.ly index c81bb95b5b..fcead2faa7 100644 --- a/input/mozart-hrn3-allegro.ly +++ b/input/mozart-hrn3-allegro.ly @@ -19,7 +19,7 @@ allegro = r2 r4 g'4^"Solo" | e'4. () c8 [f (d c )b ] [b()c] g4 r8 [g-. c-. e-.] - g2. ( [g16-.( f e ))f] + g2. [g16-.( f e )f] dis4 () e4-- r8 [c8-. c-. c-.] c4.( [d16 e] f4 ) e a,( d g,) c @@ -49,13 +49,14 @@ allegro = [cis ()d] r4 r2 g,1 ~ g2 ~ [g8 a16 b] [c()d e c] f4-. d-. b-. g-. - r1 - \emptyText + R1 + c,2\p e4 g c \cresc e g4. e8 | d4. [e16 fis] [g () fis e d] [c() b a g] \endcresc < a1(-\trill - { s2. \grace{ [g16 a] } } > +1 { s2 \grace{ [g16 a] } } > + \mark "C" )g4 r r2 R1*15 \mark "D" @@ -88,7 +89,7 @@ allegro = r2 r8 [g,-. g-. g-.] e'4.() c8 [f( d c )b] [b()c] g4 r8 [g c e] | - g2. ( [g16( f e ))f] + g2. [g16( f e )f] dis4()e r8 [c-. c-. c-.] c4.( [d16 e] f4 )e a, ( d g, )c @@ -112,7 +113,7 @@ allegro = [e()d] d4 r [d8 d] d4(~ [d16 e d )e] [g8() f e d] | c4 r r2 - r1 + R1 c1 ~ c | [c8-. c-.] r c-. [cis()d] r d-. | @@ -125,10 +126,10 @@ allegro = [c (e] )g2 \grace { \longgrace f16( \endlonggrace } [)e8( d16 )c] < d1-\trill ( - { s2. \grace { [c16 d] } } > + { s2 \grace { [c16 d] } } > ) c4 r r2 - r1 | + R1 | \mark "H" \times 2/3 { [ c8 ()b a ] } \times 2/3 { [ g a b] } \times 2/3 { [ c d e] } \times 2/3 { [ f()e d] } | \times 2/3 { [ c () b a ] } \times 2/3 { [ g a b] } \times 2/3 { [ c d e] } \times 2/3 { [ f()e d] }| @@ -137,11 +138,11 @@ allegro = g4 r8 g'\f [a b c d]| < d1(-\trill - { s2. \grace { [c16 d] } } > + { s2 \grace { [c16 d] } } > )c4 r r2 R1*3 - c4._"Cadenza ad lib." () d8 d4.-\trill ( [c16 )d] + c4.^\fermata_"Cadenza ad lib." () d8 d4.-\trill^\fermata ( [c16 )d] c4 r r2 R1*8 r4 [c8.^"tutti"-\f c16] c4 c diff --git a/input/mozart-hrn3-romanze.ly b/input/mozart-hrn3-romanze.ly index 020d1a9226..4a5fa8e85e 100644 --- a/input/mozart-hrn3-romanze.ly +++ b/input/mozart-hrn3-romanze.ly @@ -23,7 +23,7 @@ romanze = \notes \relative c' { R1*2 g'4.() f8 [e( d c) bes] [bes (a d ) c] c4 r - r1 + R1 % 25 [c16\mf ( d c )d] [e ( f e )f] [g()e c-. c-.] [f()d b-. b-.] [c16\p () d c )d] [e ( f e )f] [g()e c-. c-.] [f()d b-. b-.] @@ -68,7 +68,7 @@ romanze = \notes \relative c' { [c8( e g )bes] [a( c f ) d] c r e r f4 r4 % -. ? - r1 + R1 c8-. r e-. r f4 r4 % Finish with F if played separately diff --git a/input/mozart-hrn3-rondo.ly b/input/mozart-hrn3-rondo.ly index aab198ee6c..5aee2407f1 100644 --- a/input/mozart-hrn3-rondo.ly +++ b/input/mozart-hrn3-rondo.ly @@ -37,7 +37,7 @@ rondo = \notes \relative c' \rondotheme R2.*13 | - r8 r-\fermata d [d e f] + r8 r^\fermata d [d e f] [g ()e c-.] [d()e d-.] c4 c8 [d e f] [g()e c-.] [d()e d-.] @@ -76,7 +76,7 @@ rondo = \notes \relative c' [b () e d] [c b a] \mark "C" g4 r8 r4 r8 - r2. | + R2. | % r8 [g g] [g( )b b] [b()d d-.] [d()g g-.] @@ -102,7 +102,7 @@ rondo = \notes \relative c' r4 r8 r4 c'8 b4()c8 b4()c8 bes4. ~ bes4 g8 - a4 c8 [f () d b] + a4 c8 [f () d b!] d4. () c8 r r \mark "E" R2.*9 | @@ -110,11 +110,11 @@ rondo = \notes \relative c' [c8 c' c] c4.~ [c8 c d] [e e fis] g4 r8 r4 r8 - r2. + R2. r8 [g, g] [g g g] | es'4. ~ [es8 d c] b4 r8 r4 r8 - r2. | + R2. | r8 [g g] [g g g] es'4. ~ [es8 d c] \cresc b4. c4. d4. e4. @@ -155,7 +155,7 @@ rondo = \notes \relative c' )c4 r8 r4 r8 R2.*5 - r8 r8-\fermata d8\p [d e f] + r8 r8^\fermata d8\p [d e f] [g ()e c] [d()e d] \cresc [c c c] [d e f] [g()e c] [d()e d] diff --git a/input/regression/spacing-note-flags.ly b/input/regression/spacing-note-flags.ly new file mode 100644 index 0000000000..a558cd4554 --- /dev/null +++ b/input/regression/spacing-note-flags.ly @@ -0,0 +1,17 @@ +\header { + +texidoc = "The flags of 8th notes take some space, but not + too much: the space following a flag is less than the space + following a beamed 8th head" + +} + +\score { \notes \relative c'' \context Staff { + \property Voice.noAutoBeaming = ##t + [a8 a8 a8 a8] a8 a8 a8 a8 +} +\paper { +%stafflinethickness = 0.0 +linewidth = -1 + } + } diff --git a/input/regression/spacing-rest.ly b/input/regression/spacing-rest.ly new file mode 100644 index 0000000000..a5aee6cbee --- /dev/null +++ b/input/regression/spacing-rest.ly @@ -0,0 +1,15 @@ +\header { + texidoc = "Rests get a little less space, since they are narrower. +However, the feta quarter rest is relatively wide, causing this effect to be +very small. +" + } +\score { \notes \relative c'' \context Staff { + \time 12/4 + r4 c4 c4 c4 r4 r4 c4 +} +\paper { +%stafflinethickness = 0.0 +linewidth = -1 + } + } diff --git a/lily/include/multi-measure-rest.hh b/lily/include/multi-measure-rest.hh index 0d46900ec7..3ba796c515 100644 --- a/lily/include/multi-measure-rest.hh +++ b/lily/include/multi-measure-rest.hh @@ -25,8 +25,8 @@ public: DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM )); static Molecule big_rest (Grob*,Real); - static Molecule symbol_molecule (Grob*); - static Molecule church_rest (Font_metric*, int,Real, Real); + static Molecule symbol_molecule (Grob*,Real); + static Molecule church_rest (Grob*, Font_metric*, int,Real); }; #endif /* MULTI_MEASURE_REST_HH */ diff --git a/lily/multi-measure-rest.cc b/lily/multi-measure-rest.cc index 8353e19812..1549cf727c 100644 --- a/lily/multi-measure-rest.cc +++ b/lily/multi-measure-rest.cc @@ -85,31 +85,30 @@ Multi_measure_rest::brew_molecule (SCM smob) Interval sp_iv; Direction d = LEFT; + + Grob *common = sp->get_bound (LEFT)->common_refpoint (sp->get_bound (RIGHT), X_AXIS); do { Item * col = sp->get_bound (d)->column_l (); - Interval coldim = col->extent (0, X_AXIS); + Interval coldim = col->extent (common, X_AXIS); sp_iv[d] = coldim[-d] ; } while ((flip (&d)) != LEFT); - Molecule mol; - Real x_off = 0.0; + + Real space = sp_iv.length(); Real rx = sp->get_bound (LEFT)->relative_coordinate (0, X_AXIS); /* we gotta stay clear of sp_iv, so move a bit to the right if needed. */ - x_off += (sp_iv[LEFT] - rx) >? 0; + Real x_off = (sp_iv[LEFT] - rx) >? 0; - /* - center between stuff. - */ - x_off += sp_iv.length ()/ 2; - mol.add_molecule (symbol_molecule (me)); + Molecule mol; + mol.add_molecule (symbol_molecule (me, space)); int measures = 0; SCM m (me->get_grob_property ("measure-count")); @@ -123,8 +122,12 @@ Multi_measure_rest::brew_molecule (SCM smob) Molecule s = Text_item::text2molecule (me, ly_str02scm (to_str (measures).ch_C ()), alist_chain); + + s.align_to (X_AXIS, CENTER); s.translate_axis (3.0, Y_AXIS); + + s.translate_axis (mol.extent (X_AXIS).center (), X_AXIS); mol.add_molecule (s); } mol.translate_axis (x_off, X_AXIS); @@ -133,19 +136,8 @@ Multi_measure_rest::brew_molecule (SCM smob) Molecule -Multi_measure_rest::symbol_molecule (Grob *me) +Multi_measure_rest::symbol_molecule (Grob *me, Real space) { - SCM alist_chain = Font_interface::font_alist_chain (me); - - SCM style_chain = - Font_interface::add_style (me, ly_symbol2scm ("mmrest-symbol"), - alist_chain); - - Real staff_space = Staff_symbol_referencer::staff_space (me); - Font_metric *musfont - = Font_interface::get_font (me,style_chain); - Molecule s; - int measures = 0; SCM m (me->get_grob_property ("measure-count")); if (gh_number_p (m)) @@ -156,30 +148,48 @@ Multi_measure_rest::symbol_molecule (Grob *me) SCM limit = me->get_grob_property ("expand-limit"); if (measures <= 0) - return s; + return Molecule(); + + if (measures > gh_scm2int (limit)) + { + Real padding = 0.15; + Molecule s = big_rest (me, (1.0 - 2*padding) * space); + s.translate_axis (padding * space, X_AXIS); + return s; + } + + SCM alist_chain = Font_interface::font_alist_chain (me); + + SCM style_chain = + Font_interface::add_style (me, ly_symbol2scm ("mmrest-symbol"), + alist_chain); + + Real staff_space = Staff_symbol_referencer::staff_space (me); + Font_metric *musfont + = Font_interface::get_font (me,style_chain); + if (measures == 1) { - s = musfont->find_by_name (Rest::glyph_name (me, 0, "")); + Molecule s = musfont->find_by_name (Rest::glyph_name (me, 0, "")); /* ugh. */ if (Staff_symbol_referencer::position_f (me) == 0.0) s.translate_axis (staff_space, Y_AXIS); + + s.translate_axis ((space - s.extent (X_AXIS).length ())/2, X_AXIS); + + return s ; } - else if (measures <= gh_scm2int (limit)) - { - Real pad = gh_scm2double (me->get_grob_property ("padding")) * staff_space; - s = church_rest (musfont, measures, staff_space, pad); - } - else + else { - Real w = gh_scm2double (me->get_grob_property ("width")); - s = big_rest (me, w); + return church_rest (me, musfont, measures, space); } - return s; } + + Molecule Multi_measure_rest::big_rest (Grob *me, Real width) { @@ -197,25 +207,26 @@ Multi_measure_rest::big_rest (Grob *me, Real width) m.add_at_edge (X_AXIS, RIGHT, yb, -ythick); m.add_at_edge (X_AXIS, LEFT, yb, -ythick); - m.align_to (X_AXIS, CENTER); + m.align_to (X_AXIS, LEFT); return m; } /* Kirchenpause (?) - */ Molecule -Multi_measure_rest::church_rest (Font_metric *musfont, int measures, - Real staff_space, Real padding) +Multi_measure_rest::church_rest (Grob*me, Font_metric *musfont, int measures, + Real space) { - Molecule s; - /* - Build a rest from smaller parts. Distances inbetween are - really variable, see Wanske pp. 125 */ - + SCM mols = SCM_EOL; + + /* + see Wanske pp. 125 + */ int l = measures; + int count = 0; + Real symbols_width = 0.0; while (l) { int k; @@ -235,22 +246,32 @@ Multi_measure_rest::church_rest (Font_metric *musfont, int measures, l --; } - Real pad = s.empty_b () ? 0.0 : padding; - Molecule r (musfont->find_by_name ("rests-" + to_str (k))); if (k == 0) - r.translate_axis (staff_space, Y_AXIS); - - s.add_at_edge (X_AXIS, RIGHT, r, pad); + { + Real staff_space = Staff_symbol_referencer::staff_space (me); + r.translate_axis (staff_space, Y_AXIS); + } + symbols_width += r.extent (X_AXIS).length (); + mols = gh_cons (r.smobbed_copy (), mols); + count ++; + } + + + Real outer_padding_factor = 1.5; // make outer padding this much bigger. + Real inner_padding = (space - symbols_width) / (2 * outer_padding_factor + (count-1)); + + Molecule mol; + for (SCM s = mols; gh_pair_p (s); s = gh_cdr(s)) + { + mol.add_at_edge (X_AXIS, LEFT, *unsmob_molecule (gh_car (s)), inner_padding); } + mol.align_to (X_AXIS, LEFT); + mol.translate_axis (outer_padding_factor * inner_padding, X_AXIS); - s.align_to (X_AXIS, CENTER); - return s; + return mol; } -/* - UGH. JUNKME elt prop "columns" isn't really needed. - */ void Multi_measure_rest::add_column (Grob*me,Item* c) { @@ -263,6 +284,8 @@ MAKE_SCHEME_CALLBACK (Multi_measure_rest, set_spacing_rods,1); SCM Multi_measure_rest::set_spacing_rods (SCM smob) { + return SCM_UNSPECIFIED; + Grob*me = unsmob_grob (smob); Spanner*sp = dynamic_cast<Spanner*> (me); @@ -290,14 +313,8 @@ Multi_measure_rest::set_spacing_rods (SCM smob) Rod rod; rod.item_l_drul_[LEFT] = l; rod.item_l_drul_[RIGHT] = r; - - /* - should do something more advanced. - */ - Molecule m = symbol_molecule(me); - rod.distance_f_ = l->extent (l, X_AXIS)[BIGGER] - r->extent (r, X_AXIS)[SMALLER] - + m.extent (X_AXIS).length () + 2.5*staff_space; + + 4.0; // magic! rod.add_to_cols (); } @@ -310,7 +327,6 @@ ADD_INTERFACE (Multi_measure_rest,"multi-measure-rest-interface", "A rest that spans a whole number of measures. For typesetting the numbers, fields from font-interface may be used. -padding is the space between number and rest. Measured in staffspace. ", - "thickness measure-count expand-limit padding"); + "thickness measure-count expand-limit"); diff --git a/lily/note-spacing.cc b/lily/note-spacing.cc index a002d50dc2..9126fc728a 100644 --- a/lily/note-spacing.cc +++ b/lily/note-spacing.cc @@ -34,17 +34,19 @@ Note_spacing::get_spacing (Grob *me, Item* right_col, Direction d = LEFT; Direction col_dir = right_col->break_status_dir (); Drul_array<Interval> extents; + + Interval left_head_wid; do { for (SCM s = props[d]; gh_pair_p (s); s = gh_cdr (s)) { Item * it= dynamic_cast<Item*> (unsmob_grob (gh_car(s))); - + if (d == RIGHT && it->break_status_dir () != col_dir) { it = it -> find_prebroken_piece (col_dir); - } + } /* some kind of mismatch, eg. a note column, that is behind a linebreak. @@ -52,7 +54,8 @@ Note_spacing::get_spacing (Grob *me, Item* right_col, if (!it) continue; - if (d == RIGHT && right_col != it->column_l ()) + Item *it_col = it->column_l (); + if (d == RIGHT && right_col != it_col) continue; if (Separation_item::has_interface (it)) @@ -60,8 +63,19 @@ Note_spacing::get_spacing (Grob *me, Item* right_col, extents[d].unite (Separation_item::my_width (it)); continue; } + + if (d == LEFT) + { + SCM r = it->get_grob_property ("rest"); + Grob * g = unsmob_grob (r); + if (!g) + g = Note_column::first_head (it); + + if (g) + left_head_wid = g->extent(it_col, X_AXIS); + } - extents[d].unite (it->extent (it->column_l (), X_AXIS)); + extents[d].unite (it->extent (it_col, X_AXIS)); if (d == RIGHT) { Grob * accs = Note_column::accidentals (it); @@ -69,7 +83,7 @@ Note_spacing::get_spacing (Grob *me, Item* right_col, accs = Note_column::accidentals (it->get_parent (X_AXIS)); if (accs) - extents[d].unite (accs->extent (it->column_l (), X_AXIS)); + extents[d].unite (accs->extent (it_col, X_AXIS)); } } @@ -78,8 +92,18 @@ Note_spacing::get_spacing (Grob *me, Item* right_col, } while (flip (&d) != LEFT); - *fixed = (extents[LEFT][RIGHT] >? increment); - *space = (base_space - increment) + *fixed ; + + /* + We look at the width of the note head, since smaller heads get less space + eg. a quarter rest gets almost 0.5 ss less horizontal space than a note. + + What is sticking out of the note head (eg. a flag), doesn't get + the full amount of space. + */ + *fixed = left_head_wid.empty_b () ? increment : left_head_wid[RIGHT]; + *space = (base_space - increment) + *fixed + + (extents[LEFT][RIGHT] - left_head_wid[RIGHT])/ 2; + ; if (*space - *fixed < 2 * ((- extents[RIGHT][LEFT]) >? 0)) { @@ -248,6 +272,19 @@ Note_spacing::stem_dir_correction (Grob*me, Item * rcolumn, } stem_dirs[d] = sd; + /* + Correction doesn't seem appropriate when there is a large flag + hanging from the note. + */ + if (d == LEFT + && Stem::flag_i (stem) && !Stem::beam_l (stem)) + { + correct = false; + goto exit_func; + } + + + Interval hp = Stem::head_positions (stem); Real chord_start = hp[sd]; Real stem_end = Stem::stem_end_position (stem); diff --git a/lily/spaceable-grob.cc b/lily/spaceable-grob.cc index 30e1b0503e..e19252783e 100644 --- a/lily/spaceable-grob.cc +++ b/lily/spaceable-grob.cc @@ -81,8 +81,8 @@ Spaceable_grob::remove_interface (Grob*me) ADD_INTERFACE (Spaceable,"spaceable-grob-interface", - "An grob (generally a Paper_column) that takes part in the + "An grob (a Paper_column) that takes part in the spacing problem. ", - "penalty minimum-distances ideal-distances + "measure-length penalty minimum-distances ideal-distances left-neighbors right-neighbors"); diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index 2fff9c08e6..fd9585f135 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -34,11 +34,15 @@ class Spacing_spanner { public: + static void standard_breakable_column_spacing (Grob * me, Item*l, Item*r, + Real * fixed, Real * space, Moment); + + static Real default_bar_spacing (Grob*,Grob*,Grob*,Moment); static Real note_spacing (Grob*,Grob*,Grob*,Moment, bool*); static Real get_duration_space (Grob*,Moment dur, Rational shortest, bool*); static Rational find_shortest (Link_array<Grob> const &); - static void breakable_column_spacing (Item* l, Item *r); + static void breakable_column_spacing (Grob*, Item* l, Item *r, Moment); static void find_loose_columns () {} static void prune_loose_colunms (Grob*,Link_array<Grob> *cols, Rational); static void find_loose_columns (Link_array<Grob> cols); @@ -470,7 +474,7 @@ Spacing_spanner::do_measure (Rational shortest, Grob*me, Link_array<Grob> *cols) if (!Paper_column::musical_b (l)) { - breakable_column_spacing (l, r); + breakable_column_spacing (me, l, r, shortest); /* @@ -483,12 +487,12 @@ Spacing_spanner::do_measure (Rational shortest, Grob*me, Link_array<Grob> *cols) Item *rb = r->find_prebroken_piece (LEFT); if (lb) - breakable_column_spacing (lb,r); + breakable_column_spacing (me, lb,r, shortest); if (rb) - breakable_column_spacing (l, rb); + breakable_column_spacing (me, l, rb, shortest); if (lb && rb) - breakable_column_spacing (lb, rb); + breakable_column_spacing (me, lb, rb, shortest); continue ; } @@ -553,15 +557,47 @@ Spacing_spanner::musical_column_spacing (Grob *me, Item * lc, Item *rc, Real inc Spaceable_grob::add_spring (lc, rc, max_note_space, 1 / (max_note_space -max_fixed_note_space), expand_only); } +void +Spacing_spanner::standard_breakable_column_spacing (Grob * me, Item*l, Item*r, + Real * fixed, Real * space, + Moment shortest) +{ + *fixed = l->extent (l, X_AXIS)[RIGHT] - r->extent (r, X_AXIS)[LEFT]; + + if (l->breakable_b (l) && r->breakable_b(r)) + { + Moment *dt = unsmob_moment (l->get_grob_property ("measure-length")); + Moment mlen (1); + if (dt) + mlen = *dt; + + Real incr = gh_scm2double (me->get_grob_property ("spacing-increment")); + + *space = *fixed + incr * double (mlen.main_part_ / shortest.main_part_) * 0.8; + } + else + { + Moment dt = Paper_column::when_mom (r) - Paper_column::when_mom (l); + bool dummy; + + *space = *fixed + get_duration_space (me, dt, shortest.main_part_, &dummy); + } + + +} + /* Read hints from L and generate springs. */ void -Spacing_spanner::breakable_column_spacing (Item* l, Item *r) +Spacing_spanner::breakable_column_spacing (Grob*me, Item* l, Item *r,Moment shortest) { Real max_fixed = -infinity_f; Real max_space = -infinity_f; + + standard_breakable_column_spacing (me, l, r, &max_fixed, &max_space , + shortest); for (SCM s = l->get_grob_property ("spacing-wishes"); gh_pair_p (s); s = gh_cdr (s)) @@ -590,6 +626,9 @@ Spacing_spanner::breakable_column_spacing (Item* l, Item *r) } } + + + if (isinf (max_space)) { programming_error ("No pref spacing found"); @@ -661,11 +700,14 @@ Spacing_spanner::note_spacing (Grob*me, Grob *lc, Grob *rc, programming_error ("can't find a ruling note at " + Paper_column::when_mom (lc).str ()); shortest_playing_len = 1; } - - Moment delta_t = Paper_column::when_mom (rc) - Paper_column::when_mom (lc); + + Moment lwhen = Paper_column::when_mom (lc); + Moment rwhen = Paper_column::when_mom (rc); + + Moment delta_t = rwhen - lwhen; Real dist = 0.0; - if (delta_t.main_part_) + if (delta_t.main_part_ && !lwhen.grace_part_) { dist = get_duration_space (me, shortest_playing_len, shortest.main_part_, expand_only); dist *= (double) (delta_t.main_part_ / shortest_playing_len.main_part_); diff --git a/lily/stem.cc b/lily/stem.cc index 91fe78c888..79823a1092 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -229,15 +229,6 @@ Stem::add_head (Grob*me, Grob *n) { Pointer_group_interface::add_grob (me, ly_symbol2scm ("heads"), n); } - else - { - /* - Apparently, this is never used. - */ -#if 0 - me->set_grob_property ("rest", n->self_scm ()); -#endif - } } bool diff --git a/lily/timing-engraver.cc b/lily/timing-engraver.cc index d3aa30bb96..9a381cede4 100644 --- a/lily/timing-engraver.cc +++ b/lily/timing-engraver.cc @@ -11,6 +11,7 @@ #include "multi-measure-rest.hh" #include "timing-translator.hh" #include "engraver.hh" +#include "grob.hh" /** Do time bookkeeping @@ -54,14 +55,21 @@ Timing_engraver::start_translation_timestep () which = (now.main_part_ || now.main_part_ == last_moment_.main_part_) ? SCM_EOL : ly_str02scm ("|"); + + Moment mp = measure_position (); + bool start_of_measure = (last_moment_.main_part_ != now.main_part_&& !mp.main_part_ ); + + if (start_of_measure) + { + Moment mlen = Moment(measure_length ()); + unsmob_grob (get_property ("currentCommandColumn"))->set_grob_property ("measure-length", mlen.smobbed_copy()); + } if (!gh_string_p (which) && !to_boolean (nonauto)) { SCM always = get_property ("barAlways"); - Moment mp = measure_position (); - if ( (last_moment_.main_part_ != now.main_part_ - && !mp.main_part_) - || (to_boolean (always))) + + if ( start_of_measure || (to_boolean (always))) { /* should this work, or be junked? See input/bugs/no-bars.ly */ which = get_property ("defaultBarType"); @@ -77,6 +85,7 @@ Timing_engraver::stop_translation_timestep () Timing_translator::stop_translation_timestep (); daddy_trans_l_->set_property ("whichBar", SCM_EOL); last_moment_ = now_mom (); + } diff --git a/lily/timing-translator.cc b/lily/timing-translator.cc index edd5505bc4..f92b598a41 100644 --- a/lily/timing-translator.cc +++ b/lily/timing-translator.cc @@ -15,7 +15,6 @@ #include "multi-measure-rest.hh" - void Timing_translator::stop_translation_timestep () { @@ -50,7 +49,6 @@ Timing_translator::stop_translation_timestep () } } - void Timing_translator::initialize () { diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm deleted file mode 100644 index 1ff31de79d..0000000000 --- a/make/out/lilypond.lsm +++ /dev/null @@ -1,15 +0,0 @@ -Begin3 -Title: LilyPond -Version: 1.5.48 -Entered-date: 27MRT02 -Description: @BLURB@ -Keywords: music notation typesetting midi fonts engraving -Author: hanwen@cs.uu.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 - 1000k lilypond-1.5.48.tar.gz -Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.5.48.tar.gz -Copying-policy: GPL -End diff --git a/make/out/lilypond.mandrake.spec b/make/out/lilypond.mandrake.spec deleted file mode 100644 index 10b3c82b45..0000000000 --- a/make/out/lilypond.mandrake.spec +++ /dev/null @@ -1,172 +0,0 @@ -%define name lilypond -%define version 1.5.48 -%define release 1mdk - -Name: %{name} -Summary: A program for printing sheet music. -Version: %{version} -Release: %{release} -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-%{version}.tar.gz -## Patch0: lilypond-GNUmakefile.in.patch.bz2 -License: GPL -Group: Publishing -URL: http://www.lilypond.org/ -BuildRoot: %{_tmppath}/%{name}-buildroot -BuildRequires: guile guile-devel -Requires: tetex - -%description -LilyPond is a music typesetter. It produces beautiful sheet music using a -high level description file as input. Lilypond is part of the GNU project. - -LilyPond is split into two packages. The package "lilypond" provides the -core package, containing the utilities for converting the music source -(.ly) files into printable output. The package "lilypond-extras" provides -the full documentation, example .ly files for various features and the -Mutopia project files (musical equivalent of the Gutenberg project - see -http://www.mutopiaproject.org for details). - -If you are new to lilypond, you will almost certainly want to install the -"lilypond-extras" package in addition to the "lilypond" package. - -You may also wish to investigate the "denemo" package, which provides a -graphical front end to lilypond. - -See the file README.first for more information. - - -%package extras -Summary: LilyPond documentation, examples and Mutopia files. -Group: Publishing -Requires: lilypond - -%description extras -The documentation of LilyPond, both in HTML and PostScript, along with -example input files and the files from the Mutopia project. - -%prep -%setup -a 1 -## % patch0 -b .orig - -%build -# DO NOT use % { configure } , it hardcodes all paths, runs libtool, -# so we can't do make prefix=/tmp/ install. -# -- not sure what this comment means; it's a relic from the PPC spec file -- mbrown@fensystems.co.uk -./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared -make -make local-web - -%install - -# Create installation root folders -rm -rf $RPM_BUILD_ROOT -RPM_DOC_ROOT=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} -rm -rf $RPM_DOC_ROOT -mkdir -p $RPM_DOC_ROOT - -make prefix="$RPM_BUILD_ROOT%{_prefix}" install -%{find_lang} %{name} - -# Move info and man files into correct locations -mv $RPM_BUILD_ROOT/usr/info $RPM_BUILD_ROOT%{_infodir} -mv $RPM_BUILD_ROOT/usr/man $RPM_BUILD_ROOT%{_mandir} - -# Move TeX font files into system TeX tree locations -mkdir -p $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/{afm,source,tfm} -mv $RPM_BUILD_ROOT%{_datadir}/lilypond/afm $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/afm/lilypond -mv $RPM_BUILD_ROOT%{_datadir}/lilypond/mf $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/source/lilypond -mv $RPM_BUILD_ROOT%{_datadir}/lilypond/tfm $RPM_BUILD_ROOT%{_datadir}/texmf/fonts/tfm/lilypond -mkdir -p $RPM_BUILD_ROOT%{_datadir}/texmf/tex -mv $RPM_BUILD_ROOT%{_datadir}/lilypond/tex $RPM_BUILD_ROOT%{_datadir}/texmf/tex/lilypond - -# Copy emacs mode files into %{_datadir}/lilypond/emacs -mkdir -p $RPM_BUILD_ROOT%{_datadir}/lilypond/emacs -cp *.el $RPM_BUILD_ROOT%{_datadir}/lilypond/emacs/ - -# Create documentation tree in %{_docdir} -mkdir -p $RPM_DOC_ROOT/HTML -tar -C $RPM_DOC_ROOT/HTML -xzf out/web.tar.gz -ln -s HTML/input $RPM_DOC_ROOT/Examples -ln -s HTML/input/test $RPM_DOC_ROOT/Tricks -ln -s HTML/mutopia $RPM_DOC_ROOT/Mutopia -mkdir -p $RPM_DOC_ROOT/Printable -ln -s ../HTML/Documentation/user/out-www/lilypond.ps.gz $RPM_DOC_ROOT/Printable/Manual.ps.gz -ln -s ../HTML/Documentation/user/out-www/glossary.ps.gz $RPM_DOC_ROOT/Printable/Glossary.ps.gz -cp AUTHORS.txt CHANGES COPYING DEDICATION FAQ.txt NEWS README.txt VERSION README.mandrake $RPM_DOC_ROOT/README.first - -%post -touch /tmp/.lilypond-install -rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install -/usr/bin/mktexlsr -%_install_info lilypond.info -%_install_info lilypond-internals.info - -echo 'Please logout first before using LilyPond.' - - -%preun -%_remove_install_info lilypond.info -%_remove_install_info lilypond-internals.info - -%postun -/usr/bin/mktexlsr - - -%files -f %{name}.lang -%defattr(-,root,root,0755) -%{_bindir}/* -%{_datadir}/lilypond/ -%{_datadir}/texmf/fonts/afm/lilypond -%{_datadir}/texmf/fonts/source/lilypond -%{_datadir}/texmf/fonts/tfm/lilypond -%{_datadir}/texmf/tex/lilypond - -%doc %{_infodir}/* -%doc %{_mandir}/man1/* -%doc %{_docdir}/%{name}-%{version}/AUTHORS.txt -%doc %{_docdir}/%{name}-%{version}/CHANGES -%doc %{_docdir}/%{name}-%{version}/COPYING -%doc %{_docdir}/%{name}-%{version}/DEDICATION -%doc %{_docdir}/%{name}-%{version}/FAQ.txt -%doc %{_docdir}/%{name}-%{version}/NEWS -%doc %{_docdir}/%{name}-%{version}/README.txt -%doc %{_docdir}/%{name}-%{version}/VERSION -%doc %{_docdir}/%{name}-%{version}/README.first - -%files extras -%defattr(-,root,root,0755) -%doc %{_docdir}/%{name}-%{version}/HTML -%doc %{_docdir}/%{name}-%{version}/Mutopia -%doc %{_docdir}/%{name}-%{version}/Printable -%doc %{_docdir}/%{name}-%{version}/Tricks -%doc %{_docdir}/%{name}-%{version}/Examples - - -%changelog -* Fri Jun 01 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.4.2-1mdk -- updated by Michael Brown <mbrown@linux-mandrake.com> : - - Upgraded to 1.4.2 - - Changed URL - - Removed /etc/profile.d scripts: all TeX bits are now located properly - - Rearranged documentation - - Tidied spec file - - Updated README.first - -* Mon Feb 26 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.3.129-1mdk -- added in contribs by Michael Brown <mbrown@fensystems.co.uk> : - - Removed info files completely (couldn't get info reader to read them) - - TODO: Get this to work at some point (in the meantime, use documentation in lilypond-extras) - -* Sat Feb 17 2001 Michael Brown <mbrown@fensystems.co.uk> -- Moved TeX font folders into the system TeX tree (this ensures that the /var/lib/texmf font cache is used instead of current folder) -- Added mktexlsr to post-install and post-uninstall scripts -- Patched scripts in /etc/profile.d to reflect changes to font locations -- Added QuickStart guide and Points to note sections to README.first (well worth reading) -- Fixed install-info and uninstall-info sections to use Mandrake's RPM macros :-) - -* Tue Feb 13 2001 Michael Brown <mbrown@fensystems.co.uk> -- First Mandrake package -- spec file heavily adapted from PowerPC contribs. -- Note HTML documentation may contain duff links and may be incomplete. Lots of warnings appear when building HTML docs. -- PostScript documentation is duplicated (how do you get an rpm package to contain a symlink?) -- Created README.first file diff --git a/make/out/lilypond.redhat.spec b/make/out/lilypond.redhat.spec deleted file mode 100644 index f17159888b..0000000000 --- a/make/out/lilypond.redhat.spec +++ /dev/null @@ -1,142 +0,0 @@ -# -*- rpm-spec-mode -*- - -%define info yes - -Name: lilypond -Version: 1.5.48 -Release: 1 -License: GPL -Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.48.tar.gz -Summary: Create and print music notation -URL: http://www.lilypond.org/ -BuildRoot: /tmp/lilypond-install - -# add lots of Buildreq: flex, bison, tetex, tetex-devel, tetex-latex, texinfo -# better prereqs: tetex-latex, python, (mpost?) etc. -Prereq: tetex t1utils bison flex pktrace texinfo tetex-latex gcc-c++ python - -%description -LilyPond lets you create music notation. It produces -beautiful sheet music from a high-level description file. - -%package documentation -Summary: Prebuilt website containing all LilyPond documentation. -Group: Applications/Publishing -# BuildArchitectures: noarch - -%description documentation - -The documentation of LilyPond, both in HTML and PostScript. - -%prep -%setup - -%build - -# DO NOT use % { configure } , it hardcodes all paths, runs libtool, -# so we can't do make prefix=/tmp/ install. - -# In fact, do not take out the spaces between % and { in the above comment, -# because RPM will gladly do a substitution anyway. - -./configure --disable-checking --prefix=%{_prefix} --enable-optimise - -make MAKE_PFA_FILES=1 all - -# make info -make -C Documentation - -# make html -make web-doc top-web - -%install - - -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc - -strip lily/out/lilypond -make prefix="$RPM_BUILD_ROOT%{_prefix}" MAKE_PFA_FILES=1 install - -%if info=="yes" -gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* -%endif - -mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d -install -m 644 lilypond-mode.el lilypond-font-lock.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/ -install -m 644 lilypond-init.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d - -gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/* - -mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d -cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh -cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.csh - - -# again, make sure that main package installs even if doco fails -mkdir -p web/out -tar -C web -xzf out/web.tar.gz - - -%post - -touch /tmp/.lilypond-install -rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install - -%if info=="yes" -/sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir -%endif - - -echo 'Please logout first before using LilyPond.' - -%preun - -%if info=="yes" -if [ $1 = 0 ]; then - /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir -fi -%endif - - -%files -%defattr(-, root, root) -%{_datadir}/emacs/site-lisp/lilypond-* -%{_datadir}/emacs/site-lisp/site-start.d/lilypond-* - -%{_prefix}/bin/abc2ly -%{_prefix}/bin/as2text -%{_prefix}/bin/convert-ly -%{_prefix}/bin/etf2ly -%{_prefix}/bin/lilypond -%{_prefix}/bin/ly2dvi -%{_prefix}/bin/midi2ly -%{_prefix}/bin/lilypond-book -%{_prefix}/bin/mup2ly -%{_prefix}/bin/musedata2ly -%{_prefix}/bin/pmx2ly - -%if info=="yes" -%{_prefix}/info/lilypond.info.gz -%{_prefix}/info/lilypond-internals.info.gz -%endif - -%{_prefix}/man/man1/abc2ly.1.gz -%{_prefix}/man/man1/as2text.1.gz -%{_prefix}/man/man1/convert-ly.1.gz -%{_prefix}/man/man1/etf2ly.1.gz -%{_prefix}/man/man1/lilypond.1.gz -%{_prefix}/man/man1/ly2dvi.1.gz -%{_prefix}/man/man1/midi2ly.1.gz -%{_prefix}/man/man1/lilypond-book.1.gz -%{_prefix}/man/man1/musedata2ly.1.gz -%{_prefix}/man/man1/mup2ly.1.gz -%{_prefix}/man/man1/pmx2ly.1.gz - -%{_prefix}/share/lilypond/ -%{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo -%{_prefix}/../etc/profile.d/lilypond.* - -%files documentation -%doc web/ diff --git a/make/out/lilypond.suse.spec b/make/out/lilypond.suse.spec deleted file mode 100644 index 7335263cd9..0000000000 --- a/make/out/lilypond.suse.spec +++ /dev/null @@ -1,300 +0,0 @@ -# -# spec file for package lilypond (Version 1.3.149) -# based on -# spec file for package lilypond (Version 1.2.17) -# Copyright (c) 2000 SuSE GmbH Nuernberg, Germany. -# -# Please send bug reports to schlemme@mathe.tu-freiberg.de - -%define info yes - -# neededforbuild guile tcsh tetex te_latex te_mpost libpng python gpp libgpp gettext autoconf netpbm libnetpb gs_serv gs_lib gs_fonts guile -# usedforbuild aaa_base aaa_dir autoconf automake base bash bindutil binutils bison bzip compress cpio cracklib devs diff ext2fs file fileutil find flex gawk gcc gdbm gettext gpm gpp gppshare groff gs_fonts gs_lib gs_serv guile gzip kbd less libc libgpp libnetpb libpng libtool libz lx_suse make mktemp modules ncurses net_tool netcfg netpbm nkita nkitb nssv1 pam patch perl pgp ps python rcs rpm sendmail sh_utils shadow shlibs strace syslogd sysvinit tcsh te_ams te_latex te_mpost tetex texinfo textutil timezone unzip util vim xdevel xf86 xshared guile - - -Distribution: SuSE Linux 7.0 (i386) -Name: lilypond -Version: 1.5.48 -Release: 2 -Copyright: GPL -Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.48.tar.gz -# music notation software for.. ? -Summary: A program for printing sheet music. -URL: http://www.lilypond.org/ -# rpm: 4.0: broken for -ta builds: rpm doesn't look in tarball for xpm -# Icon: lilypond-icon.xpm -BuildRoot: /tmp/lilypond-install -# add lots of Buildreq: tetex-kpath, te_mpost, bison -# better prereqs: tetex-latex, python, (mpost?) etc. -Prereq: tetex python - -# use keywords: music notation software -%description -LilyPond is a music typesetter. It produces beautiful -sheet music using a high level description file as input. LilyPond is -part of the GNU Project. - -Authors: --------- - Han-Wen Nienhuys <hanwen@cs.uu.nl> - Jan Nieuwenhuizen <janneke@gnu.org> - Alexandre Oliva <oliva@dcc.unicamp.br> - Mats Bengtsson <matsb@s3.kth.se> - Eric Bullinger <eric@aut.ee.ethz.ch> - Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no> - Anthony Fok <foka@debian.org> - Neil Jerram <nj104@cus.cam.ac.uk> - Donald Ervin Knuth - Werner Lemberg <wl@gnu.org> - David R. Linn <drl@vuse.vanderbilt.edu> - François Pinard <pinard@iro.umontreal.ca> - Jeffrey B. Reed <daboys@bga.com> - Shay Rojanski - Tom Cato Amundsen <tca@gnu.org> - Laura Conrad <lconrad@world.std.com> - James Hammons <jlhamm@pacificnet.net> - Bjoern Jacke <bjoern.jacke@gmx.de> - Michael Krause <m.krause@tu-harburg.de> - David R. Linn <drl@vuse.vanderbilt.edu> - Adrian Mariano - Stephen Peters <portnoy@ai.mit.edu> - Glen Prideaux <glenprideaux@iname.com> - Roy R. Rankin <Roy.Rankin@alcatel.com.au> - Juergen Reuter <reuterj@ira.uka.de> - August S.Sigov <august@infran.ru> - Rune Zedeler <rune@zedeler.dk> - -SuSE series: ap - -%package doc -Summary: Prebuilt website containing all LilyPond documentation. -Group: Applications/Publishing -# BuildArchitectures: noarch - -%description doc - -The documentation of LilyPond, both in HTML and PostScript. - -%define INSTALL install -m755 -s -%define INSTALL_DIR install -d -m755 -%define INSTALL_DATA install -m644 -%prep -%setup - -%build - -# - -# DO NOT use % { configure } , it hardcodes all paths, runs libtool, -# so we can't do make prefix=/tmp/ install. - -# In fact, do not take out the spaces between % and { , because RPM will gladly -# do a substitution anyway. - -CFLAGS="$RPM_OPT_FLAGS" ./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --enable-optimise --enable-shared - -make LDFLAGS=-s "CFLAGS=$RPM_OPT_FLAGS" all - -# urg -# %build doc -# line 42: second %build -# ok, now make sure that lilypond package will succeed, -# even if documentation fails to build - -make -C Documentation || true -make web-doc top-web || true - -%install - - - -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc - -## this is an ugly hack -mkdir -p scripts/share/lilypond/tex -cp tex/titledefs.tex scripts/share/lilypond/tex -## end of hack - - -strip lily/out/lilypond -make prefix="$RPM_BUILD_ROOT%{_prefix}" install - -%{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/fonts/source/public/lilypond -(cd $RPM_BUILD_ROOT/usr/share/lilypond \ - && mv mf/* $RPM_BUILD_ROOT/usr/share/texmf/fonts/source/public/lilypond \ - && rm -fr mf \ - && ln -s ../texmf/fonts/source/public/lilypond mf) -%{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/fonts/afm/lilypond -(cd $RPM_BUILD_ROOT/usr/share/lilypond \ - && mv afm/* $RPM_BUILD_ROOT/usr/share/texmf/fonts/afm/lilypond \ - && rm -fr afm \ - && ln -s ../texmf/fonts/afm/lilypond afm) -%{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/tex/lilypond -(cd $RPM_BUILD_ROOT/usr/share/lilypond \ - && mv tex/* $RPM_BUILD_ROOT/usr/share/texmf/tex/lilypond \ - && rm -fr tex \ - && ln -s ../texmf/tex/lilypond tex) -%{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/texmf/lilypond/ps -(cd $RPM_BUILD_ROOT/usr/share/lilypond \ - && mv ps/* $RPM_BUILD_ROOT/usr/share/texmf/lilypond/ps \ - && rm -fr ps \ - && ln -s ../texmf/lilypond/ps ps) - - -%if info=="yes" -gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true -%endif - - - -gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/* || true - - - - -mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d -cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh -cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.csh - -# urg -#%install doc -#line 63: second %install -# again, make sure that main package installs even if doco fails -mkdir -p web/out -tar -C web -xzf out/web.tar.gz || true - -%ifos cygwin -# urg, this symlink doesn't come through on cygwin -# this is the way symlinks work over there, let's fake one -rm -f $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm -echo '!<symlink>c:\\texmf\\fonts\\tfm\\public\\cm' > $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm -%{fix_suffixes} -%endif - -%{?suse_check} - - -%pre -if [ -d usr/share/lilypond/ps ]; then - mv usr/share/lilypond/ps usr/share/lilypond/ps.old - echo "please, remove /usr/share/lilypond/ps.old manually." -fi - -%post - -touch /tmp/.lilypond-install -rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install -%if info=="yes" -/usr/bin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true -%endif -mkdir -p var/adm/SuSEconfig -touch var/adm/SuSEconfig/run-texhash - - -%preun -%if info=="yes" -if [ $1 = 0 ]; then - /usr/bin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true -fi -%endif - -%postun -mkdir -p var/adm/SuSEconfig -touch var/adm/SuSEconfig/run-texhash - - - -%files -%defattr(-, root, root) -%doc CHANGES COPYING DEDICATION INSTALL.txt NEWS -%doc README.txt FAQ.txt AUTHORS.txt VERSION ROADMAP -%doc buildscripts/ -%doc scripts/ -# hairy to hook it in (possibly non-existing) emacs -%doc lilypond-mode.el -%doc lilypond-font-lock.el - -%config /etc/profile.d/* - -%ifnos cygwin -%{_prefix}/bin/abc2ly -%{_prefix}/bin/as2text -%{_prefix}/bin/convert-ly -%{_prefix}/bin/etf2ly -%{_prefix}/bin/lilypond -%{_prefix}/bin/ly2dvi -%{_prefix}/bin/midi2ly -%{_prefix}/bin/lilypond-book -%{_prefix}/bin/mup2ly -%{_prefix}/bin/musedata2ly -%{_prefix}/bin/pmx2ly -%else -%{_prefix}/bin -%endif - -%if info=="yes" -%{_prefix}/info/lilypond.info.gz -%{_prefix}/info/lilypond-internals.info.gz -%endif - -%{_prefix}/man/man1/abc2ly.1.gz -%{_prefix}/man/man1/as2text.1.gz -%{_prefix}/man/man1/convert-ly.1.gz -%{_prefix}/man/man1/etf2ly.1.gz -%{_prefix}/man/man1/lilypond.1.gz -%{_prefix}/man/man1/ly2dvi.1.gz -%{_prefix}/man/man1/midi2ly.1.gz -%{_prefix}/man/man1/lilypond-book.1.gz -%{_prefix}/man/man1/musedata2ly.1.gz -%{_prefix}/man/man1/mup2ly.1.gz -%{_prefix}/man/man1/pmx2ly.1.gz - -%{_prefix}/share/lilypond/ -%{_prefix}/share/texmf/ -%{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo -# urg? -#%{_prefix}/../etc/profile.d/lilypond.* - -%files doc -# this gets too messy... -%doc mutopia/ -%doc input/ -%doc web/ -# verbatim include of input: list the directory without issuing a %dir - -%changelog -n lilypond -* Sun Apr 22 2001 - schlemme@mathe.tu-freiberg.de -- update: 1.3.149 -* Mon Apr 10 2000 - bk@suse.de -- added suse update config macro -* Thu Mar 16 2000 - kukuk@suse.de -- Use gs_serv, not gs_both (doesn't exist on all platforms) -* Wed Mar 01 2000 - uli@suse.de -- moved man pages to /usr/share -* Tue Dec 21 1999 - ke@suse.de -- add documentation (#271). -* Mon Dec 13 1999 - ke@suse.de -- update: 1.2.17. -- compiler fix (thanks to schwab@suse.de). -- #271. -* Mon Oct 25 1999 - ke@suse.de -- update: 1.2.16. -* Mon Sep 13 1999 - bs@suse.de -- ran old prepare_spec on spec file to switch to new prepare_spec. -* Mon Sep 06 1999 - ro@suse.de -- update to 1.2.6 to make it compile with new guile -- various fixes and one hack to make this compile at all -* Sun Aug 22 1999 - ke@suse.de -- provide /etc/profile.d scripts. -- make lily.ps available (thanks to Ulrich Windl). -* Tue Aug 17 1999 - ke@suse.de -- update: version 1.2.1. -* Thu Nov 05 1998 - ke@suse.de -- use the TDS and provide links from /usr/share/lilypond. -- install examples via %doc. -* Wed Oct 28 1998 - ke@suse.de -- update: version 1.0.17. -* Fri Aug 07 1998 - ke@suse.de -- initial package: version 1.0.0 diff --git a/mf/feta-banier.mf b/mf/feta-banier.mf index 93ab0682f1..d15a6b7cf0 100644 --- a/mf/feta-banier.mf +++ b/mf/feta-banier.mf @@ -5,13 +5,14 @@ fet_begingroup("flags") save outer_path; path outer_path; + % Flags pointing down overlap with the notehead (in x-direction), so % the down-flag can be bigger -upflag_width# = .750 black_notehead_width# + stemthickness#/2; +upflag_width# = .650 black_notehead_width# + stemthickness#/2; downflag_width# = .833 black_notehead_width# + stemthickness#/2; -right_upflag_space# = .2 upflag_width#; -right_downflag_space# = .2 downflag_width#; +right_upflag_space# = .0 upflag_width#; +right_downflag_space# = .0 downflag_width#; % % Flags pointing down cannot overlap with the notehead in y-direction, @@ -25,7 +26,7 @@ right_downflag_space# = .2 downflag_width#; save hip_thickness, foot_thickness; hip_thickness# = 1.3 stemthickness#; -foot_thickness# = hip_thickness#; +foot_thickness# = 1.0 hip_thickness#; % % Inspired by Adobe Sonata and [Wanske] @@ -35,22 +36,23 @@ foot_thickness# = hip_thickness#; def draw_flag(expr center, flare, dims, hip_depth, foot_wid, hip_thickness, foot_thickness)= clearxy; - + save c ; + c = 0.7; penpos1(flare, 90); penpos2(whatever, 0); x2r - x2l = hip_thickness; - penpos3(foot_thickness, 0) ; + penpos3(foot_thickness, 0.0) ; z1r = center; z2r = center + (xpart dims, -ypart(dims) * hip_depth); z3r = center + (xpart(dims) * foot_wid, -ypart dims); - outer_path := z3r{curl 0} .. z2r{up} .. {up}z1r; + outer_path := z3r{curl c} .. z2r{up} .. {up}z1r; penlabels(1, 2, 3); fill z1l{curl 0} ..tension 1.1 .. z2l{down} .. - {curl 0} simple_serif(z3l, z3r, 80) & + {curl c} simple_serif(z3l, z3r, 80) & outer_path & z1r -- cycle; enddef; @@ -107,7 +109,7 @@ fet_beginchar("8th Flag (up)", "u3", "eighthflag") foot_depth# = 3 staff_space#; set_char_box(stemthickness# /2, hip_width# - + stemthickness#/2 + right_upflag_space#, + + stemthickness#/2 + right_upflag_space#, foot_depth# + foot_thickness#/2, stemthickness#/2) define_pixels(flare, hip_width, hip_thickness, diff --git a/mf/feta-eindelijk.mf b/mf/feta-eindelijk.mf index 2a3bb4fa77..e2709e6d38 100644 --- a/mf/feta-eindelijk.mf +++ b/mf/feta-eindelijk.mf @@ -38,6 +38,10 @@ ball_crook_balldiam =flare; save block_rest_y, block_rest_x; +save breve_rest_y, breve_rest_x; + +breve_rest_y# = staff_space#; +breve_rest_x# = 3/5 staff_space#; block_rest_y# = 5/8 staff_space#; block_rest_x# = 3/2 staff_space#; @@ -88,21 +92,18 @@ fet_beginchar("half rest (outside staff)", "1o", "outsidehalfrest"); fet_endchar; -save breve_rest_y, breve_rest_x; - -breve_rest_y# = staff_space#; -breve_rest_x# = 3/5 staff_space#; define_pixels(breve_rest_y, breve_rest_x, multi_rest_x, multi_beam_height); -fet_beginchar("breve rest", "-1", "breverest"); - set_char_box(0, breve_rest_x#, 0, breve_rest_y#); - draw_block ((0,0), (breve_rest_x, breve_rest_y)); -fet_endchar; fet_beginchar("longa rest", "-2", "longarest"); set_char_box(0, breve_rest_x#, breve_rest_y#, breve_rest_y#); - draw_block ((0,-breve_rest_y), (breve_rest_x, breve_rest_y)); + draw_block ((0,-floor (breve_rest_y)), (breve_rest_x, floor (breve_rest_y))); +fet_endchar; + +fet_beginchar("breve rest", "-1", "breverest"); + set_char_box(0, breve_rest_x#, 0, breve_rest_y#); + draw_block ((0,0), (breve_rest_x, floor (breve_rest_y))); fet_endchar; tracingvariables := 1; @@ -114,9 +115,10 @@ fet_beginchar("Quarter rest","2","quartrest"); yshift# = -1.25 staff_space#; height# = 2.8125 staff_space#; define_pixels (yshift, height); - + save xcenter; + xcenter = -0.1 staff_space; - set_char_box(0, 27/25staff_space#, + set_char_box(0, 0.95 staff_space#, -yshift#, yshift# + height#); @@ -141,15 +143,15 @@ fet_beginchar("Quarter rest","2","quartrest"); z13=z2r+1/2rthin*ne+1/2rthin*nw; y1r = h; - x1l=1/3staff_space; + x1l=xcenter + 1/3staff_space; z2r=z1+staff_space*se; z3=1/2[z2,z4]; - x4=3/8staff_space; + x4= xcenter + 3/8staff_space; y4= 0; z5=z4l+1.3staff_space*se; x6l=x4l; y6l=y4r; - x7=2/5staff_space; + x7= xcenter + 2/5staff_space; y7= -d; fill z1l{se}..{se}z10..z3l..z11{se}..{se}z5l..z5r{nw}..{nw}z12..z3r..z13{nw}..{nw}z1r.. cycle; diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf index b00d089e27..a670f71942 100644 --- a/mf/feta-generic.mf +++ b/mf/feta-generic.mf @@ -39,8 +39,8 @@ if test = 0: input feta-solfa; else: -% input feta-bolletjes; -% input feta-banier; + input feta-bolletjes; + input feta-banier; % input feta-eindelijk; % input feta-klef; % input feta-toevallig; diff --git a/mf/feta-macros.mf b/mf/feta-macros.mf index 61764beba1..3b17c95f2e 100644 --- a/mf/feta-macros.mf +++ b/mf/feta-macros.mf @@ -209,7 +209,7 @@ def flare_path(expr pos,alpha,beta,line,flare, direction) = penpos2(flare,180+beta+alpha); z2=z3; penpos3(flare,0+alpha); - z3l=z1r+(1/2+0.43)*flare*dir(alpha+beta); + z3l=z1r+(1/2+0.43)*flare*dir(alpha+beta) ; save taille; taille = 0.0; z4=z2r- line * dir(alpha); diff --git a/mf/feta-schrift.mf b/mf/feta-schrift.mf index 98ade6dbf9..1d6c1e6851 100644 --- a/mf/feta-schrift.mf +++ b/mf/feta-schrift.mf @@ -166,7 +166,7 @@ fet_endchar; fet_beginchar("portato/single tenuto", "tenuto", "tenuto") save thick; - thick# = 1.4 stafflinethickness#; + thick# = 1.6 stafflinethickness#; define_whole_pixels(thick); set_char_box(.6 staff_space#, .6 staff_space#, thick#/2,thick#/2); @@ -452,16 +452,20 @@ fet_beginchar("Trill (`tr')","trill","trill") currenttransform := currenttransform slanted slant shifted (- staff_space, 0) ; y1 = ascender; - x1l = 0; - x1r = t_fatness; + + % try to position in such a way that the center is the visual + % center + + x1l = 0.2 staff_space; + x1r - x1l = t_fatness; penpos1(start_nib_wid, start_nib_angle); z2 = (x1, 7/18 ex); penpos2(start_nib_wid, start_nib_angle); - z3l = (0.5 t_width, - t_overshoot); + z3l = (x2l + 0.5 t_width, - t_overshoot); - z4l = (t_width, 0.23 ex); + z4l = (x2l + t_width, 0.23 ex); penpos4(whatever, 200); x4l - x4r = hair_thick; @@ -473,7 +477,7 @@ fet_beginchar("Trill (`tr')","trill","trill") save t_p, krul_p; path t_p, krul_p, r_p; - z5 = (t_fatness/2, 2/3 ex); + z5 = (x2l + t_fatness/2, 2/3 ex); % penpos5(hair_thick, ); t_p := z1r{dir (angle(z1l-z1r) + 30)} .. z1l{-dir (angle(z1r-z1l) - 45)} @@ -491,7 +495,7 @@ fet_beginchar("Trill (`tr')","trill","trill") pickup pencircle scaled hair_thick; - lft x6 = - uitschieter; + lft x6 = x2l - uitschieter; y6 = y5 ; % - 1/20 ex; z7 = z5 + whatever*dir krul_ang; diff --git a/mf/feta-toevallig.mf b/mf/feta-toevallig.mf index cd57e956fe..4d6dd61996 100644 --- a/mf/feta-toevallig.mf +++ b/mf/feta-toevallig.mf @@ -96,7 +96,7 @@ fet_beginchar("Sharp" , "1", "sharp"); % fet_beginchar( "Natural", "0", "natural") - save height; + save height, xcenter; save interbeam, interstem, beamheight, beamwidth, stemwidth; save top_stem_thick; diff --git a/ports/ports.make b/ports/ports.make index d02bca27bb..6e0b84c3c5 100644 --- a/ports/ports.make +++ b/ports/ports.make @@ -19,7 +19,7 @@ make-root?=$(wildcard /usr/local/share/lilypond/make) # make-root=<LilyPond's datadir>/make ifeq ($(SUBDIRS),) -SUBDIRS = $(filter-out .,$(shell find . -maxdepth 1 -type d -not -name 'out*')) +SUBDIRS = $(filter-out .,$(shell find . -maxdepth 1 -type d -not -name 'out*' -and -not -name 'CVS')) endif ifneq ($(make-root),) diff --git a/scm/grob-description.scm b/scm/grob-description.scm index d35e4ac032..6425e2e749 100644 --- a/scm/grob-description.scm +++ b/scm/grob-description.scm @@ -246,7 +246,6 @@ (molecule-callback . ,Text_item::brew_molecule) (X-offset-callbacks . (,Side_position_interface::aligned_on_self)) (self-alignment-X . 0) - (no-spacing-rods . #t) (script-priority . 100) (font-series . bold) @@ -433,11 +432,8 @@ (Y-offset-callbacks . (,Staff_symbol_referencer::callback)) (staff-position . 0) (expand-limit . 10) - (width . 5.5) (thickness . 6.6) - (padding . 1.5) ; staffspace (font-family . number) - (font-relative-size . 1) (meta . ((interfaces . (multi-measure-rest-interface rest-interface font-interface staff-symbol-referencer-interface)))) )) @@ -652,7 +648,7 @@ (SpacingSpanner . ( (spacing-procedure . ,Spacing_spanner::set_springs) - (grace-space-factor . 0.8) + (grace-space-factor . 0.5) (shortest-duration-space . 2.0) (spacing-increment . 1.2) diff --git a/scm/grob-property-description.scm b/scm/grob-property-description.scm index cb86a25200..0f453ffb34 100644 --- a/scm/grob-property-description.scm +++ b/scm/grob-property-description.scm @@ -221,6 +221,8 @@ and will have no effect. (grob-property-description 'magnify number? "the magnification factor. FIXME: doesn't work for feta fonts.") (grob-property-description 'maximum-length number? "don't make Grob longer than this") (grob-property-description 'maximum-rest-count integer? "kill off rests so we don't more than this number left.") +(grob-property-description 'measure-length moment? "Length of a +measure. Used in some spacing situations.") (grob-property-description 'measure-count integer? "number of measures for a multimeasure rest.") (grob-property-description 'merge-differently-dotted boolean? " Merge noteheads in collisions, even if they have a different number of dots. This normal notation for some types of polyphonic music. The value of this setting is used by @ref{note-collision-interface} .") (grob-property-description 'minimum-distance number? "minimum distance between notes and rests.") @@ -243,7 +245,6 @@ FIXME: also pair? (cons LEFT RIGHT) ? (cons LEFT RIGHT) ") -(grob-property-description 'minimum-width number? "minimum-width of rest symbol, in staffspace.") (grob-property-description 'molecule-callback procedure? "Function taking grob as argument, returning a Scheme encoded Molecule.") (grob-property-description 'molecule molecule? "Cached output of the molecule-callback.") diff --git a/stepmake/.cvsignore b/stepmake/.cvsignore new file mode 100644 index 0000000000..94eb56c37a --- /dev/null +++ b/stepmake/.cvsignore @@ -0,0 +1,7 @@ +GNUmakefile +config.cache +config.h +config.log +config.make +config.status +configure diff --git a/stepmake/AUTHORS.txt b/stepmake/AUTHORS.txt deleted file mode 100644 index a7bed18d26..0000000000 --- a/stepmake/AUTHORS.txt +++ /dev/null @@ -1,24 +0,0 @@ - -NAME - -AUTHORS - who did what on StepMake? - -DESCRIPTION - -This file lists authors of StepMake, and what they wrote. - -AUTHORS - -o Jan Nieuwenhuizen <janneke@gnu.org>, - http://www.xs4all.nl/~jantien - - Main author. -o Han-Wen Nienhuys <hanwen@cs.uu.nl>, - http://www.cs.uu.nl/people/hanwen - - Main author. - -CONTRIBUTORS - -o Jeffrey B. Reed <daboys@bga.com>, - Windows-nt fixes. diff --git a/stepmake/INSTALL.txt b/stepmake/INSTALL.txt deleted file mode 100644 index a0e5f7708a..0000000000 --- a/stepmake/INSTALL.txt +++ /dev/null @@ -1,174 +0,0 @@ - -NAME - -INSTALL - installing StepMake - -DESCRIPTION - -This page documents installation and usage of StepMake - -ABSTRACT - -StepMake is a drop-in package that takes care of generic Makefile and -packaging/distribution issues. It enables you to write only the simplest of -Makefile snippets, while providing a series powerful make targets. Features -include speed, wildcarding, out/ dir build, stateless Makefiles and package -clustering. It includes some handy scripts for making (package-)diffs and -patches, making binary distributions etc. - -To use StepMake with your package, you do something remotely like: - - tar xzf releases/stepmake-0.1.23 - cd package-x.x.x/ # package to be StepMake-ised - ./../stepmake-0.1.23/bin/stepmakeise.sh - -You'll have to customize at least the files: - - ./VERSION . - ./configure.in - -to your package's needs. You might want to take a look at: - - ./make/Toplevel.make.in - ./config.hh.in - ./config.make.in - -Also, you should put a Makefile in every subdirectory of your -package. These makefiles generally are quite simple, e.g. this -is a the makefile for an include directory of LilyPond: - - # lily/include/Makefile - - depth = ../.. - include $(depth)/make/Stepmake.make - -it will identify all .h, .hh, ... files and take care of distributing -them. - -There's a make/Template.make that you can use as an example. -See also the Makefiles in the LilyPond or Yodl package. - -Once included in your package, StepMake (or in fact, any -StepMake-ised package) behaves as a normal subdirectory; -make commands such as 'make dist' recurse into the stepmake tree -(For a list of available targets, type make help after -configuring). -Stepmake (and any changes made) will be distributed with the main -pacakage. However, StepMake doesn't lose its independency, change -to the stepmake directory, and it'll behave as a main package. -You shouldn't version directory names of subpackages, otherwise -you'll see that package twice in each patch when you upgrade. - -PREREQUISITES - -To use StepMake with a package you need: - -o A GNU system: StepMake is known to work on these GNU systems: Linux - (PPC, intel), FreeBSD, AIX, NeXTStep, IRIX, Digital Unix and Solaris. - If you have the Cygnus WINDOWS32 port of the GNU utils, it will even - work in Windows NT/95, but we don't promise to support it. -o GNU make -o GNU autoconf - -RECOMMENDED - -Although not strictly necessary, these are recommended to have. - -o Python -o Yodl. All documentation will be in Yodl. (1.22.jcn3) -o GNU find - -INTERNALS - -Over time, we put a lot of effort in the configure, make, distribute -system (CMDS) for LilyPond. Some months ago, we realised it was not -standard GNU --- we require GNU make for building, and Python for extra -scripting. In an effort to be more GNU, we tried automake, but after two -weeks we realised the costs were too high for us and we reverted to our -own system (see automake.urgh). Not long after that i was confronted -with two other packages that lacked a decent CMDS. I realised that Lily's -would be perfect, it's modular and easy. The only problem was to make a -clean cut between generic and Lily specific stuff. The result was -StepMake: a bunch of generic makefiles, found in: - - stepmake/stepmake/*.make - -eneric helper scripts: - - stepmake/bin/*.sh - stepmake/bin/*.py - -and modular configure functions: - - stepmake/configure.in - stepmake/aclocal.m4 - stepmake/config.hh.in - stepmake/config.make.in - -Of course, every package has its own configure- and make peculiarities. -The best way to create the configure scripts is to copy them from -stepmake (Actually, stepmake/bin/stepmakeise.sh will do -that for you.) into you package's toplevel directory. For most -packages, you'll only have to comment in/out some functions in -configure.in. - -Package specific makefiles go in: - - make/Targets.make - make/Rulese.make - make/Substitute.make - -and are included by the generic StepMake makefiles. - -MAINTAINING - -If you want to make and manage (binary) distributions, create and apply -patches, you'll need some framework that's outside of the package's -sourcetree. -For a number of simple maintenance tasks, StepMake will therefore assume -the following directory structure: - - doos/ # gnu/windows32 build and binary releases - harmonia -> harmonia-x.y.z - harmonia-x.y.z/ - lilypond -> lilypond-x.y.z # symlink to development directory - lilypond-x.y.z/ # current development - patches/ # patches between different releases - RedHat/BUILD # RedHat build and binary releases - RedHat/RPMS - RedHat/SPECS - releases/ # .tar.gz releases - test/ # tarballs and diffs from current version - yodl -> yodl-1.30.17 - yodl-1.30.17 - -with prefix $HOME/usr/src -and (for building rpms only) in $HOME/.rpmrc: - - topdir: /home/fred/usr/src/RedHat - -Check and update the layout with the command: - - ./stepmake/bin/stepdirs.sh - -SEE ALSO - -../PATCHES.txt - -CONFIGURING - -Stepmake comes with a number of precooked configure functions for -general needs, such as AC_STEPMAKE_COMPILE for simple C development -and AC_STEPMAKE_CXX for C++. - -See configure.in and comment in/out the functions that your package -needs. For specific needs, you can write your own autoconf code, -see info autoconf. - -AUTHORS - -Jan Nieuwenhuizen <janneke@gnu.org> - -Han-Wen Nienhuys <hanwen@cs.uu.nl> - -Have fun! diff --git a/stepmake/bin/config.guess b/stepmake/bin/config.guess index 03992567bc..03992567bc 100644..100755 --- a/stepmake/bin/config.guess +++ b/stepmake/bin/config.guess diff --git a/stepmake/bin/config.sub b/stepmake/bin/config.sub index 578b302738..578b302738 100644..100755 --- a/stepmake/bin/config.sub +++ b/stepmake/bin/config.sub diff --git a/stepmake/make/out/stepmake.lsm b/stepmake/make/out/stepmake.lsm deleted file mode 100644 index 0f70c05204..0000000000 --- a/stepmake/make/out/stepmake.lsm +++ /dev/null @@ -1,15 +0,0 @@ -Begin3 -Title: StepMake -Version: 0.1.81 -Entered-date: 22MAR00 -Description: -Keywords: music notation typesetting midi fonts engraving -Author: janneke@gnu.org (Jan Nieuwenhuizen) - hanwen@cs.ruu.nl (Han-Wen Nienhuys) -Maintained-by: janneke@gnu.org (Jan Nieuwenhuizen) -Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 40k stepmake-0.1.81.tar.gz -Original-site: pcnov095.win.tue.nl /pub/lilypond/development/ - 40k stepmake-0.1.81.tar.gz -Copying-policy: GPL -End diff --git a/stepmake/make/out/stepmake.spec b/stepmake/make/out/stepmake.spec deleted file mode 100644 index bee361b231..0000000000 --- a/stepmake/make/out/stepmake.spec +++ /dev/null @@ -1,26 +0,0 @@ -Name: stepmake -Version: 0.1.81 -Release: 1 -Copyright: GPL -Group: Development -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.81.tar.gz -Summary: generic make package -Packager: janneke@gnu.org (Jan Nieuwenhuizen) -Buildroot: /tmp/stepmake-install - -%description - - -%prep -%setup -%build -./configure --prefix=/usr -make all -%install -rm -rf $RPM_BUILD_ROOT -make prefix="$RPM_BUILD_ROOT/usr" install -%files -# urg -/usr/bin/make-patch -%post - |