summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@xs4all.nl>1997-11-18 10:07:43 +0100
committerHan-Wen Nienhuys <hanwen@xs4all.nl>1997-11-18 10:07:43 +0100
commitc28b7449566ddc75d12902b8396092a2941016f1 (patch)
tree1da8f41cc574a4346b665bf84f11556abb7834ed
parentc8e6f4f3b9c4308d88d844909e645fc5ff437fa8 (diff)
release: 0.1.31
-rw-r--r--AUTHORS.text2
-rw-r--r--Documentation/faq.pod43
-rw-r--r--Documentation/links.pod6
-rw-r--r--Documentation/other-packages.pod34
-rw-r--r--INSTALL.text12
-rw-r--r--NEWS12
-rw-r--r--TODO8
-rw-r--r--VERSION2
-rw-r--r--bin/Makefile2
-rw-r--r--debian/Makefile (renamed from make/debian/Makefile)7
-rw-r--r--debian/README.debian22
-rw-r--r--debian/changelog117
-rw-r--r--debian/control22
-rw-r--r--debian/copyright43
-rw-r--r--debian/examples (renamed from make/debian/examples)0
-rw-r--r--debian/info.ex (renamed from make/debian/info.ex)0
-rw-r--r--debian/menu.ex (renamed from make/debian/menu.ex)0
-rw-r--r--debian/postinst238
-rw-r--r--debian/postinst.old.sh18
-rw-r--r--debian/postrm51
-rw-r--r--debian/preinst66
-rw-r--r--debian/rules66
-rw-r--r--debian/watch (renamed from make/debian/watch)0
-rw-r--r--init/engraver.ly4
-rw-r--r--init/feta16.ly75
-rw-r--r--init/feta20.ly75
-rw-r--r--input/font.ly3
-rw-r--r--input/wtk1-fugue2.ly2
-rw-r--r--lily/VERSION2
-rw-r--r--lily/bar-grav.cc6
-rw-r--r--lily/bar.cc7
-rw-r--r--lily/include/bar.hh3
-rw-r--r--lily/include/horizontal-align-item.hh2
-rw-r--r--lily/include/normal-bar.hh23
-rw-r--r--lily/include/normal-span-bar.hh24
-rw-r--r--lily/include/score-bar.hh28
-rw-r--r--lily/include/span-bar.hh4
-rw-r--r--lily/include/span-score-bar.hh21
-rw-r--r--lily/lookup.cc13
-rw-r--r--lily/normal-bar.cc12
-rw-r--r--lily/normal-span-bar.cc12
-rw-r--r--lily/score-align-gravs.cc6
-rw-r--r--lily/score-bar.cc12
-rw-r--r--lily/score-column.cc9
-rw-r--r--lily/score-halign-grav.cc4
-rw-r--r--lily/scores.cc8
-rw-r--r--lily/span-bar-grav.cc5
-rw-r--r--lily/span-bar.cc48
-rw-r--r--lily/span-score-bar-grav.cc1
-rw-r--r--lily/span-score-bar.cc18
-rw-r--r--make/Makefile2
-rw-r--r--make/Toplevel.make.in2
-rw-r--r--make/debian/README.debian.ex6
-rw-r--r--make/debian/changelog10
-rw-r--r--make/debian/control25
-rw-r--r--make/debian/copyright36
-rw-r--r--make/debian/dirs2
-rw-r--r--make/debian/diversions.ex1
-rw-r--r--make/debian/docs3
-rw-r--r--make/debian/postinst7
-rw-r--r--make/debian/postrm28
-rw-r--r--make/debian/rules57
-rw-r--r--make/lelievijver.lsm8
-rw-r--r--make/lilypond.lsm8
-rw-r--r--make/lilypond.spec4
-rw-r--r--mf/TODO3
-rw-r--r--mf/feta-generic.mf4
-rw-r--r--mf/feta-klef.mf28
-rw-r--r--mf/feta-puntje.mf14
-rw-r--r--mf/feta-toevallig.mf2
-rw-r--r--mi2mu/mudela-stream.cc2
-rw-r--r--tex/feta16.tex74
-rw-r--r--tex/feta20.tex74
-rw-r--r--tex/lilyponddefs.tex6
74 files changed, 972 insertions, 632 deletions
diff --git a/AUTHORS.text b/AUTHORS.text
index 428689b5ca..cf19f67dd5 100644
--- a/AUTHORS.text
+++ b/AUTHORS.text
@@ -61,6 +61,6 @@ CCCCOOOONNNNTTTTRRRRIIIIBBBBUUUUTTTTOOOORRRRSS
-27/Oct/97 LilyPond 0.1.30 1
+27/Oct/97 LilyPond 0.1.31 1
diff --git a/Documentation/faq.pod b/Documentation/faq.pod
index 6c32aa3b92..b98fa6865c 100644
--- a/Documentation/faq.pod
+++ b/Documentation/faq.pod
@@ -8,7 +8,7 @@ Some questions that have been answered before.
=head2 Installing
-Q: I get all kinds of errors while compiling parser.cc
+Q: I get all kinds of errors while compiling F<parser.cc>
A: LilyPond uses features of bison version 1.25. Please confirm that
you are using a version 1.25 or better, that is B<GNU> bison
@@ -135,13 +135,14 @@ translated into printable items is complex: it is not always possible
to associate one Request with one Item or Spanner.
As a further notice, we want to move away from TeX (and perhaps
-output PostScript or render to an X window too)
+output PostScript or render to an X window too), so using TeX will
+make sources non-portable at some time.
=head2 Miscellaneous
Q: Do you support pop songs (chords, single staff, lyrics)?
-A: Yes, see the twinkle-pop example
+A: Yes, see the F<twinkle-pop> example
Q: Do you support guitar chord diagrams?
@@ -153,15 +154,16 @@ Q: Do you support TAB notation
A: No. The same as for the previous question goes, but TAB is a lot
more work than diagrams (TAB needs modification of Parser, Lexer,
-Notehead, Stem, and stem-code. )
+Staff, Notehead, Stem code and all the code that creates these graphic
+elements.)
Q: How do I change the TeX layout?
-A: See lilyponddefs.tex, it has some comments.
+A: See F<lilyponddefs.tex>, it has some comments.
Q: How do I learn the C++ code?
-A: The entry point is in main(). Good luck. :-)
+A: The entry point is in C<main()>. Good luck. :-)
Seriously, read, reread and reread lilygut and CodingStyle, and
just start anywhere.
@@ -195,6 +197,20 @@ finding a cute syntax (such as YYYY) isn't very hard. The complicated
issue how to adapt the internals to do XXXX. The parser is really a
simple front end to the complicated internals.
+
+Q: I want to implement XXXX! Should I do this?
+
+A: There might be better ways of doing XXXX, so it's a good thing to
+ask about this before you start hacking. If you want to keep in touch
+current developments, you should subscribe to the mailing list.
+
+
+Q: I want to implement XXXX! How should I do this?
+
+A: Your best bet of getting me to include code, is to present it as a
+"fait accompli", ie., to send me a patch.
+
+
Q: Why do I need g++ >= 2.7?
A: By using g++, GNU LilyPond is portable to all platforms which support
@@ -208,7 +224,7 @@ Q: I don't get midi-output, even if I use B<-M>
A: Your \score should include a \midi block, eg.
\score {
- \melodic { c c g g }
+ \melodic { c4 c g g }
\paper {}
\midi {
\output "myfile.mid";
@@ -218,6 +234,13 @@ A: Your \score should include a \midi block, eg.
The B<-M> option was added to LilyPond because processing the \paper
block is so slow.
+Q: A lot of musical stuff doesn't make it to the MIDI file (dynamics,
+articulation, etc).
+
+A: The MIDI output was originally put in as a proof that MIDI could be
+done, and as a method of proof"reading" the input. The MIDI support
+is by no means finished.
+
Q: I get
can't load library 'libflower.so'
@@ -238,9 +261,11 @@ Have a look at http://www.cygnus.com/gnu-win32. To make GNU LilyPond
type C<make>. (I am not promising to maintain this platform, it is just
that when forced into doze, i'm sometimes too lazy to reboot.)
-A.2: I haven't had time to find a GCC crosscompiler (I<with> g++ and
-libg++, mind you) to DOS/Windows (in rpm, please :-)
+A.2: I haven't had time to find a Linux GCC crosscompiler (I<with> g++
+and libg++, mind you) to DOS/Windows (in rpm, please :-)
+A.3: If you are knowledgeable enough to make w32 compiles from time to
+time, please do so! We want to keep away from w32 as far as possible.
Q: I just love to blindly run the (sometimes bit stale) .exe's you distribute.
Why do i need cygwin.dll?
diff --git a/Documentation/links.pod b/Documentation/links.pod
index e0b5c61d76..5cccbf7c26 100644
--- a/Documentation/links.pod
+++ b/Documentation/links.pod
@@ -18,7 +18,8 @@ Foundation to create a system of free software for the world-community
=item http://www.zib.de/Visual/software/doc++/index.html
-The documentation system for C++ sources, which the LilyPond sources use.
+The documentation system for C++ sources, which is used for the
+LilyPond sources.
=item http://www.iat.unc.edu/technology/music/music.html
@@ -64,11 +65,10 @@ These development releases will also be at
=head2 News
+The following newsgroups all contain material relevant to LilyPond
=over 4
-The following newsgroups all contain material relevant to LilyPond
-
=item news:comp.music.research
=item news:rec.music.compose
diff --git a/Documentation/other-packages.pod b/Documentation/other-packages.pod
index 38063a3eb7..d1aad66d5c 100644
--- a/Documentation/other-packages.pod
+++ b/Documentation/other-packages.pod
@@ -13,13 +13,13 @@ packages. Feel free to add info (and mail it to me).
=item Rosegarden, http://www.bath.ac.uk/~masjpf/rose.html
-A Notation editor/Sequencer for X (windows95 port underway). Outputs musictex.
+A Notation editor/Sequencer for X. Also outputs musictex.
=item Common Notation,
http://www-ccrma.stanford.edu/CCRMA/Software/cmn/cmn.html
A versatile lisp package. Part of the Common Music system. Input is in
-Lisp. It needs some Adobe fonts
+Lisp. It needs the Adobe Sonata or Finale Petrucci font.
=item Vivace, http://www.calband.berkeley.edu/~gmeeker/vivace
@@ -36,18 +36,22 @@ Added for completeness. You are currently reading her documentation.
=item Music, http://www.cs.nott.ac.uk/Department/Staff/ef/printing.html
-A TROFF preprocessor by Eric Foxley
+A TROFF preprocessor by Eric Foxley.
=item PMX, http://www.gmd.de/Misc/Music/
-A Preprocessor for MusiXTeX by Don Simons
+A Preprocessor for MusiXTeX by Don Simons.
+
+=item M-Tx,
+
+A Preprocessor to PMX by Dirk Laurie.
=item Musictex, http://www.gmd.de/Misc/Music/
MusicTeX is a macro package for TeX to typeset polyphonic or
instrumental music. It was originally written by Daniel Taupin.
-It includes a full-featured set of fonts.
+It includes a full-featured (but slightly unsightly) set of fonts.
=item MusiXTeX, http://www.gmd.de/Misc/Music/
@@ -86,7 +90,7 @@ Schofer & Andrea Steinbach. With some fonts
=item Calliope, http://www.cl.cam.ac.uk/users/wfc/
-A NeXT package by William F. Clocksin. Requires Adobe fonts.
+A NeXT package by William F. Clocksin. Requires the Adobe Sonata font.
=back
@@ -116,7 +120,7 @@ Notation editor for W95 and Mac
Notation editor on Acorn machines. Their developers call it ``best
notation program available''. In any case, they are good at bragging.
-=item ? [``EDV-Notensatz'']
+=item [``EDV-Notensatz'']
URW's music-engraving system described by [Wanske]. (Although URW
used ~DM 1.000.000 while developing this, it didn't buy them a cute
@@ -124,8 +128,6 @@ name.)
=item Logic,
-=item Personal Composer
-
=item Finale
=item Score
@@ -164,9 +166,12 @@ different Unix clones. It uses MIDI-keyboard input
A-R Music Engraving, by A-R Editions, Inc. Professional engraving on
Sun boxen.
-=item MusiCopy, ?
+=item MusiCopy, [no WWW address]
A project at Ohio State university, which was discontinued in 1987.
+The technical reports that have resulted from MusiCopy can still be
+obtained.
+
=item Berlioz, http://www.?.fr/
@@ -174,3 +179,12 @@ Dominique Montel (a professional music typesetter) is now working
together with computer scientists on his own software for music
publishing, called "Berlioz".
+=head2 Other stuff
+
+=item Sonata, http://www.adobe.com/type/browser/F/F_SONA.html
+
+The music font by Adobe.
+
+
+
+
diff --git a/INSTALL.text b/INSTALL.text
index 93fd8e0faa..c8455c2dc8 100644
--- a/INSTALL.text
+++ b/INSTALL.text
@@ -61,7 +61,7 @@ RRRRUUUUNNNNNNNNIIIINNNNGGGG
-20/Oct/97 LilyPond 0.1.30 1
+20/Oct/97 LilyPond 0.1.31 1
@@ -127,7 +127,7 @@ CCCCOOOONNNNFFFFIIIIGGGGUUUURRRRIIIINNNNGGGG a
-20/Oct/97 LilyPond 0.1.30 2
+20/Oct/97 LilyPond 0.1.31 2
@@ -193,7 +193,7 @@ INSTALL(1) LilyPond documentation INSTALL(1)
-20/Oct/97 LilyPond 0.1.30 3
+20/Oct/97 LilyPond 0.1.31 3
@@ -259,7 +259,7 @@ IIIINNNNSSSSTTTTAAAALLLLLLLLIIIINNNNGGGG
-20/Oct/97 LilyPond 0.1.30 4
+20/Oct/97 LilyPond 0.1.31 4
@@ -325,7 +325,7 @@ RRRREEEEDDDDHHHHAAAATTTT LLLLIIIINNNNUUUUXXXX
-20/Oct/97 LilyPond 0.1.30 5
+20/Oct/97 LilyPond 0.1.31 5
@@ -391,6 +391,6 @@ AAAAUUUUTTTTHHHHOOOORRRRSSSS
-20/Oct/97 LilyPond 0.1.30 6
+20/Oct/97 LilyPond 0.1.31 6
diff --git a/NEWS b/NEWS
index 7710007f24..e3b20155dc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,15 @@
+pl 31
+ - bf: replaced Score_column assert by a warning (thanks Scott)
+ - bf: mi2mu version output (thanks Scott)
+ - faq updates
+ - always output lily header with Lily version
+ - bar mucking: make scorebars/braces different from repeat bars.
+ - feta: repeatcolon, clef bf's
+ - debian/ updates. (AF)
+ - moved debian stuff into toplevel dir
+
+********
+nov 11
pl 30
- feta: G clef.
- scripts now do relative coords (fixes lyrics + barnumber bug)
diff --git a/TODO b/TODO
index 6038253a3f..f99d401dcb 100644
--- a/TODO
+++ b/TODO
@@ -7,6 +7,7 @@ Most of the items are marked in the code as well, with full explanation.
grep for TODO and ugh/ugr
0.2:
+ * add a screenshot to the website.
* LILYSOURCEDIR
@@ -22,7 +23,7 @@ grep for TODO and ugh/ugr
* bf: abbrevs over whole note
- * Score_bar/Piano_braces, are *not* ordinary bars
+ * mi2mu: fix a1*0/4 output
STUFF
@@ -57,9 +58,8 @@ STUFF
* AFM for font input?
-
-
3RD PARTY BUGS:
+
* Rational infty(HUGE_VAL) on glibc / w32
* Fix profiling. gprof bugreport?
@@ -69,7 +69,7 @@ PROJECTS
* Unicode support?
- 16 bit Strings
- -u switch
- - detect of 16/8 bit files
+ - detect of 16/8 bit files
- examples to go with it.
* Spring_spacer:
diff --git a/VERSION b/VERSION
index 9692368e96..155de33c71 100644
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
TOPLEVEL_MAJOR_VERSION = 0
TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 30
+TOPLEVEL_PATCH_LEVEL = 31
TOPLEVEL_MY_PATCH_LEVEL =
# use the above to send patches, always empty for released version:
diff --git a/bin/Makefile b/bin/Makefile
index 7850aabe65..5c0043d977 100644
--- a/bin/Makefile
+++ b/bin/Makefile
@@ -21,7 +21,7 @@ $(outdir)/%: %.pl
#FIXME. Check for bash?
$(outdir)/%: %.sh
- sed 's!@SH@!$(SH)!' < $< > $@
+ sed 's!@SH@!$(SHELL)!' < $< > $@
chmod 755 $@
$(outdir)/%: %.py
diff --git a/make/debian/Makefile b/debian/Makefile
index a09a412ec9..06cd03fc6d 100644
--- a/make/debian/Makefile
+++ b/debian/Makefile
@@ -1,4 +1,4 @@
-depth = ../..
+depth = ..
NAME= debian
@@ -15,6 +15,5 @@ include ./$(depth)/make/Rules.make
#
-EXTRA_DISTFILES = README.debian.ex changelog control\
- copyright dirs diversions.ex docs examples info.ex menu.ex postinst\
- postrm rules watch
+EXTRA_DISTFILES = README.debian changelog control copyright examples\
+ info.ex menu.ex postinst postinst.old.sh postrm preinst rules watch
diff --git a/debian/README.debian b/debian/README.debian
new file mode 100644
index 0000000000..88675bbb16
--- /dev/null
+++ b/debian/README.debian
@@ -0,0 +1,22 @@
+lilypond for DEBIAN
+-------------------
+
+Starting with version 0.1.12, LilyPond comes with some new MF fonts.
+These fonts are not currently listed in /usr/lib/texmf/fontname/special.map
+(from the teTeX package), therefore the fonts will be created in a
+non-standard directory somewhere under /var/spool/texmf. The problem is
+usually only aesthetic. TeTeX can create and find the *.tfm and *.pk files
+without any problems.
+
+However, if you experience any font problems (such as the note heads
+not showing up, characters in the wrong places, error messages from
+TeX), especially after upgrading to a new version of LilyPond, you may
+need to delete the relevant *.tfm and *.pk files under the directory
+/var/spool/texmf. You may also file a bug report about this if you
+like.
+
+LilyPond is still in active development, and many things may still change.
+When it is stablized in the future, these new fonts will probably be
+added into the standard special.map file.
+
+Anthony Fok <foka@gpu.srv.ualberta.ca>, Thu, 23 Oct 1997 16:59:32 -0600
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000000..44850b33a4
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,117 @@
+lilypond (0.1.29-1) unstable; urgency=low
+
+ * New upstream release
+ * Patched ./configure in source package to make c++ use the -O2 -g options
+ on all the files. Now, /usr/bin/lilypond is a lot leaner! <smile>
+ (I will discuss it with the upstream author.)
+ * Adapted postinst (a Perl script) from the musixtex package for lilypond.
+ Now postinst adds the new LilyPond font entries into
+ /usr/lib/texmf/fontname/special.map.
+ * Added preinst to clean up my mess from previous releases: the old
+ "stray" automatically generated TFM and PK font files were placed in
+ the wrong directories because they were not listed in
+ /usr/lib/texmf/fontname/special.map.
+ * Did some minor clean-up in debian/rules.
+ * Updated Standards-Version to 2.3.0.1
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Tue, 11 Nov 1997 02:31:33 -0700
+
+lilypond (0.1.25-1) unstable; urgency=low
+
+ * Added a note in README.debian about the possibility of some LilyPond
+ fonts not showing up after an upgrade, and a possible solution to this
+ problem.
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Thu, 23 Oct 1997 17:00:14 -0600
+
+lilypond (0.1.24-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Tue, 21 Oct 1997 04:12:01 -0600
+
+lilypond (0.1.23-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Thu, 16 Oct 1997 02:15:55 -0600
+
+lilypond (0.1.22-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Mon, 13 Oct 1997 23:51:01 -0600
+
+lilypond (0.1.21-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Thu, 9 Oct 1997 22:58:26 -0600
+
+lilypond (0.1.18.jcn1-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Sat, 4 Oct 1997 03:48:45 -0600
+
+lilypond (0.1.17-1) unstable; urgency=low
+
+ * New upstream release
+ * Remove redundancy in package's description (Fixed bug #12511)
+ * Added a note about the new LilyPond MF fonts which are not yet listed
+ in the current standard special.map (in the teTeX package)
+ * Added SHELL=/bin/bash to debian/rules because I use bashism. <smile>
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Sun, 28 Sep 1997 01:41:15 -0600
+
+lilypond (0.1.12-1) unstable; urgency=low
+
+ * New upstream release
+ * Updated the mailing address of the Free Software Foundation
+ listed in /usr/doc/lilypond/copyright
+ * Updated Standards-Version to 2.3.0.0
+ * Built with debmake 3.3.14 and fakeroot 0.0-9 <grin>
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Sun, 7 Sep 1997 23:00:53 -0600
+
+lilypond (0.1.9-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Mon, 18 Aug 1997 15:14:24 -0600
+
+lilypond (0.1.7-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Thu, 14 Aug 1997 15:18:40 -0600
+
+lilypond (0.1.6-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Thu, 14 Aug 1997 05:14:06 -0600
+
+lilypond (0.1.3-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Sat, 9 Aug 1997 14:15:11 -0600
+
+lilypond (0.1.2-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Thu, 7 Aug 1997 22:54:20 -0600
+
+lilypond (0.1.0-1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- Anthony Fok <foka@gpu.srv.ualberta.ca> Wed, 6 Aug 1997 04:40:57 -0600
+
+Local variables:
+mode: debian-changelog
+add-log-mailing-address: "foka@gpu.srv.ualberta.ca"
+End:
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000000..500d23d7c4
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,22 @@
+Source: lilypond
+Section: contrib/tex
+Priority: optional
+Maintainer: Anthony Fok <foka@gpu.srv.ualberta.ca>
+Standards-Version: 2.3.0.1
+
+Package: lilypond
+Architecture: any
+Depends: ${shlibs:Depends}
+Recommends: tetex-base, musixtex | musixtex-fonts
+Description: A music typesetting program.
+ GNU LilyPond is a program which converts a music-script (mudela) into TeX
+ output, or MIDI to produce multi-staff scores. Features include multiple
+ meters, clefs, keys, lyrics, versatile input-language, cadenzas beams,
+ slurs, triplets, multiple voices.
+ .
+ Note: LilyPond uses the fonts from MusiXTeX. Please install the package
+ musixtex or musixtex-fonts when you install lilypond.
+ .
+ URL: http://www.stack.nl/~hanwen/lilypond/
+ Authors: Han-Wen Nienhuys <hanwen@stack.nl>
+ Jan Nieuwenhuizen <jan@digicash.com>
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000000..17f22e9aca
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,43 @@
+This package was debianized by Anthony Fok foka@gpu.srv.ualberta.ca on
+Wed, 6 Aug 1997 04:30:28 -0600
+
+It was downloaded from
+ ftp://pcnov095.win.tue.nl/pub/lilypond/development/lilypond-0.1.29.tar.gz
+
+It is also available from:
+ ftp://alpha.gnu.org/gnu/
+
+For more information about GNU LilyPond, please visit:
+ http://www.stack.nl/~hanwen/lilypond/ for more information.
+
+Authors:
+ Han-Wen Nienhuys <hanwen@stack.nl>
+ Jan Nieuwenhuizen <jan@digicash.com>
+
+Copyright:
+
+ GNU LilyPond is Copyright (C) 1996,1997
+ Jan Nieuwenhuizen & Han-Wen Nienhuys
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+
+All the other scripts and control files for building and installing
+GNU LilyPond under Debian GNU/Linux are also under the GNU General
+Public License (GPL) version 2 or later.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in `/usr/doc/copyright/GPL.gz'.
diff --git a/make/debian/examples b/debian/examples
index 3be67ec77c..3be67ec77c 100644
--- a/make/debian/examples
+++ b/debian/examples
diff --git a/make/debian/info.ex b/debian/info.ex
index 5a311f02bc..5a311f02bc 100644
--- a/make/debian/info.ex
+++ b/debian/info.ex
diff --git a/make/debian/menu.ex b/debian/menu.ex
index 179992fae0..179992fae0 100644
--- a/make/debian/menu.ex
+++ b/debian/menu.ex
diff --git a/debian/postinst b/debian/postinst
new file mode 100644
index 0000000000..0b734060e6
--- /dev/null
+++ b/debian/postinst
@@ -0,0 +1,238 @@
+#!/usr/bin/perl -w
+#
+# postinst script for the Debian GNU/Linux lilypond package
+#
+# by Anthony Fok <foka@gpu.srv.ualberta.ca>
+# Initial release: Sun, 26 Oct 1997 03:23:00 -0700
+# Last modified: Mon, 10 Nov 1997 22:26:10 -0700
+
+use strict;
+use File::Copy;
+
+my ($package, $pkg_name, $font_supplier, $font_typeface, $std_TEXMF, $TEXMF,
+ $TEXINPUTS, $MFINPUTS, $TFMFONTS, @fonts);
+
+sub correct_opus_fonts ($$);
+sub check_texmfcnf ();
+sub run_texhash ();
+sub add_fonts ($$$$@);
+sub check_specialmap ();
+
+$| = 1;
+
+
+#######################
+# Variables
+#######################
+
+$package = "lilypond"; # This is used for filenames! Don't change it!
+$pkg_name = "GNU LilyPond";
+
+$font_supplier = "public";
+$font_typeface = "lilypond";
+# @fonts = qw( dyn10 font-en-tja vette-beam );
+@fonts = qw( feta );
+
+$std_TEXMF = "/usr/lib/texmf"; # Debian's standard $TEXMF
+$TEXINPUTS = "$std_TEXMF/tex/$package//";
+$MFINPUTS = "$std_TEXMF/fonts/source/$font_supplier/$font_typeface//";
+$TFMFONTS = "$std_TEXMF/fonts/tfm/$font_supplier/$font_typeface//";
+
+
+#######################
+# Subroutine
+#######################
+
+#----- Fix Opus font entries in special.map (called by check_specialmap()) ---
+# I goofed up the Opus font entries in special.map, hence this fix.
+# Note: This is a temporary fix. Consider removing this in 1998. ^_^
+
+sub correct_opus_fonts ($$) {
+ my $specialmap = $_[1];
+ my $supplier = "opustex";
+ my $typeface = "opus";
+ my @opusfonts = qw( opus opusline opusnum opussps osl );
+ my $font = "";
+ my $entries = "";
+
+ if ($_[0] =~ /(^\w+\s+public\s+$typeface\n)+/m) {
+ print " Correcting old font entries ...";
+ foreach $font (@opusfonts) {
+ if (length($font) < 8) { $font .= "\t"; }
+ $entries .= "$font\t$supplier\t\t$typeface\n";
+ }
+
+ ($_[0] =~ s/(^\w+\s+public\s+$typeface\n)+/$entries/m)
+ or die " Can't correct font entries in $specialmap: $!";
+
+ system(": \${MAKETEXDIR=$TEXMF/maketex}; " .
+ "test -r \$MAKETEXDIR/maketex.site && . \$MAKETEXDIR/maketex.site; " .
+ ": \${MT_DESTROOT=$TEXMF/fonts}; " .
+ "rm -rf \$MT_DESTROOT/pk/*/public/$typeface");
+
+ print "\n";
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+#-------------------- Check/Modify texmf.cnf for custom teTeX installation ---
+# Edit texmf.cnf to add search path /usr/lib/texmf
+# for non-Debian teTeX installation
+
+sub check_texmfcnf () {
+ my $texmfcnf;
+
+ print "\n You have a custom teTeX installation in $TEXMF.\n";
+
+ chop($texmfcnf = `kpsewhich cnf texmf.cnf`);
+
+ if ($? == 0 and $texmfcnf ne "") {
+ my($filebuf, $line);
+ my $new = "$texmfcnf.new";
+ my $bak = "$texmfcnf.bak";
+
+ open(OLD, "< $texmfcnf") or die " Can't open $texmfcnf for reading: $!";
+
+ undef $/;
+ if ($filebuf = <OLD>) {
+ if ($filebuf =~ /^(TEXMFL.*)$/m) {
+ $line = $1;
+ if ($line =~ /TEXMFL\s*=.*$std_TEXMF/) {
+ print " Found $std_TEXMF in \$TEXMFL. Leaving $texmfcnf untouched.\n";
+ } else {
+ print " Adding $std_TEXMF to \$TEXMFL, updating $texmfcnf ...";
+
+ $filebuf =~ s/^(TEXMFL\s*=\s*\S*)/$1,$std_TEXMF/m;
+ open(NEW, "> $new") or die "\n Can't open $new for writing: $!";
+ (print NEW $filebuf) or die "\n Can't write to $new: $!";
+ close(NEW);
+ copy($texmfcnf, $bak) or die "\n Can't backup $texmfcnf: $!";
+ rename($new, $texmfcnf)
+ or ( copy($new, $texmfcnf), unlink($new) )
+ or die "\n Can't update $texmfcnf: $!";
+ print " done.\n";
+ }
+ }
+ } else {
+ warn " **\n";
+ warn " ** Can't read from $texmfcnf: $!\n";
+ warn " ** Please verify the content of $texmfcnf!\n";
+ warn " **\n";
+ }
+ $/ = "\n";
+ close(OLD);
+ } else {
+ warn " **\n";
+ warn " ** Can't find texmf.cnf!\n";
+ warn " ** Please add $std_TEXMF to \$TEXMFL in your texmf.cnf.\n";
+ warn " **\n";
+ }
+}
+
+#------------------------------------------------------------- Run texhash ---
+
+sub run_texhash () {
+ print " Running texhash to update $TEXMF/ls-R ...\n";
+
+ if ( `which texhash` and -e "$TEXMF/ls-R" ) {
+ system("texhash");
+ } else {
+ warn " Error: texhash or $TEXMF/ls-R not found!\n";
+ }
+ print "\n";
+}
+
+#---------- Add font entries to special.map (called by check_specialmap()) ---
+
+sub add_fonts ($$$$@) {
+ my ($specialmap, $supplier, $typeface, $fonts) = @_[1..4];
+ my $font = "";
+ my $entries = "";
+ foreach $font (@fonts) {
+ if (length($font) < 8) { $font .= "\t"; }
+ $entries .= "$font\t$supplier\t\t$typeface\n";
+ }
+ if ($_[0] !~ /$entries/m) {
+ ($_[0] =~ s/(^\w+\s+$supplier\s+$typeface\n)+/$entries/m)
+ or ($_[0] =~ s/(?=^beam\s+public\s+music\n)/$entries/m)
+ or die " Can't add font entries to $specialmap: $!";
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+#---------------------------------- Check special.map and add font entries ---
+
+sub check_specialmap () {
+ my $fontmap;
+ my $specialmap = "$TEXMF/fontname/special.map";
+ my $new = "$specialmap.new";
+ my $bak = "$specialmap.bak";
+
+ print " Checking font entries in $specialmap ...\n";
+
+ open(OLD, "< $specialmap") or die " Can't open $specialmap for reading: $!";
+ undef $/;
+ if ($fontmap = <OLD>) {
+ if (correct_opus_fonts($fontmap, $specialmap) |
+ add_fonts($fontmap, $specialmap, $font_supplier, $font_typeface, @fonts))
+ {
+ print " Adding $pkg_name font entries to $specialmap ...\n";
+ open(NEW, "> $new") or die " Can't open $new for writing: $!";
+ (print NEW $fontmap) or die " Can't write to $new: $!";
+ close(NEW);
+ copy($specialmap, $bak) or die " Can't backup $specialmap: $!";
+ rename($new, $specialmap)
+ or ( copy($new, $specialmap), unlink($new) )
+ or die " Can't update $specialmap: $!";
+ } else {
+ print " Entries okay. Leaving $specialmap untouched.\n";
+ }
+ undef $fontmap;
+ } else {
+ warn " **\n";
+ warn " ** Can't read from $specialmap: $!\n";
+ warn " ** Please verify the content of $specialmap!\n";
+ warn " **\n";
+ }
+ $/ = "\n";
+ close(OLD);
+ print "\n";
+}
+
+
+
+#######################
+# Main program
+#######################
+
+print " Checking teTeX directory \$TEXMF ...";
+
+chop($TEXMF = `kpsetool -v '\$TEXMF'`);
+
+if ($? == 0 and $TEXMF ne "") {
+ print " okay.";
+} else {
+ warn "\n Error: kpsetool not found or \$TEXMF not set!\n";
+ warn " Assuming \$TEXMF=$std_TEXMF\n";
+ $TEXMF = $std_TEXMF;
+ if (not -d $TEXMF) {
+ warn " ... but directory '$TEXMF' does not exist either!\n";
+ die " Please check your teTeX configuration.\n"
+ }
+}
+
+if ($TEXMF ne $std_TEXMF) {
+ check_texmfcnf();
+}
+
+print "\n";
+
+run_texhash();
+check_specialmap();
+
+print " $pkg_name configuration completed.\n";
+print " Please read /usr/doc/$package/README.debian to get started.\n";
diff --git a/debian/postinst.old.sh b/debian/postinst.old.sh
new file mode 100644
index 0000000000..8eb5d7cdf3
--- /dev/null
+++ b/debian/postinst.old.sh
@@ -0,0 +1,18 @@
+#!/bin/bash -e
+#
+# postinst script for the Debian GNU/Linux lilypond package
+# by Anthony Fok <foka@gpu.srv.ualberta.ca>
+# This is free software; see the GNU General Public Licence
+# version 2 or later for copying conditions. There is NO warranty.
+# Last modified: Wed, 6 Aug 1997 13:42:45 -0600
+
+std_TEXMF=/usr/lib/texmf
+
+if [ "`which kpsetool`" ]; then
+ TEXMF=`kpsetool -v '$TEXMF'`
+fi
+: ${TEXMF:=$std_TEXMF}
+
+if [ "$TEXMF" = "$std_TEXMF" -a "`which texhash`" -a -e $TEXMF/ls-R ]; then
+ texhash
+fi
diff --git a/debian/postrm b/debian/postrm
new file mode 100644
index 0000000000..5873710c84
--- /dev/null
+++ b/debian/postrm
@@ -0,0 +1,51 @@
+#!/bin/bash -e
+#
+# postrm script for the Debian GNU/Linux lilypond package
+# by Anthony Fok <foka@gpu.srv.ualberta.ca>
+# This is free software; see the GNU General Public Licence
+# version 2 or later for copying conditions. There is NO warranty.
+# Last modified: Mon, 10 Nov 1997 22:44:37 -0700
+
+package=lilypond
+font_supplier=public
+font_typeface=lilypond
+std_TEXMF=/usr/lib/texmf
+
+if [ "`which kpsetool`" ]; then
+ TEXMF=`kpsetool -v '$TEXMF'`
+fi
+: ${TEXMF:=$std_TEXMF}
+
+
+case "$1" in
+ remove)
+ if [ "`kpsetool -w tex lilyponddefs.tex 2>/dev/null`" -a "`which texhash`" ]; then
+ texhash
+ fi
+ ;;
+
+ upgrade)
+ # Clear out the old TFM and PK files in case the fonts were modified
+ : ${MAKETEXDIR=$TEXMF/maketex}
+ test -r $MAKETEXDIR/maketex.site && . $MAKETEXDIR/maketex.site
+ : ${MT_DESTROOT=$TEXMF/fonts}
+ rm -rf $MT_DESTROOT/tfm/$font_supplier/$font_typeface
+ rm -rf $MT_DESTROOT/pk/*/$font_supplier/$font_typeface
+ ;;
+
+ purge)
+ : ${MAKETEXDIR=$TEXMF/maketex}
+ test -r $MAKETEXDIR/maketex.site && . $MAKETEXDIR/maketex.site
+ : ${MT_DESTROOT=$TEXMF/fonts}
+ rm -rf $MT_DESTROOT/tfm/$font_supplier/$font_typeface
+ rm -rf $MT_DESTROOT/pk/*/$font_supplier/$font_typeface
+ ;;
+
+ failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 0
+ ;;
+esac
diff --git a/debian/preinst b/debian/preinst
new file mode 100644
index 0000000000..eba9114d56
--- /dev/null
+++ b/debian/preinst
@@ -0,0 +1,66 @@
+#!/bin/bash -e
+#
+# preinst script for the Debian GNU/Linux lilypond package
+# by Anthony Fok <foka@gpu.srv.ualberta.ca>
+# This is free software; see the GNU General Public Licence
+# version 2 or later for copying conditions. There is NO warranty.
+# Last modified: Tue, 11 Nov 1997 01:25:15 -0700
+
+package=lilypond
+font_supplier=public
+font_typeface=lilypond
+std_TEXMF=/usr/lib/texmf
+
+if [ "`which kpsetool`" ]; then
+ TEXMF=`kpsetool -v '$TEXMF'`
+fi
+: ${TEXMF:=$std_TEXMF}
+
+
+case "$1" in
+
+ install | upgrade)
+
+ # Prior to the Debian release of the lilypond_0.1.29-1 package,
+ # LilyPond's fonts were not added to teTeX's special.map,
+ # and so the automatically generated TFM and PK files were placed
+ # in the wrong directory under /var/spool/texmf (or $MT_DESTROOT).
+ # So, now I have to clean up after my mess to make sure those fonts
+ # do not interfere with the new fonts! :)
+
+ : ${MAKETEXDIR=$TEXMF/maketex}
+ test -r $MAKETEXDIR/maketex.site && . $MAKETEXDIR/maketex.site
+ : ${MT_DESTROOT=$TEXMF/fonts}
+
+ # Remove the "stray" old LilyPond TFM and PK files.
+ for i in tfm pk
+ do
+ find $MT_DESTROOT/$i \( -name 'dyn10.*'$i -o -name 'font-en-tja*.*'$i \
+ -o -name 'vette-beams*.*'$i \) -print0 |
+ xargs --null --no-run-if-empty rm -f
+ done
+
+ # Remove empty directories.
+ # A note to myself or the future maintainer:
+ # Why the "for i in 1 2" loop? Well, it seems that either
+ # "find some_path -depth" isn't working properly, or I
+ # (Anthony) don't know its proper behaviour. Please look
+ # into it and see if this ugly hack could be removed.
+ for i in 1 2
+ do
+ find $MT_DESTROOT/tfm -depth -mindepth 1 -type d -empty -print0 2> /dev/null |
+ xargs -0r --null --no-run-if-empty rmdir
+ find $MT_DESTROOT/pk -depth -mindepth 2 -type d -empty -print0 2> /dev/null |
+ xargs -0r --null --no-run-if-empty rmdir
+ done
+ ;;
+
+ abort-upgrade)
+ ;;
+
+ *)
+ echo "$0 called with unknown argument \`$1'" >&2
+ exit 0
+ ;;
+
+esac
diff --git a/debian/rules b/debian/rules
new file mode 100644
index 0000000000..8befb88705
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,66 @@
+#!/usr/bin/make -f
+# Made with the aid of debhelper by by Joey Hess,
+# based on the sample debian/rules file for GNU hello by Ian Jackson.
+#
+# This is free software; see the GNU General Public Licence
+# version 2 or later for copying conditions. There is NO warranty.
+#
+# Currently maintained by Anthony Fok <foka@gpu.srv.ualberta.ca>
+# for Debian GNU/Linux.
+
+package=lilypond
+
+SHELL=/bin/bash
+
+# Uncomment this to turn on verbose mode.
+export DH_VERBOSE=1
+
+build: build-stamp
+build-stamp:
+ dh_testdir
+ ./configure --disable-checking --disable-debugging \
+ --enable-printing --prefix=/usr --enable-optimise \
+ --enable-shared
+ make all
+ touch build-stamp
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp
+ dh_clean
+ -$(MAKE) distclean
+ rm -f {,*/}out/{*,.build} flower/config.{log,status}
+
+# Build architecture-independent files here.
+binary-indep: build
+# We have nothing to do by default.
+
+binary-arch: build
+ dh_testdir
+ dh_testroot
+ dh_clean
+ dh_installdirs usr/lib/texmf/doc
+ $(MAKE) prefix=`pwd`/debian/tmp/usr install
+ ln -fs ../../../doc/lilypond debian/tmp/usr/lib/texmf/doc/lilypond
+ dh_installdocs BUGS TODO NEWS DEDICATION ANNOUNCE README \
+ Documentation/out/*.text Documentation/*.doc \
+ Documentation/lelie_logo.xpm
+ dh_installexamples
+# dh_installmenu
+# dh_installcron
+# dh_installmanpages
+# dh_undocumented
+ dh_installchangelogs
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_suidregister
+ dh_installdebfiles
+# dh_makeshlibs
+ dh_du
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary
diff --git a/make/debian/watch b/debian/watch
index 1a1bb286a0..1a1bb286a0 100644
--- a/make/debian/watch
+++ b/debian/watch
diff --git a/init/engraver.ly b/init/engraver.ly
index 528df1cc67..fd9b51eb44 100644
--- a/init/engraver.ly
+++ b/init/engraver.ly
@@ -83,13 +83,13 @@ Score = \translator {
\consists "Bar_column_engraver";
\consists "Bar_number_engraver";
- \consists "Bar_align_engraver";
+ \consists "Span_score_bar_engraver";
+ \consists "Normal_bar_align_engraver";
\consists "Clef_align_engraver";
\consists "Key_align_engraver";
\consists "Meter_align_engraver";
\consists "Score_horizontal_align_engraver";
\consists "Vertical_align_engraver";
- \consists "Span_score_bar_engraver";
\accepts "Staff_group";
diff --git a/init/feta16.ly b/init/feta16.ly
deleted file mode 100644
index 8c4a51080b..0000000000
--- a/init/feta16.ly
+++ /dev/null
@@ -1,75 +0,0 @@
-% generated automatically by mf-to-table.py version 0.4
-% on Tue Nov 11 13:31:20 1997
-% Do not edit
-% input from out/feta16.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" -0.00\pt 6.00\pt -2.50\pt 0.00\pt
- "1" "\\halfrest" -0.00\pt 6.00\pt -0.00\pt 2.50\pt
- "0o" "\\outsidewholerest" -2.50\pt 8.50\pt -2.50\pt 0.40\pt
- "1o" "\\outsidehalfrest" -2.50\pt 8.50\pt -0.40\pt 2.50\pt
- "2" "\\quartrest" -0.00\pt 4.32\pt 3.00\pt 14.40\pt
- "3" "\\eighthrest" -0.00\pt 5.33\pt 4.00\pt 11.47\pt
- "4" "\\sixteenthrest" -0.00\pt 6.23\pt -0.00\pt 11.47\pt
- "5" "\\thirtysecondrest" -0.00\pt 7.03\pt -0.00\pt 15.47\pt
- "6" "\\sixtyfourthrest" -0.00\pt 7.53\pt -0.00\pt 19.47\pt
- "7" "\\hundredtwentyeighthrest" -0.00\pt 8.38\pt -0.00\pt 23.47\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" -0.00\pt 4.40\pt -6.00\pt 6.00\pt
- "0" "\\natural" -0.00\pt 2.67\pt -6.00\pt 6.00\pt
- "-1" "\\flat" -0.48\pt 3.20\pt -2.00\pt 8.00\pt
- "-2" "\\flatflat" -0.48\pt 5.80\pt -2.00\pt 8.00\pt
- "2" "\\sharpsharp" -0.00\pt 4.00\pt -2.00\pt 2.00\pt
- }
- "dots" = \table {
- "dot" "\\dot" -0.00\pt 1.80\pt -0.90\pt 0.90\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" -0.00\pt 8.00\pt -2.20\pt 2.20\pt
- "-1l" "\\brevisledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt
- "-2" "\\longaball" -0.00\pt 8.00\pt -2.20\pt 2.20\pt
- "-2l" "\\longaledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt
- "0" "\\wholeball" -0.00\pt 7.92\pt -2.20\pt 2.20\pt
- "0l" "\\wholeledger" -1.98\pt 9.90\pt -0.40\pt 0.40\pt
- "1" "\\halfball" -0.00\pt 5.51\pt -2.20\pt 2.20\pt
- "1l" "\\halfledger" -1.38\pt 6.89\pt -0.40\pt 0.40\pt
- "2" "\\quartball" -0.00\pt 5.28\pt -2.20\pt 2.20\pt
- "2l" "\\quartledger" -1.32\pt 6.61\pt -0.40\pt 0.40\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -5.30\pt 5.30\pt -0.30\pt 5.80\pt
- "dfermata" "\\dfermata" -5.30\pt 5.30\pt -5.80\pt 0.30\pt
- "sforzato" "\\sforzatoaccent" -3.60\pt 3.60\pt -2.00\pt 2.00\pt
- "staccato" "\\staccato" -0.60\pt 0.60\pt -0.60\pt 0.60\pt
- "ustaccatissimo" "\\ustaccatissimo" -0.80\pt 0.80\pt -0.20\pt 4.00\pt
- "dstaccatissimo" "\\dstaccatissimo" -0.80\pt 0.80\pt -4.00\pt 0.20\pt
- "tenuto" "\\tenuto" -3.60\pt 3.60\pt -0.24\pt 0.24\pt
- "umarcato" "\\umarcato" -2.00\pt 2.00\pt -0.00\pt 4.40\pt
- "dmarcato" "\\dmarcato" -2.00\pt 2.00\pt -4.40\pt 0.00\pt
- "open" "\\ouvert" -1.60\pt 1.60\pt -2.00\pt 2.00\pt
- "stopped" "\\plusstop" -2.20\pt 2.20\pt -2.20\pt 2.20\pt
- "upbow" "\\upbow" -2.60\pt 2.60\pt -0.00\pt 8.32\pt
- "downbow" "\\downbow" -3.00\pt 3.00\pt -0.00\pt 5.33\pt
- "turn" "\\turn" -4.38\pt 4.38\pt -2.12\pt 2.12\pt
- "trill" "\\trill" -0.00\pt 8.00\pt -0.00\pt 9.00\pt
- "pedalheel" "\\pedalheel" -2.00\pt 2.00\pt -2.00\pt 2.67\pt
- "pedaltoe" "\\pedaltoe" -2.00\pt 2.00\pt -0.00\pt 6.00\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.20\pt 4.10\pt -12.26\pt 0.20\pt
- "u4" "\\sixteenthflag" -0.20\pt 4.10\pt -14.26\pt 0.20\pt
- "u5" "\\thirtysecondflag" -0.20\pt 4.10\pt -17.26\pt 0.20\pt
- "u6" "\\sixtyfourthflag" -0.20\pt 4.10\pt -21.26\pt 0.20\pt
- "d3" "\\deighthflag" -0.20\pt 4.54\pt -0.20\pt 11.66\pt
- "d4" "\\dsixteenthflag" -0.20\pt 4.54\pt -0.20\pt 12.26\pt
- "d5" "\\dthirtysecondflag" -0.20\pt 4.54\pt -0.20\pt 15.66\pt
- "d6" "\\dsixtyfourthflag" -0.20\pt 4.54\pt -0.20\pt 17.66\pt
- }
- "klef" = \table {
- "bass" "\\bassclef" 1.20\pt 12.80\pt -10.00\pt 4.00\pt
- "bass_change" "\\cbassclef" 0.96\pt 10.24\pt -8.00\pt 3.20\pt
- "violin" "\\violinclef" 0.11\pt 10.55\pt -12.00\pt 20.00\pt
- "violin_change" "\\cviolinclef" -0.23\pt 8.12\pt -9.60\pt 16.00\pt
- }
- % } % $name
diff --git a/init/feta20.ly b/init/feta20.ly
deleted file mode 100644
index dccf7ba6bd..0000000000
--- a/init/feta20.ly
+++ /dev/null
@@ -1,75 +0,0 @@
-% generated automatically by mf-to-table.py version 0.4
-% on Tue Nov 11 13:31:29 1997
-% Do not edit
-% input from out/feta20.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" -0.00\pt 7.50\pt -3.13\pt 0.00\pt
- "1" "\\halfrest" -0.00\pt 7.50\pt -0.00\pt 3.13\pt
- "0o" "\\outsidewholerest" -3.13\pt 10.62\pt -3.13\pt 0.50\pt
- "1o" "\\outsidehalfrest" -3.13\pt 10.62\pt -0.50\pt 3.13\pt
- "2" "\\quartrest" -0.00\pt 5.40\pt 3.75\pt 18.00\pt
- "3" "\\eighthrest" -0.00\pt 6.67\pt 5.00\pt 14.33\pt
- "4" "\\sixteenthrest" -0.00\pt 7.79\pt -0.00\pt 14.33\pt
- "5" "\\thirtysecondrest" -0.00\pt 8.78\pt -0.00\pt 19.33\pt
- "6" "\\sixtyfourthrest" -0.00\pt 9.41\pt -0.00\pt 24.33\pt
- "7" "\\hundredtwentyeighthrest" -0.00\pt 10.47\pt -0.00\pt 29.33\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" -0.00\pt 5.50\pt -7.50\pt 7.50\pt
- "0" "\\natural" -0.00\pt 3.33\pt -7.50\pt 7.50\pt
- "-1" "\\flat" -0.60\pt 4.00\pt -2.50\pt 10.00\pt
- "-2" "\\flatflat" -0.60\pt 7.25\pt -2.50\pt 10.00\pt
- "2" "\\sharpsharp" -0.00\pt 5.00\pt -2.50\pt 2.50\pt
- }
- "dots" = \table {
- "dot" "\\dot" -0.00\pt 2.25\pt -1.13\pt 1.13\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" -0.00\pt 10.00\pt -2.75\pt 2.75\pt
- "-1l" "\\brevisledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt
- "-2" "\\longaball" -0.00\pt 10.00\pt -2.75\pt 2.75\pt
- "-2l" "\\longaledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt
- "0" "\\wholeball" -0.00\pt 9.90\pt -2.75\pt 2.75\pt
- "0l" "\\wholeledger" -2.48\pt 12.38\pt -0.50\pt 0.50\pt
- "1" "\\halfball" -0.00\pt 6.89\pt -2.75\pt 2.75\pt
- "1l" "\\halfledger" -1.72\pt 8.61\pt -0.50\pt 0.50\pt
- "2" "\\quartball" -0.00\pt 6.61\pt -2.75\pt 2.75\pt
- "2l" "\\quartledger" -1.65\pt 8.26\pt -0.50\pt 0.50\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -6.63\pt 6.63\pt -0.38\pt 7.25\pt
- "dfermata" "\\dfermata" -6.63\pt 6.63\pt -7.25\pt 0.38\pt
- "sforzato" "\\sforzatoaccent" -4.50\pt 4.50\pt -2.50\pt 2.50\pt
- "staccato" "\\staccato" -0.75\pt 0.75\pt -0.75\pt 0.75\pt
- "ustaccatissimo" "\\ustaccatissimo" -1.00\pt 1.00\pt -0.20\pt 5.00\pt
- "dstaccatissimo" "\\dstaccatissimo" -1.00\pt 1.00\pt -5.00\pt 0.20\pt
- "tenuto" "\\tenuto" -4.50\pt 4.50\pt -0.30\pt 0.30\pt
- "umarcato" "\\umarcato" -2.50\pt 2.50\pt -0.00\pt 5.50\pt
- "dmarcato" "\\dmarcato" -2.50\pt 2.50\pt -5.50\pt 0.00\pt
- "open" "\\ouvert" -2.00\pt 2.00\pt -2.50\pt 2.50\pt
- "stopped" "\\plusstop" -2.75\pt 2.75\pt -2.75\pt 2.75\pt
- "upbow" "\\upbow" -3.25\pt 3.25\pt -0.00\pt 10.40\pt
- "downbow" "\\downbow" -3.75\pt 3.75\pt -0.00\pt 6.67\pt
- "turn" "\\turn" -5.47\pt 5.47\pt -2.65\pt 2.65\pt
- "trill" "\\trill" -0.00\pt 10.00\pt -0.00\pt 11.25\pt
- "pedalheel" "\\pedalheel" -2.50\pt 2.50\pt -2.50\pt 3.33\pt
- "pedaltoe" "\\pedaltoe" -2.50\pt 2.50\pt -0.00\pt 7.50\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.25\pt 5.13\pt -15.33\pt 0.25\pt
- "u4" "\\sixteenthflag" -0.25\pt 5.13\pt -17.83\pt 0.25\pt
- "u5" "\\thirtysecondflag" -0.25\pt 5.13\pt -21.58\pt 0.25\pt
- "u6" "\\sixtyfourthflag" -0.25\pt 5.13\pt -26.58\pt 0.25\pt
- "d3" "\\deighthflag" -0.25\pt 5.68\pt -0.25\pt 14.58\pt
- "d4" "\\dsixteenthflag" -0.25\pt 5.68\pt -0.25\pt 15.33\pt
- "d5" "\\dthirtysecondflag" -0.25\pt 5.68\pt -0.25\pt 19.58\pt
- "d6" "\\dsixtyfourthflag" -0.25\pt 5.68\pt -0.25\pt 22.08\pt
- }
- "klef" = \table {
- "bass" "\\bassclef" 1.50\pt 16.00\pt -12.50\pt 5.00\pt
- "bass_change" "\\cbassclef" 1.20\pt 12.80\pt -10.00\pt 4.00\pt
- "violin" "\\violinclef" 0.14\pt 13.19\pt -15.00\pt 25.00\pt
- "violin_change" "\\cviolinclef" -0.29\pt 10.15\pt -12.00\pt 20.00\pt
- }
- % } % $name
diff --git a/input/font.ly b/input/font.ly
index 20f072e1fc..76e2a8e5bf 100644
--- a/input/font.ly
+++ b/input/font.ly
@@ -10,6 +10,7 @@ TestedFeatures = "This file tests the Feta music-font"
\score{
\melodic{
\octave c';
+ \bar "|:";
\meter 4/4;
\multi 2 < { \stemup e'\longa a\breve | }
{ \stemdown
@@ -17,7 +18,7 @@ TestedFeatures = "This file tests the Feta music-font"
c2 g c' a'
} >
\stemboth
- c4 g c' a' |
+ c4 g c' a' \bar ":|";
a\ppp-\upbow a\pp-\downbow a\p^\turn a\mp^\fermata |
a\mf_\fermata a\f-\stopped a\ff-\open a\fff^\trill|
a\fp a4.\sf a4.\sfz | % a\fz a\rf
diff --git a/input/wtk1-fugue2.ly b/input/wtk1-fugue2.ly
index ea304e7a8e..cd62181c6d 100644
--- a/input/wtk1-fugue2.ly
+++ b/input/wtk1-fugue2.ly
@@ -21,6 +21,8 @@ global =
\melodic {
\meter 4/4; % should be \meter C
\keyCminor
+ \skip 1*32;
+ \bar "|.";
}
dux =
diff --git a/lily/VERSION b/lily/VERSION
index ab7dbaa23a..24d753660d 100644
--- a/lily/VERSION
+++ b/lily/VERSION
@@ -1,4 +1,4 @@
MAJOR_VERSION = 0
MINOR_VERSION = 1
-PATCH_LEVEL = 30
+PATCH_LEVEL = 31
MY_PATCH_LEVEL =
diff --git a/lily/bar-grav.cc b/lily/bar-grav.cc
index 0e34557667..16631e5221 100644
--- a/lily/bar-grav.cc
+++ b/lily/bar-grav.cc
@@ -7,7 +7,7 @@
*/
#include "bar-grav.hh"
-#include "bar.hh"
+#include "normal-bar.hh"
#include "command-request.hh"
#include "time-description.hh"
#include "engraver-group.hh"
@@ -40,14 +40,14 @@ Bar_engraver::do_process_requests()
if (bar_req_l_)
{
- bar_p_ = new Bar;
+ bar_p_ = new Normal_bar;
bar_p_->type_str_=bar_req_l_->type_str_;
}
else
{
Time_description const *time = get_staff_info().time_C_;
if (time && !time->whole_in_measure_)
- bar_p_ = new Bar;
+ bar_p_ = new Normal_bar;
}
if (bar_p_)
diff --git a/lily/bar.cc b/lily/bar.cc
index ac7e0f19a2..14b5310099 100644
--- a/lily/bar.cc
+++ b/lily/bar.cc
@@ -17,7 +17,6 @@ Bar::Bar()
{
breakable_b_ = true;
type_str_ = "|";
- spanned_i_ = 0;
}
@@ -38,7 +37,6 @@ Bar::brew_molecule_p() const
Paper_def *p = paper();
Atom s = p->lookup_l()->bar (type_str_,
p->get_var ("bar_size"));
- s.translate_axis (-s.extent()[Y_AXIS].center (), Y_AXIS);
Molecule*output = new Molecule (Atom (s));
return output;
@@ -51,6 +49,7 @@ Bar::brew_molecule_p() const
static char const *bar_breaks[][3] ={
{":|", ":|:", "|:"},
{"|", "|", ""},
+ {"", "|s", "|"},
{"", "|:", "|:"},
{"||.", "||.", ""},
{":|", ":|", ""},
@@ -62,8 +61,8 @@ Bar::do_pre_processing()
{
for (int i=0; bar_breaks[i][0]; i++)
{
- if (bar_breaks[i][1] == type_str_)
- type_str_ = bar_breaks[i][break_status_i()+1];
+ if (bar_breaks[i][1] == type_str_)
+ type_str_ = bar_breaks[i][break_status_i()+1];
}
/*
diff --git a/lily/include/bar.hh b/lily/include/bar.hh
index ce886830b0..df39cea389 100644
--- a/lily/include/bar.hh
+++ b/lily/include/bar.hh
@@ -15,8 +15,7 @@
class Bar:public Item {
public:
String type_str_;
- int spanned_i_;
-
+
DECLARE_MY_RUNTIME_TYPEINFO;
SCORE_ELEM_CLONE(Bar);
Bar();
diff --git a/lily/include/horizontal-align-item.hh b/lily/include/horizontal-align-item.hh
index 07c1934eda..f223e07be1 100644
--- a/lily/include/horizontal-align-item.hh
+++ b/lily/include/horizontal-align-item.hh
@@ -19,7 +19,7 @@
TODO: insert (order, elem)
*/
-class Horizontal_align_item : public Item {
+class Horizontal_align_item : public Item {
protected:
Link_array<Item> item_l_arr_;
Array<int> priority_i_arr_;
diff --git a/lily/include/normal-bar.hh b/lily/include/normal-bar.hh
new file mode 100644
index 0000000000..a4f7bd2aa4
--- /dev/null
+++ b/lily/include/normal-bar.hh
@@ -0,0 +1,23 @@
+/*
+ normal-bar.hh -- declare
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+
+ */
+
+#ifndef NORMAL_BAR_HH
+#define NORMAL_BAR_HH
+
+#include "bar.hh"
+
+class Normal_bar : public virtual Bar
+{
+public:
+ SCORE_ELEM_CLONE(Normal_bar);
+ DECLARE_MY_RUNTIME_TYPEINFO;
+};
+
+#endif /* NORMAL_BAR_HH */
+
diff --git a/lily/include/normal-span-bar.hh b/lily/include/normal-span-bar.hh
new file mode 100644
index 0000000000..68ccabb81b
--- /dev/null
+++ b/lily/include/normal-span-bar.hh
@@ -0,0 +1,24 @@
+/*
+ normal-span-bar.hh -- declare Normal_span_bar
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+
+ */
+
+#ifndef NORMAL_SPAN_BAR_HH
+#define NORMAL_SPAN_BAR_HH
+
+#include "normal-bar.hh"
+#include "span-bar.hh"
+
+class Normal_span_bar : public Span_bar, public Normal_bar
+{
+public:
+ SCORE_ELEM_CLONE(Normal_span_bar);
+ DECLARE_MY_RUNTIME_TYPEINFO;
+};
+
+#endif /* NORMAL_SPAN_BAR_HH */
+
diff --git a/lily/include/score-bar.hh b/lily/include/score-bar.hh
new file mode 100644
index 0000000000..9ee61c5b0f
--- /dev/null
+++ b/lily/include/score-bar.hh
@@ -0,0 +1,28 @@
+/*
+ score-bar.hh -- declare Score_bar
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+
+ */
+
+#ifndef SCORE_BAR_HH
+#define SCORE_BAR_HH
+
+#include "bar.hh"
+
+/**
+ Score_bars are at the start of the line only, and
+ they come before normal bars.
+ */
+class Score_bar : public virtual Bar {
+public:
+ DECLARE_MY_RUNTIME_TYPEINFO;
+ SCORE_ELEM_CLONE(Score_bar);
+protected:
+ void do_pre_processing ();
+};
+
+#endif /* SCORE_BAR_HH */
+
diff --git a/lily/include/span-bar.hh b/lily/include/span-bar.hh
index 136564678f..af20eca67f 100644
--- a/lily/include/span-bar.hh
+++ b/lily/include/span-bar.hh
@@ -12,9 +12,9 @@
#include "bar.hh"
-class Span_bar : public Bar
+class Span_bar : public virtual Bar
{
- Link_array<Bar> spanning_l_arr_;
+ Link_array<Score_elem> spanning_l_arr_;
public:
Span_bar();
diff --git a/lily/include/span-score-bar.hh b/lily/include/span-score-bar.hh
index 0639825180..4afe8c9d8d 100644
--- a/lily/include/span-score-bar.hh
+++ b/lily/include/span-score-bar.hh
@@ -11,28 +11,27 @@
#define SPAN_SCORE_BAR_HH
#include "span-bar.hh"
+#include "score-bar.hh"
-class Span_score_bar : public Span_bar
+class Span_score_bar : public Span_bar, public Score_bar
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEM_CLONE(Span_score_bar);
- Span_score_bar();
+ DECLARE_MY_RUNTIME_TYPEINFO;
+ SCORE_ELEM_CLONE(Span_score_bar);
+ Span_score_bar();
protected:
-
-
- virtual void do_pre_processing();
+ virtual void do_pre_processing();
};
class Piano_brace : public Span_score_bar
{
public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEM_CLONE(Piano_brace);
+ DECLARE_MY_RUNTIME_TYPEINFO;
+ SCORE_ELEM_CLONE(Piano_brace);
protected:
- virtual Interval do_width() const;
- virtual Atom get_bar_sym (Real) const;
+ virtual Interval do_width() const;
+ virtual Atom get_bar_sym (Real) const;
};
#endif // SPAN_SCORE_BAR_HH
diff --git a/lily/lookup.cc b/lily/lookup.cc
index 0943b21e7e..cc26384fec 100644
--- a/lily/lookup.cc
+++ b/lily/lookup.cc
@@ -107,9 +107,9 @@ Lookup::bar (String s, Real h) const
{
Array<String> a;
a.push (print_dimen (h));
- Atom ret=(*symtables_p_)("bars")->lookup (s);;
+ Atom ret=(*symtables_p_)("bars")->lookup (s);
ret.tex_ = substitute_args (ret.tex_, a);
- ret.dim_.y() = Interval (0, h);
+ ret.dim_.y() = Interval (-h/2, h/2);
return ret;
}
@@ -227,14 +227,7 @@ Lookup::vbrace (Real &y) const
Array<String> a;
a.push (idx);
s.tex_ = substitute_args (s.tex_,a);
- s.dim_.y() = Interval (0,y);
- }
- {
- Array<String> a;
- a.push (print_dimen (y/2));
- a.push (print_dimen (0));
- a.push (s.tex_);
- s.tex_ = substitute_args ("\\placebox{%}{%}{%}", a);
+ s.dim_.y() = Interval (-y/2,y/2);
}
diff --git a/lily/normal-bar.cc b/lily/normal-bar.cc
new file mode 100644
index 0000000000..a4357037b7
--- /dev/null
+++ b/lily/normal-bar.cc
@@ -0,0 +1,12 @@
+/*
+ normal-bar.cc -- implement Normal_bar
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+
+ */
+
+#include "normal-bar.hh"
+
+IMPLEMENT_IS_TYPE_B1(Normal_bar, Bar);
diff --git a/lily/normal-span-bar.cc b/lily/normal-span-bar.cc
new file mode 100644
index 0000000000..6afbd76f01
--- /dev/null
+++ b/lily/normal-span-bar.cc
@@ -0,0 +1,12 @@
+/*
+ normal-span-bar.cc -- implement
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+
+ */
+
+#include "normal-span-bar.hh"
+
+IMPLEMENT_IS_TYPE_B2(Normal_span_bar, Span_bar, Normal_bar);
diff --git a/lily/score-align-gravs.cc b/lily/score-align-gravs.cc
index c3531e596b..4745a44191 100644
--- a/lily/score-align-gravs.cc
+++ b/lily/score-align-gravs.cc
@@ -11,6 +11,8 @@
#include "meter.hh"
#include "bar.hh"
#include "score-align-grav.hh"
+#include "score-bar.hh"
+#include "normal-bar.hh"
#define IMPLEMENT_ALIGN_GRAV(C,T,p)\
class C ## _align_engraver : public Type_align_engraver \
@@ -29,5 +31,5 @@ IMPLEMENT_IS_TYPE_B1(C ## _align_engraver, Type_align_engraver) ;
IMPLEMENT_ALIGN_GRAV(Key,Key_item,3);
IMPLEMENT_ALIGN_GRAV(Clef,Clef_item,2);
IMPLEMENT_ALIGN_GRAV(Meter,Meter,4);
-IMPLEMENT_ALIGN_GRAV(Bar, Bar,0);
-
+IMPLEMENT_ALIGN_GRAV(Normal_bar, Normal_bar,5);
+IMPLEMENT_ALIGN_GRAV(Score_bar, Score_bar,0);
diff --git a/lily/score-bar.cc b/lily/score-bar.cc
new file mode 100644
index 0000000000..5780eaff1e
--- /dev/null
+++ b/lily/score-bar.cc
@@ -0,0 +1,12 @@
+/*
+ score-bar.cc -- implement Score_bar
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+
+ */
+
+#include "score-bar.hh"
+
+IMPLEMENT_IS_TYPE_B1(Score_bar, Bar);
diff --git a/lily/score-column.cc b/lily/score-column.cc
index 1827c04639..2e045df7be 100644
--- a/lily/score-column.cc
+++ b/lily/score-column.cc
@@ -44,7 +44,14 @@ Score_column::preprocess()
void
Score_column::add_duration (Moment d)
{
- assert (d);
+ if (!d)
+ {
+ warning (_("Ignoring zero duration added to column at ")
+ + String (when_)
+ );
+ return;
+ }
+
for (int i = 0; i< durations.size(); i++)
{
if (d == durations[i])
diff --git a/lily/score-halign-grav.cc b/lily/score-halign-grav.cc
index 8af2412f66..b5c3c5c044 100644
--- a/lily/score-halign-grav.cc
+++ b/lily/score-halign-grav.cc
@@ -24,15 +24,13 @@ Score_horizontal_align_engraver::do_pre_move_processing()
typeset_element (halign_p_);
halign_p_ =0;
}
-
}
void
Score_horizontal_align_engraver::acknowledge_element (Score_elem_info i)
{
Engraver* reg = i.origin_grav_l_arr_[0];
- if (reg->is_type_b (
- Type_align_engraver::static_name()))
+ if (reg->is_type_b (Type_align_engraver::static_name()))
{
Type_align_engraver * align_grav_l = (Type_align_engraver*) reg;
if (!halign_p_)
diff --git a/lily/scores.cc b/lily/scores.cc
index 81ac087765..a13e1195be 100644
--- a/lily/scores.cc
+++ b/lily/scores.cc
@@ -23,9 +23,11 @@ do_scores()
for (int i=0; i < global_score_array.size(); i++)
{
Score *&is_p = global_score_array[i];
- if (is_p->header_p_)
- is_p->header_p_->lily_id_str_ = "Lily was here, " +
- get_version_number_str();
+ if (!is_p->header_p_)
+ is_p->header_p_ = new Header;
+
+ is_p->header_p_->lily_id_str_ = "Lily was here, " +
+ get_version_number_str();
if (is_p->errorlevel_i_)
{
is_p->warning (_("Score contains errors. Will not process it. "));
diff --git a/lily/span-bar-grav.cc b/lily/span-bar-grav.cc
index 1850c66ab9..ea05d68fcd 100644
--- a/lily/span-bar-grav.cc
+++ b/lily/span-bar-grav.cc
@@ -6,7 +6,7 @@
(c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
*/
-#include "span-bar.hh"
+#include "normal-span-bar.hh"
#include "span-bar-grav.hh"
#include "vertical-align-spanner.hh"
@@ -19,7 +19,7 @@ Span_bar_engraver::Span_bar_engraver()
Span_bar*
Span_bar_engraver::get_span_bar_p() const
{
- return new Span_bar;
+ return new Normal_span_bar;
}
void
@@ -35,6 +35,7 @@ Span_bar_engraver::acknowledge_element (Score_elem_info i)
{
spanbar_p_ = get_span_bar_p();
announce_element (Score_elem_info (spanbar_p_,0));
+ spanbar_p_-> type_str_ = bar_l_arr_[0]->type_str_;
}
}
else if (i.elem_l_->is_type_b (Vertical_align_spanner::static_name())
diff --git a/lily/span-bar.cc b/lily/span-bar.cc
index a73c27df42..a371dc019d 100644
--- a/lily/span-bar.cc
+++ b/lily/span-bar.cc
@@ -17,7 +17,6 @@
void
Span_bar::add (Bar*b)
{
- b->spanned_i_ ++;
spanning_l_arr_.push (b);
add_dependency (b);
}
@@ -27,21 +26,7 @@ Span_bar::add (Bar*b)
void
Span_bar::do_substitute_dependency (Score_elem*o, Score_elem*n)
{
- Bar * bold = 0;
- if (o->is_type_b (Bar::static_name()))
- bold = (Bar*)o->item();
- else
- return;
-
- bold->spanned_i_ --;
- Bar * b =0;
- if (n && n->is_type_b (Bar::static_name()))
- {
- b = (Bar*)n->item();
- b->spanned_i_ ++;
- }
-
- spanning_l_arr_.substitute (bold , b);
+ spanning_l_arr_.unordered_substitute (o, n);
}
@@ -61,28 +46,25 @@ Span_bar::do_width() const
void
Span_bar::do_pre_processing()
{
+ Bar::do_pre_processing ();
+
if (spanning_l_arr_.size() < 1)
{
transparent_b_ = true;
set_empty (true);
}
- else
+ if (type_str_.empty_b ())
+ {
+ transparent_b_=true;
+ set_empty (true);
+ }
+ else if (type_str_ == "|:")
+ {
+ type_str_ = ".|";
+ }
+ else if (type_str_ == ":|")
{
- if (type_str_.empty_b ())
- type_str_ = spanning_l_arr_[0]->type_str_;
- if (type_str_.empty_b ())
- {
- transparent_b_=true;
- set_empty (true);
- }
- else if (type_str_ == "|:")
- {
- type_str_ = ".|";
- }
- else if (type_str_ == ":|")
- {
- type_str_ = "|.";
- }
+ type_str_ = "|.";
}
}
@@ -110,7 +92,7 @@ Span_bar::brew_molecule_p() const
Atom s = get_bar_sym (y_int.length());
Molecule*output = new Molecule (Atom (s));
- output->translate_axis (y_int[-1], Y_AXIS);
+ output->translate_axis (y_int.center(), Y_AXIS);
return output;
}
diff --git a/lily/span-score-bar-grav.cc b/lily/span-score-bar-grav.cc
index 6f4d282330..9159266123 100644
--- a/lily/span-score-bar-grav.cc
+++ b/lily/span-score-bar-grav.cc
@@ -5,6 +5,7 @@
(c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
*/
+
#include "span-score-bar.hh"
#include "span-score-bar-grav.hh"
diff --git a/lily/span-score-bar.cc b/lily/span-score-bar.cc
index 5ad94b760d..52b3e15333 100644
--- a/lily/span-score-bar.cc
+++ b/lily/span-score-bar.cc
@@ -13,14 +13,12 @@
Span_score_bar::Span_score_bar()
{
- type_str_ = "|";
}
void
-Span_score_bar::do_pre_processing()
+Score_bar::do_pre_processing ()
{
- Span_bar::do_pre_processing();
-
+ type_str_ = "|";
if (break_status_i() != 1)
{
set_empty (true);
@@ -28,12 +26,22 @@ Span_score_bar::do_pre_processing()
}
}
+void
+Span_score_bar::do_pre_processing()
+{
+ /*
+ duh. The order of these two is subtle.
+ */
+ Score_bar::do_pre_processing ();
+ // Span_bar::do_pre_processing();
+}
Atom
Piano_brace::get_bar_sym (Real dy) const
{
return paper()->lookup_l ()->vbrace (dy);
}
+
Interval
Piano_brace::do_width() const
{
@@ -41,7 +49,7 @@ Piano_brace::do_width() const
}
-IMPLEMENT_IS_TYPE_B1(Span_score_bar, Span_bar);
+IMPLEMENT_IS_TYPE_B2(Span_score_bar, Span_bar, Score_bar);
IMPLEMENT_IS_TYPE_B1(Piano_brace, Span_score_bar);
diff --git a/make/Makefile b/make/Makefile
index fc4fa61d5e..39bdc9fa48 100644
--- a/make/Makefile
+++ b/make/Makefile
@@ -16,7 +16,7 @@ depth = ..
# identify module:
#
NAME = make
-SUBDIRS = debian
+SUBDIRS =
# list of distribution files:
diff --git a/make/Toplevel.make.in b/make/Toplevel.make.in
index 5de434c161..769b19fda0 100644
--- a/make/Toplevel.make.in
+++ b/make/Toplevel.make.in
@@ -27,7 +27,7 @@ include ./$(depth)/make/Variables.make
# descent order into subdirectories:
#
-SUBDIRS = bin flower lib lily mf mi2mu \
+SUBDIRS = bin flower lib lily mf mi2mu debian\
Documentation init input tex make
#
diff --git a/make/debian/README.debian.ex b/make/debian/README.debian.ex
deleted file mode 100644
index 99296fb0a2..0000000000
--- a/make/debian/README.debian.ex
+++ /dev/null
@@ -1,6 +0,0 @@
-lilypond for DEBIAN
--------------------
-
-Comments regarding the Package
-
-Anthony Fok <foka@gpu.srv.ualberta.ca>, Wed, 6 Aug 1997 02:14:59 -0600
diff --git a/make/debian/changelog b/make/debian/changelog
deleted file mode 100644
index c8fea56d93..0000000000
--- a/make/debian/changelog
+++ /dev/null
@@ -1,10 +0,0 @@
-lilypond (0.1.0-1) unstable; urgency=low
-
- * Initial Release.
-
- -- Anthony Fok <foka@gpu.srv.ualberta.ca> Wed, 6 Aug 1997 04:40:57 -0600
-
-Local variables:
-mode: debian-changelog
-add-log-mailing-address: "foka@gpu.srv.ualberta.ca"
-End:
diff --git a/make/debian/control b/make/debian/control
deleted file mode 100644
index 33aa250500..0000000000
--- a/make/debian/control
+++ /dev/null
@@ -1,25 +0,0 @@
-Source: lilypond
-Section: tex
-Priority: contrib/optional
-Maintainer: Anthony Fok <foka@gpu.srv.ualberta.ca>
-Standards-Version: 2.2.0.0
-
-Package: lilypond
-Architecture: any
-Depends: ${shlibs:Depends}
-Recommends: tetex-base, musixtex | musixtex-fonts
-Description: LilyPond is the GNU Project music typesetter. The program
-generates visual or auditive output from a music
-definition file: it can typeset formatted sheet music
-to a TeX file and play (mechanical) performances to a
-MIDI file. Features include multiple staffs, meters,
-clefs, keys, lyrics, versatile input-language,
-cadenzas, beams, slurs, triplets.
- .
- .
- Note: LilyPond uses the fonts from MusiXTeX. Please install the package
- musixtex or musixtex-fonts when you install lilypond. :)
- .
- URL: http://www.stack.nl/~hanwen/lilypond/
- Authors: Han-Wen Nienhuys <hanwen@stack.nl>
- Jan Nieuwenhuizen <jan@digicash.com>
diff --git a/make/debian/copyright b/make/debian/copyright
deleted file mode 100644
index 244cda9c46..0000000000
--- a/make/debian/copyright
+++ /dev/null
@@ -1,36 +0,0 @@
-This package was debianized by Anthony Fok foka@gpu.srv.ualberta.ca on
-Wed, 6 Aug 1997 04:30:28 -0600
-
-It was downloaded from
- ftp://pcnov095.win.tue.nl/pub/lilypond/lilypond-0.1.0.tar.gz
-
-It is also available from:
- ftp://alpha.gnu.ai.mit.edu/gnu/lilypond-0.1.0.tar.gz
-
-For more informatino about GNU LilyPond, please visit:
- http://www.stack.nl/~hanwen/lilypond/ for more information.
-
-
-Authors:
- Han-Wen Nienhuys <hanwen@stack.nl>
- Jan Nieuwenhuizen <jan@digicash.com>
-
-Copyright:
-
- GNU LilyPond is Copyright (C) Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; version 2 dated June, 1991.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave., Cambridge, MA 02139, USA.
-
- On Debian GNU/Linux systems, the complete text of the GNU General
- Public License can be found in `/usr/doc/copyright/GPL.gz'.
diff --git a/make/debian/dirs b/make/debian/dirs
deleted file mode 100644
index 2a3cf99753..0000000000
--- a/make/debian/dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/bin
-usr/lib/texmf/doc
diff --git a/make/debian/diversions.ex b/make/debian/diversions.ex
deleted file mode 100644
index aebbbe5dc9..0000000000
--- a/make/debian/diversions.ex
+++ /dev/null
@@ -1 +0,0 @@
-<FILE> <Diverted to> <Packagename>
diff --git a/make/debian/docs b/make/debian/docs
deleted file mode 100644
index 191b9f88dc..0000000000
--- a/make/debian/docs
+++ /dev/null
@@ -1,3 +0,0 @@
-Documentation/out/*.text
-Documentation/*.doc
-Documentation/lelie_logo.gif
diff --git a/make/debian/postinst b/make/debian/postinst
deleted file mode 100644
index 8647e7ab64..0000000000
--- a/make/debian/postinst
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-set -e
-
-if [ -x /usr/bin/texhash -a -e /usr/lib/texmf/ls-R ]; then
- texhash
-fi
-
diff --git a/make/debian/postrm b/make/debian/postrm
deleted file mode 100644
index cca5631edc..0000000000
--- a/make/debian/postrm
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-set -e
-
-case "$1" in
- remove)
- if [ -x /usr/bin/texhash -a -e /usr/lib/texmf/ls-R ]; then
- texhash
- fi
- ;;
-
- upgrade)
- ;;
-
- purge)
- if [ -x /usr/bin/texhash -a -e /usr/lib/texmf/ls-R ]; then
- texhash
- fi
- ;;
-
- failed-upgrade|abort-install|abort-upgrade|disappear)
- ;;
-
- *)
- echo "postrm called with unknown argument \`$1'" >&2
- exit 0
- ;;
-esac
diff --git a/make/debian/rules b/make/debian/rules
deleted file mode 100644
index da43f3b815..0000000000
--- a/make/debian/rules
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/make -f
-# Made with the aid of debmake, by Christoph Lameter,
-# based on the sample debian/rules file for GNU hello by Ian Jackson.
-
-package=lilypond
-
-build:
- $(checkdir)
- ./configure --disable-checking --disable-debugging \
- --disable-printing --prefix=/usr --enable-optimise \
- --enable-shared
- make all
-
- touch build
-
-clean:
- $(checkdir)
- -rm -f build
- -make distclean
- -rm -f {,*/}out/{*,.build} flower/config.{log,status}
- -rm -f `find . -name "*~"`
- -rm -rf debian/tmp debian/files* core debian/substvars
-
-binary-indep: checkroot build
- $(checkdir)
-# There are no architecture-independent files to be uploaded
-# generated by this package. If there were any they would be
-# made here.
-
-binary-arch: checkroot build
- $(checkdir)
- -rm -rf debian/tmp
- install -d debian/tmp
- cd debian/tmp && install -d `cat ../dirs`
- make prefix=`pwd`/debian/tmp/usr install
- ln -fs ../../../doc/lilypond debian/tmp/usr/lib/texmf/doc/lilypond
-# Must have debmake installed for this to work. Otherwise please copy
-# /usr/bin/debstd into the debian directory and change debstd to debian/debstd
- debstd -m BUGS TODO NEWS DEDICATION ANNOUNCE README
- dpkg-gencontrol
- chown -R root.root debian/tmp
- chmod -R go=rX debian/tmp
- dpkg --build debian/tmp ..
-
-define checkdir
- test -f debian/rules
-endef
-
-# Below here is fairly generic really
-
-binary: binary-indep binary-arch
-
-checkroot:
- $(checkdir)
- test root = "`whoami`"
-
-.PHONY: binary binary-arch binary-indep clean checkroot
diff --git a/make/lelievijver.lsm b/make/lelievijver.lsm
index 4ca6b9c40c..76ce89a784 100644
--- a/make/lelievijver.lsm
+++ b/make/lelievijver.lsm
@@ -1,7 +1,7 @@
Begin3
Titel: LilyPond
-Versie: 0.1.30
-Inschrijf datum: 11NOV97
+Versie: 0.1.31
+Inschrijf datum: 18NOV97
Beschrijving: LilyPond is de muziek typesetter van het GNU Project.
Het programma genereert muziek in zichtbare of
hoorbare vorm uit uit een muzikale definitie file:
@@ -16,8 +16,8 @@ Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
jan@digicash.com (Jan Nieuwenhuizen)
Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 395k lilypond-0.1.30.tar.gz
+ 395k lilypond-0.1.31.tar.gz
Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
- 395k lilypond-0.1.30.tar.gz
+ 395k lilypond-0.1.31.tar.gz
Copi"eer politie: GPL
End
diff --git a/make/lilypond.lsm b/make/lilypond.lsm
index 28812b00e6..d46f62129e 100644
--- a/make/lilypond.lsm
+++ b/make/lilypond.lsm
@@ -1,7 +1,7 @@
Begin3
Title: LilyPond
-Version: 0.1.30
-Entered-date: 11NOV97
+Version: 0.1.31
+Entered-date: 18NOV97
Description: LilyPond is the GNU Project music typesetter. The program
generates visual or auditive output from a music
definition file: it can typeset formatted sheet music
@@ -14,8 +14,8 @@ Author: hanwen@stack.nl (Han-Wen Nienhuys)
jan@digicash.com (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 440k lilypond-0.1.30.tar.gz
+ 440k lilypond-0.1.31.tar.gz
Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
- 440k lilypond-0.1.30.tar.gz
+ 440k lilypond-0.1.31.tar.gz
Copying-policy: GPL
End
diff --git a/make/lilypond.spec b/make/lilypond.spec
index 343da659ed..d95261c1f7 100644
--- a/make/lilypond.spec
+++ b/make/lilypond.spec
@@ -1,9 +1,9 @@
Name: lilypond
-Version: 0.1.30
+Version: 0.1.31
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.30.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.31.tar.gz
Summary: A program for typesetting music.
URL: http://www.stack.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@stack.nl>
diff --git a/mf/TODO b/mf/TODO
index a7ee33cb2c..8269df3241 100644
--- a/mf/TODO
+++ b/mf/TODO
@@ -3,9 +3,8 @@
- y-refpoint for rests should be the 4th staffline (gclef: b')
- versioning
- lo-res fixes.
+ - work out sizes of character fonts.
- more symbols
- * stem-notehead attachments.
- * clefs
* some scripts:
* piano pedals,
* braces.
diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf
index dd8abe5e91..2ca5f67502 100644
--- a/mf/feta-generic.mf
+++ b/mf/feta-generic.mf
@@ -28,6 +28,6 @@ else:
% input feta-bolletjes;
% input feta-banier;
% input feta-eindelijk;
- input feta-klef;
-
+% input feta-klef;
+ input feta-toevallig;
fi
diff --git a/mf/feta-klef.mf b/mf/feta-klef.mf
index e9b285d7e5..56903d7f8e 100644
--- a/mf/feta-klef.mf
+++ b/mf/feta-klef.mf
@@ -93,16 +93,25 @@ fet_endchar;
%
% Inspired by Baerenreiter
%
-% FIXME top
+% FIXME top should be thinner at z8,
% FIXME bulb should curve (see bass clef)
% FIXME start (inside) should be little thinner
% FIXME parametrise.
% FIXME should be a bit more upright
%
+
+% Beste lezers, kijk,
+%
+% Een bolletje hebben we bij toeval allemaal wel eens getekend, maar begint u
+% toch eenvoudig. Eerst een eenvoudig kruis of herstellingsteken
+% en via de dubbelslag naar een voorzichtig vlaggetje, en heb geduld!
+% Ikzelf heb bijvoorbeeld over mijn eerste gave G-sleutel
+% 35 kilobyte metafont, 12 patchlevels, 0 vriendinnen en 45 dagen gedaan
+%
def draw_gclef (expr exact_center, reduction)=
save reduced_il, downstroke_dir, downstroke_angle, hair, center;
- save breapth_factor, inner_thick_end, thinness, thickness, thinnib
-, thinness, thinpen;
+ save breapth_factor, inner_thick_end, thinness, thickness, thinnib;
+ save inner_start_angle, thinness, thinpen;
reduced_il# = interline# * reduction;
define_pixels(reduced_il);
pair downstroke_dir, center;
@@ -115,7 +124,8 @@ def draw_gclef (expr exact_center, reduction)=
downstroke_dir = (14, -75);
breapth_factor = 11/7;
inner_thick_end = 45;
- thickness = .4 interline - hair;
+ inner_start_angle = angle(-1,-2);
+ thickness = .4 reduced_il - hair;
thinnib = thinness - hair;
thinpen = thinness;
@@ -127,7 +137,7 @@ def draw_gclef (expr exact_center, reduction)=
pickup pencircle scaled hair;
downstroke_angle = angle downstroke_dir;
- z1 = center + whatever * (-1, -2);
+ z1 = center + whatever * dir inner_start_angle;
x1 = xpart center -.28 reduced_il;
top z2r = center + (0,reduced_il + stafflinethickness/2);
@@ -143,12 +153,8 @@ def draw_gclef (expr exact_center, reduction)=
z6 = center + whatever * downstroke_dir;
y6 = ypart center + 2 reduced_il;
-
z7l - z6 = whatever *(z5- z6) ;
y7l = 3.5 reduced_il;
-
-
-
z8r = .4 [z9r, z7r] + 1.5 stafflinethickness * dir 52;
x9 = .7 [x10, x7r];
@@ -168,7 +174,7 @@ def draw_gclef (expr exact_center, reduction)=
center - z10= whatever * downstroke_dir;
center - z11 = whatever * downstroke_dir;
- penpos1(thinnib, angle(-1,-2));
+ penpos1(thinnib, inner_start_angle);
penpos2(thickness, 90);
penpos3(thinnib, -90 + inner_thick_end);
penpos4(thinnib, -90);
@@ -216,7 +222,7 @@ fet_beginchar("G clef", "violin", "violinclef")
draw_gclef((1.6 interline#,0), 1.0);
fet_endchar;
fet_beginchar("G clef", "violin_change", "cviolinclef")
- draw_gclef((1.2 interline#,0), .8);
+ draw_gclef((1.3 interline#,0), .8);
fet_endchar;
fet_endgroup("klef");
diff --git a/mf/feta-puntje.mf b/mf/feta-puntje.mf
index 7675befaee..70812b44a6 100644
--- a/mf/feta-puntje.mf
+++ b/mf/feta-puntje.mf
@@ -1,13 +1,21 @@
fet_begingroup("dots");
+save dot_diam;
+2 dot_diam# = interline# - stafflinethickness#;
+define_pixels(dot_diam);
+
fet_beginchar("duration dot","dot", "dot")
- save dot_diam;
- 2 dot_diam# = interline# - stafflinethickness#;
- define_pixels(dot_diam)
pickup pencircle scaled dot_diam;
draw (dot_diam/2,0);
set_char_box(0, dot_diam#, dot_diam#/2, dot_diam#/2);
fet_endchar;
+fet_beginchar("repeat dots", "repeatcolon", "repeatcolon")
+ pickup pencircle scaled dot_diam;
+ draw (dot_diam/2, interline/2);
+ addto currentpicture also currentpicture yscaled -1;
+ set_char_box(0, dot_diam#, interline#/2, interline#/2);
+fet_endchar;
+
fet_endgroup("dots");
diff --git a/mf/feta-toevallig.mf b/mf/feta-toevallig.mf
index a3cddb3fa0..7da404d0c7 100644
--- a/mf/feta-toevallig.mf
+++ b/mf/feta-toevallig.mf
@@ -38,7 +38,7 @@ fet_beginchar("Sharp" , "1", "sharp");
beamheight := 4 stafflinethickness;
beamwidth := w;
stemwidth := 1.3 stafflinethickness;
- roundness := blot_diameter;
+ roundness := 2blot_diameter;
pair center;
center := (.5 w, 0);
diff --git a/mi2mu/mudela-stream.cc b/mi2mu/mudela-stream.cc
index 647a595db1..73b231d168 100644
--- a/mi2mu/mudela-stream.cc
+++ b/mi2mu/mudela-stream.cc
@@ -81,7 +81,7 @@ Mudela_stream::header()
*os_p_ << filename_str_g;
*os_p_ << "\n\n";
// ugh
- *os_p_ << "\\version \"0.1.6\";\n";
+ *os_p_ << "\\version \"0.1.7\";\n";
}
void
diff --git a/tex/feta16.tex b/tex/feta16.tex
deleted file mode 100644
index 777cda5fa7..0000000000
--- a/tex/feta16.tex
+++ /dev/null
@@ -1,74 +0,0 @@
-% generated automatically by mf-to-table.py version 0.4
-% on Tue Nov 11 13:31:20 1997
-% Do not edit
-% input from out/feta16.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-
-% balls
-\fetdef\brevisball{16}
-\fetdef\brevisledger{17}
-\fetdef\longaball{18}
-\fetdef\longaledger{19}
-\fetdef\wholeball{20}
-\fetdef\wholeledger{21}
-\fetdef\halfball{22}
-\fetdef\halfledger{23}
-\fetdef\quartball{24}
-\fetdef\quartledger{25}
-
-% scripts
-\fetdef\ufermata{26}
-\fetdef\dfermata{27}
-\fetdef\sforzatoaccent{28}
-\fetdef\staccato{29}
-\fetdef\ustaccatissimo{30}
-\fetdef\dstaccatissimo{31}
-\fetdef\tenuto{32}
-\fetdef\umarcato{33}
-\fetdef\dmarcato{34}
-\fetdef\ouvert{35}
-\fetdef\plusstop{36}
-\fetdef\upbow{37}
-\fetdef\downbow{38}
-\fetdef\turn{39}
-\fetdef\trill{40}
-\fetdef\pedalheel{41}
-\fetdef\pedaltoe{42}
-
-% flags
-\fetdef\eighthflag{43}
-\fetdef\sixteenthflag{44}
-\fetdef\thirtysecondflag{45}
-\fetdef\sixtyfourthflag{46}
-\fetdef\deighthflag{47}
-\fetdef\dsixteenthflag{48}
-\fetdef\dthirtysecondflag{49}
-\fetdef\dsixtyfourthflag{50}
-
-% klef
-\fetdef\bassclef{51}
-\fetdef\cbassclef{52}
-\fetdef\violinclef{53}
-\fetdef\cviolinclef{54}
-
diff --git a/tex/feta20.tex b/tex/feta20.tex
deleted file mode 100644
index 00dad23d8b..0000000000
--- a/tex/feta20.tex
+++ /dev/null
@@ -1,74 +0,0 @@
-% generated automatically by mf-to-table.py version 0.4
-% on Tue Nov 11 13:31:29 1997
-% Do not edit
-% input from out/feta20.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-
-% balls
-\fetdef\brevisball{16}
-\fetdef\brevisledger{17}
-\fetdef\longaball{18}
-\fetdef\longaledger{19}
-\fetdef\wholeball{20}
-\fetdef\wholeledger{21}
-\fetdef\halfball{22}
-\fetdef\halfledger{23}
-\fetdef\quartball{24}
-\fetdef\quartledger{25}
-
-% scripts
-\fetdef\ufermata{26}
-\fetdef\dfermata{27}
-\fetdef\sforzatoaccent{28}
-\fetdef\staccato{29}
-\fetdef\ustaccatissimo{30}
-\fetdef\dstaccatissimo{31}
-\fetdef\tenuto{32}
-\fetdef\umarcato{33}
-\fetdef\dmarcato{34}
-\fetdef\ouvert{35}
-\fetdef\plusstop{36}
-\fetdef\upbow{37}
-\fetdef\downbow{38}
-\fetdef\turn{39}
-\fetdef\trill{40}
-\fetdef\pedalheel{41}
-\fetdef\pedaltoe{42}
-
-% flags
-\fetdef\eighthflag{43}
-\fetdef\sixteenthflag{44}
-\fetdef\thirtysecondflag{45}
-\fetdef\sixtyfourthflag{46}
-\fetdef\deighthflag{47}
-\fetdef\dsixteenthflag{48}
-\fetdef\dthirtysecondflag{49}
-\fetdef\dsixtyfourthflag{50}
-
-% klef
-\fetdef\bassclef{51}
-\fetdef\cbassclef{52}
-\fetdef\violinclef{53}
-\fetdef\cviolinclef{54}
-
diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex
index d7b9be267a..292022e096 100644
--- a/tex/lilyponddefs.tex
+++ b/tex/lilyponddefs.tex
@@ -163,8 +163,10 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\doublebar#1{\hbox{\thinbar{#1}\hskip\smallspace\thinbar{#1}}}
-\def\thinbar#1{\vrule height #1 width 1.6\staffrulethickness} % TODO parametric.
-\def\thickbar#1{\vrule height #1 width 2\smallspace}
+\def\thinbar#1{\dimen0=#1%
+ \vrule height .5\dimen0 depth .5\dimen0 width 1.6\staffrulethickness} % TODO parametric.
+\def\thickbar#1{\dimen0=#1%
+ \vrule height .5\dimen0 depth .5\dimen0 width 2\smallspace}
\def\maatstreep#1{\thinbar{#1}}
\def\startbar#1{\leftalign{\thickbar{#1}\kern\smallspace\thinbar{#1}}}
\def\finishbar#1{\rightalign{\thinbar{#1}\kern\smallspace\thickbar{#1}}}