From: fred Date: Wed, 27 Mar 2002 00:35:18 +0000 (+0000) Subject: lilypond-1.3.122 X-Git-Tag: release/1.5.59~1006 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a22659c0ab3fb3384b9503aab854beb14bc6ce49;p=lilypond.git lilypond-1.3.122 --- diff --git a/Documentation/hacking.texi b/Documentation/hacking.texi index 63583e9134..0d2a97b87c 100644 --- a/Documentation/hacking.texi +++ b/Documentation/hacking.texi @@ -7,76 +7,3 @@ @top - -@chapter Getting involved - -Please help us make LilyPond a better program. You can help LilyPond in -several ways. Not all tasks requiring programming or understanding the -full source code. You can write to the mailing list -(@email{gnu-music-discuss@@gnu.org} for more information) - -@unnumberedsubsec Users - -Mutopia needs your help. The mutopia project is a collection of public -domain sheet music. You can help the project by entering music (either -by hand, or by converting from scans or MIDI) and submitting it. Point -your browser to the @uref{http://sca.uwaterloo.ca/Mutopia, Mutopia -webpage}. - -@unnumberedsubsec Font designers - -Our set of glyphs (the Feta font) is far from complete. We need the -following glyphs: segno, coda. The fonts have been coded in MetaFont, -so you will need to know MetaFont if you want to contribute a glyph. - -@unnumberedsubsec Writers - -The documentation of LilyPond and related utilities needs a lot of -work. The documentation is written in -@uref{http://www.gnu.org/software/texinfo,texinfo}. The documentation of -LilyPond is sorely lacking in terms of completeness, depth and -organisation. - -Write if you know how to write english documentation in texinfo, and -know about music and music notation. You must also know how to use -LilyPond (or be prepared to learn using it). The task is not especially -hard, but it is a lot of work, and you must be familiar with LilyPond. - -@unnumberedsubsec Translators - -LilyPond is completely ready for internationalized messages, but there -are only a few translations so far (dutch, italian, german, japanese, -french, russian). Translation involves writing a .po file, which is -relatively easy, and does not even require running LilyPond. - -@unnumberedsubsec Hackers - -There are lots of possibilities of improving the program itself. There -are both small projects and big ones. Most of them are listed in our -TODO file, listed on the homepage of Jan and -@uref{http://www.cs.uu.nl/~hanwen/lily-devel,Han-Wen}. Modifying -LilyPond almost always requires patches to the C++ part. - -There are also numerous other interesting projects that are more or less -related to LilyPond - -@itemize @bullet -@item Writing convertors, eg. from NIFF and MIDI (we tried writing one with -limited success: midi2ly, included with lilypond.) - -We found that writing them in Python is the easiest. - -@item Writing a GUI frontend to -LilyPond. At the moment @uref{denemo,denemo.sourceforge.net} is the most -advanced. - -@item Helping write @uref{ http://solfege.sourceforge.net/,solfege -tools} - -@item Helping @uref{primrose.sourceforge.net,primrose}, a tool for -scanning sheet music. -@end itemize - - -@chapter LilyPond internals - diff --git a/Documentation/index.texi b/Documentation/index.texi index 6607283680..9dde8b5dec 100644 --- a/Documentation/index.texi +++ b/Documentation/index.texi @@ -68,7 +68,6 @@ by computer}. @itemize @bullet -@item @uref{hacking.html,Internals} details of the implementation @item @uref{README-W32.html,Compiling and running on Windows32} @item @uref{../misc/out-www/CHANGES-0.0.html, Change logs from 0.0 till 0.1 } @item @uref{../misc/out-www/CHANGES-0.1.html, Change logs from 0.1 till 1.0 } diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index 05dbd6213d..19e1623757 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -21,11 +21,11 @@ If you do not want to download the entire archive for each version, the safest method for upgrading is to use @file{xdelta}, see @uref{ftp://ftp.xcf.berkeley.edu/pub/xdelta/}. -The following command produces @file{lilypond-1.1.55.tar.gz} from -@file{lilypond-1.1.54} identical (up to compression dates) to the .55 on +The following command produces @file{lilypond-1.3.122.tar.gz} from +@file{lilypond-1.3.121} identical (up to compression dates) to the .122 on the FTP site. @example - xdelta patch lilypond-1.1.54-1.1.55.xd lilypond-1.1.54.tar.gz + xdelta patch lilypond-1.3.121-1.3.122.xd lilypond-1.3.121.tar.gz @end example @section Prerequisites @@ -79,7 +79,7 @@ Available at or at mirror site @uref{ftp://ftp.dante.de,ftp://ftp.dante.de} @item MetaPost, needed for generating PostScript fonts. Please -note that tetex-0.4pl8 (included with Redhat 5.x) does not include +note that tetex-0.4pl8 (included with Red Hat 5.x) does not include @file{mfplain.mp}, which is needed for producing the scalable font files. @@ -126,23 +126,23 @@ documentation on-line documentation. It is made by entering @example make htmldoc @end example -This does require a functioning LilyPond. The binary doesn't have to +This does require a functioning LilyPond. The binary doesn't have to be installed. If you want to auto-generate Lily's website, you'll need some additional conversion tools. @itemize @bullet -@item xpmtoppm (from the netpbm package: the Portable Bitmap Utilities) (For RedHat Linux +@item xpmtoppm (from the netpbm package: the Portable Bitmap Utilities) (For Red Hat Linux users: it is included within the package libgr-progs). - the original is at + The original is at @uref{ftp://ftp.x.org/contrib/utilities/netpbm-1mar1994.p1.tar.gz,ftp://ftp.x.org/contrib/utilities/netpbm-1mar1994.p1.tar.gz} -@item pnmtopng (also in libgr-progs for RedHat). The original is +@item pnmtopng (also in libgr-progs for Red Hat). The original is at @uref{ftp://swrinde.nde.swri.edu/pub/png/applications/pnmtopng-2.37.2.tar.gz,ftp://swrinde.nde.swri.edu/pub/png/applications/pnmtopng-2.37.2.tar.gz}.i -The version of @file{pnmtopng} that is distributed with RedHat 5.1 and +The version of @file{pnmtopng} that is distributed with Red Hat 5.1 and 5.2 contains a bug: pnmtopng is dynamically linked to the wrong version of libpng. @@ -298,10 +298,10 @@ If you are doing an upgrade, please remember to remove obsolete provided to do the work for you, see @file{bin/clean-fonts.sh}. -@section Redhat linux +@section Red Hat Linux -RedHat Linux users can compile an RPM. A spec file is in -@file{make/out/lilypond.spec}, it is distributed along with the +Red Hat Linux users can compile an RPM. A spec file is in +@file{make/out/lilypond.spec}; it is distributed along with the sources. You can make the rpm by issuing @@ -312,10 +312,10 @@ You can make the rpm by issuing @end example -Precompiled RedHat-7.0 i386 RPMS are available from +Precompiled Red Hat 7.0 i386 RPMS are available from @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/RedHat/}. -For compilation on a RedHat system you need these packages, +For compilation on a Red Hat system you need these packages, in addition to the those needed for running: @itemize @bullet @item glibc-devel @@ -327,38 +327,89 @@ in addition to the those needed for running: @item tetex-devel @end itemize -@section Debian GNU/linux +@section Debian GNU/Linux -A Debian package is also available; see -@uref{http://packages.debian.org/lilypond,http://packages.debian.org/lilypond} -or contact Anthony Fok @email{foka@@debian.org} for more information. +A Debian package is also available. You may install it easily by using +apt-get as root: -The build scripts are in the subdirectory @file{debian/}; you can -make the .deb by doing +@example + apt-get install lilypond1.3 +@end example -@example +Alternatively, visit - tar xzf lilypond-x.y.z.tar.gz - cd lilypond-x.y.z - dpkg-buildpackage - dpkg -i ../lilypond_x.y.z*deb - -@end example +@itemize @bullet +@item @uref{http://packages.debian.org/lilypond,http://packages.debian.org/lilypond} +@item @uref{http://ftp.debian.org/debian/pool/main/l/lilypond1.3/,http://ftp.debian.org/debian/pool/main/l/lilypond1.3/} +for latest package uploaded to Debian unstable; +@item @uref{http://people.debian.org/~foka/lilypond/,http://people.debian.org/~foka/lilypond/} +for latest semi-unofficial build of LilyPond 1.3.121 for Debian 2.2r2 (potato) users. +The official stable Debian 2.2r2 is stuck with the old LilyPond-1.3.24. +@end itemize + +You may contact Anthony Fok @email{foka@@debian.org} for more information. + +The build scripts are in the subdirectory @file{debian/}; you can +make the .deb by doing, for example: + +@example + $ su - root + # dpkg --purge lilypond lilypond1.3 + # exit + $ tar xzf lilypond-1.3.122.tar.gz + $ cd lilypond-1.3.122 + $ dch -p -v 1.3.122-0.local.1 "Local build." + $ debuild + $ su - root + # dpkg -i ../lilypond1.3_1.3.122*.deb + # exit + $ +@end example For compilation on a Debian GNU/Linux system you need these packages, in addition to the those needed for running: + @itemize @bullet -@item libc6-dev -@item libstdc++-dev +@item g++, cpp, libc6-dev, libstdc++-dev @item libguile-dev -@item flex -@item bison +@item make, m4, flex, bison @item gettext -@item texinfo -@item tetex-dev -@item debhelper +@item groff, texinfo, bibtex2html (not in 2.2r2) +@item tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev +@item dpkg-dev, debhelper, fakeroot +@item gs, netpbm, pnmtopng @end itemize +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 +before starting dpkg-buildpackage by running apt-get as root. + +For Debian 2.2 (or 2.2r2, 2.2r3): + +@example + apt-get install task-debian-devel task-c++-dev \ + python-base libguile6-dev tetex-bin tetex-dev \ + tetex-extra flex bison texinfo groff gs \ + netpbm pnmtopng m4 gettext +@end example + +For Debian in development ("unstable", the future 2.3 or 3.0): + +@example + apt-get install task-debian-devel task-c++-dev \ + python-base libguile9-dev tetex-bin libkpathsea-dev \ + tetex-extra flex bison texinfo bibtex2html groff gs \ + netpbm pnmtopng m4 gettext +@end example + +And, just so that old fonts from previous versions of LilyPond won't +interfere with your build, you may want to do this before the build too: + +@example + dpkg --purge lilypond lilypond1.3 +@end example + @section Windows NT/95 @@ -430,7 +481,7 @@ Typical stacktrace: @end example This behaviour has been observed with machines that have old libg++ -versions (LinuxPPC feb '98, RedHat 4.x). +versions (LinuxPPC feb '98, Red Hat 4.x). @end itemize @@ -459,8 +510,8 @@ The following is from the gcc install/SPECIFIC file. @quotation 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 + 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. diff --git a/debian/GNUmakefile b/debian/GNUmakefile index 00183578ad..8b0a598759 100644 --- a/debian/GNUmakefile +++ b/debian/GNUmakefile @@ -9,7 +9,7 @@ at-ext = CONF_FILES = changelog control copyright doc-base emacsen-startup \ preinst postinst postrm prerm rules watch EXTRA_DIST_FILES = README.Debian TODO $(CONF_FILES) \ - control.foka + control.foka control.potato #OUTCONF_FILES = $(addprefix $(outdir)/, $(basename $(CONF_FILES))) $(OUTIN_FILES) OUTCONF_FILES = $(OUTIN_FILES) OUT_DIST_FILES = $(OUTIN_FILES) diff --git a/debian/changelog b/debian/changelog index 8faf519015..6d558f8a7c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +lilypond1.3 (1.3.121-1) unstable; urgency=low + + * New upstream release. + * Added more detailed instruction for building lilypond1.3 on Debian + in Documentation/topdocs/INSTALL.texi (hence INSTALL.txt). + * Applied Han-wen's one-line patch to lily/system-start-delimiter.cc + to remove bracket-width. + * It seems that bracket-width needs to be removed from + scm/grob-description.scm and scm/interface-description.scm too. + + -- Anthony Fok Sun, 7 Jan 2001 02:34:46 -0700 + lilypond1.3 (1.3.119-1) unstable; urgency=low * New upstream release. diff --git a/debian/control b/debian/control index b692d81a21..182166b1f1 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Source: lilypond1.3 -Build-Depends: debhelper (>= 2.0.72), python-base (>= 1.5.2-4), libguile9-dev, tetex-bin, libkpathsea-dev, tetex-extra, flex, bison, texinfo (>= 4.0-1), groff, gs, netpbm, pnmtopng, m4, gettext (>= 0.10.35-13) +Build-Depends: debhelper (>= 2.0.72), python-base (>= 1.5.2-4), libguile9-dev, tetex-bin, libkpathsea-dev, tetex-extra, flex, bison, texinfo (>= 4.0-1), bibtex2html, groff, gs, netpbm, pnmtopng, m4, gettext (>= 0.10.35-13) Section: tex Priority: optional Maintainer: Anthony Fok diff --git a/debian/control.foka b/debian/control.foka index b692d81a21..182166b1f1 100644 --- a/debian/control.foka +++ b/debian/control.foka @@ -1,5 +1,5 @@ Source: lilypond1.3 -Build-Depends: debhelper (>= 2.0.72), python-base (>= 1.5.2-4), libguile9-dev, tetex-bin, libkpathsea-dev, tetex-extra, flex, bison, texinfo (>= 4.0-1), groff, gs, netpbm, pnmtopng, m4, gettext (>= 0.10.35-13) +Build-Depends: debhelper (>= 2.0.72), python-base (>= 1.5.2-4), libguile9-dev, tetex-bin, libkpathsea-dev, tetex-extra, flex, bison, texinfo (>= 4.0-1), bibtex2html, groff, gs, netpbm, pnmtopng, m4, gettext (>= 0.10.35-13) Section: tex Priority: optional Maintainer: Anthony Fok diff --git a/debian/control.potato b/debian/control.potato new file mode 100644 index 0000000000..ea0cfdf66e --- /dev/null +++ b/debian/control.potato @@ -0,0 +1,29 @@ +Source: lilypond1.3 +Build-Depends: debhelper (>= 2.0.72), python-base (>= 1.5.2-4), libguile6-dev, tetex-bin, tetex-dev, tetex-extra, flex, bison, texinfo (>= 4.0-1), groff, gs, netpbm, pnmtopng, m4, gettext (>= 0.10.35-13) +Section: tex +Priority: optional +Maintainer: Anthony Fok +Standards-Version: 3.2.1 + +Package: lilypond1.3 +Architecture: any +Replaces: lilypond +Provides: lilypond +Depends: ${shlibs:Depends}, tetex-bin (>= 1.0.5-1), python-base (>= 1.5.2-4), guile +Recommends: tetex-extra (>= 1.0-1) +Conflicts: lilypond, musixtex-fonts +Description: A program for printing sheet music. + 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. + . + This is the developmental 1.3 branch of LilyPond. It is not intended for + use with stable projects, although 1.3.x is most likely to be less buggy + and much more featureful than then the old "stable" 1.2.17. + . + URLs: http://www.cs.uu.nl/~hanwen/lilypond/ + http://www.xs4all.nl/~jantien/lilypond/ + http://sca.uwaterloo.ca/lilypond/ + http://www.lilypond.org/ + Authors: Han-Wen Nienhuys + Jan Nieuwenhuizen diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index a365c25d0d..e261af552f 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -42,7 +42,7 @@ protected: virtual bool try_music (Music*); virtual void stop_translation_timestep(); virtual void start_translation_timestep (); - virtual void create_grobs (); + virtual void process_music (); private: }; @@ -62,15 +62,14 @@ void Extender_engraver::acknowledge_grob (Grob_info i) { // -> text_item - if (i.elem_l_->has_interface (ly_symbol2scm("text-item-interface"))) - + if (i.elem_l_->has_interface (ly_symbol2scm("lyric-syllable-interface"))) { current_lyric_l_ = i.elem_l_; if (extender_p_ && !extender_p_->get_bound (RIGHT) ) { - Lyric_extender(extender_p_).set_textitem (RIGHT, dynamic_cast (i.elem_l_)); + Lyric_extender::set_textitem (extender_p_, RIGHT, dynamic_cast (i.elem_l_)); } } } @@ -101,7 +100,7 @@ Extender_engraver::finalize () } void -Extender_engraver::create_grobs () +Extender_engraver::process_music () { if (req_l_ && ! extender_p_) { @@ -114,7 +113,7 @@ Extender_engraver::create_grobs () extender_p_ = new Spanner (get_property ("LyricExtender")); - Lyric_extender (extender_p_).set_textitem (LEFT, last_lyric_l_); + Lyric_extender::set_textitem (extender_p_, LEFT, last_lyric_l_); announce_grob (extender_p_, req_l_); } } diff --git a/lily/include/lyric-extender.hh b/lily/include/lyric-extender.hh index 942d0b8922..860b6072f4 100644 --- a/lily/include/lyric-extender.hh +++ b/lily/include/lyric-extender.hh @@ -22,17 +22,13 @@ for on a word's last syllable. The extender should be aligned with the left side of the last note of the melissima, and not extend beond, lasting the whole duration of the melissima - (as in MUP, urg). - */ class Lyric_extender { public: - Spanner*elt_l_; - Lyric_extender (Spanner*); - void set_textitem (Direction, Grob*); + static void set_textitem (Spanner*, Direction, Grob*); DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM )); }; diff --git a/lily/lyric-extender.cc b/lily/lyric-extender.cc index a56bae3fa4..d3af55fbb9 100644 --- a/lily/lyric-extender.cc +++ b/lily/lyric-extender.cc @@ -47,14 +47,10 @@ Lyric_extender::brew_molecule (SCM smob) } void -Lyric_extender::set_textitem (Direction d, Grob*s) +Lyric_extender::set_textitem (Spanner*sp, Direction d, Grob*s) { - elt_l_->set_bound (d, s); - elt_l_->add_dependency (s); + sp->set_bound (d, s); + sp->add_dependency (s); } -Lyric_extender::Lyric_extender (Spanner*s) -{ - elt_l_ = s; -}