diff options
author | Han-Wen Nienhuys <hanwen@xs4all.nl> | 1997-11-18 10:07:43 +0100 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@xs4all.nl> | 1997-11-18 10:07:43 +0100 |
commit | c28b7449566ddc75d12902b8396092a2941016f1 (patch) | |
tree | 1da8f41cc574a4346b665bf84f11556abb7834ed | |
parent | c8e6f4f3b9c4308d88d844909e645fc5ff437fa8 (diff) |
release: 0.1.31
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 @@ -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) @@ -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: @@ -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> @@ -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}}} |