@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
-
@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 }
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
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.
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.
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
@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
@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++<your-libstdc++-version-here>-dev
+@item g++, cpp, libc6-dev, libstdc++<your-libstdc++-version-here>-dev
@item libguile<your-libguile-version-here>-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
@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
@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.
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)
+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 <foka@debian.org> Sun, 7 Jan 2001 02:34:46 -0700
+
lilypond1.3 (1.3.119-1) unstable; urgency=low
* New upstream release.
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 <foka@debian.org>
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 <foka@debian.org>
--- /dev/null
+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 <foka@debian.org>
+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 <hanwen@cs.uu.nl>
+ Jan Nieuwenhuizen <janneke@gnu.org>
virtual bool try_music (Music*);
virtual void stop_translation_timestep();
virtual void start_translation_timestep ();
- virtual void create_grobs ();
+ virtual void process_music ();
private:
};
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<Item*> (i.elem_l_));
+ Lyric_extender::set_textitem (extender_p_, RIGHT, dynamic_cast<Item*> (i.elem_l_));
}
}
}
}
void
-Extender_engraver::create_grobs ()
+Extender_engraver::process_music ()
{
if (req_l_ && ! extender_p_)
{
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_);
}
}
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 ));
};
}
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;
-}