]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.31 release/0.1.31
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 18 Nov 1997 09:07:43 +0000 (10:07 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 18 Nov 1997 09:07:43 +0000 (10:07 +0100)
79 files changed:
AUTHORS.text
Documentation/faq.pod
Documentation/links.pod
Documentation/other-packages.pod
INSTALL.text
NEWS
TODO
VERSION
bin/Makefile
debian/Makefile [new file with mode: 0644]
debian/README.debian [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/examples [new file with mode: 0644]
debian/info.ex [new file with mode: 0644]
debian/menu.ex [new file with mode: 0644]
debian/postinst [new file with mode: 0644]
debian/postinst.old.sh [new file with mode: 0644]
debian/postrm [new file with mode: 0644]
debian/preinst [new file with mode: 0644]
debian/rules [new file with mode: 0644]
debian/watch [new file with mode: 0644]
init/engraver.ly
init/feta16.ly [deleted file]
init/feta20.ly [deleted file]
input/font.ly
input/wtk1-fugue2.ly
lily/VERSION
lily/bar-grav.cc
lily/bar.cc
lily/include/bar.hh
lily/include/horizontal-align-item.hh
lily/include/normal-bar.hh [new file with mode: 0644]
lily/include/normal-span-bar.hh [new file with mode: 0644]
lily/include/score-bar.hh [new file with mode: 0644]
lily/include/span-bar.hh
lily/include/span-score-bar.hh
lily/lookup.cc
lily/normal-bar.cc [new file with mode: 0644]
lily/normal-span-bar.cc [new file with mode: 0644]
lily/score-align-gravs.cc
lily/score-bar.cc [new file with mode: 0644]
lily/score-column.cc
lily/score-halign-grav.cc
lily/scores.cc
lily/span-bar-grav.cc
lily/span-bar.cc
lily/span-score-bar-grav.cc
lily/span-score-bar.cc
make/Makefile
make/Toplevel.make.in
make/debian/Makefile [deleted file]
make/debian/README.debian.ex [deleted file]
make/debian/changelog [deleted file]
make/debian/control [deleted file]
make/debian/copyright [deleted file]
make/debian/dirs [deleted file]
make/debian/diversions.ex [deleted file]
make/debian/docs [deleted file]
make/debian/examples [deleted file]
make/debian/info.ex [deleted file]
make/debian/menu.ex [deleted file]
make/debian/postinst [deleted file]
make/debian/postrm [deleted file]
make/debian/rules [deleted file]
make/debian/watch [deleted file]
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
mf/TODO
mf/feta-generic.mf
mf/feta-klef.mf
mf/feta-puntje.mf
mf/feta-toevallig.mf
mi2mu/mudela-stream.cc
tex/feta16.tex [deleted file]
tex/feta20.tex [deleted file]
tex/lilyponddefs.tex

index 428689b5ca34eeecf1fa4ee85069abdd00c30a21..cf19f67dd53d29948fff418eca3bb1c1933cbb59 100644 (file)
@@ -61,6 +61,6 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNT\bT\bT\bTR\bR\bR\bRI\bI\bI\bIB\bB\bB\bBU\bU\bU\bUT\bT\bT\bTO\bO\bO\bOR\bR\bR\bRS\bS
 
 
 
-27/Oct/97                LilyPond 0.1.30                        1
+27/Oct/97                LilyPond 0.1.31                        1
 
 
index 6c32aa3b92ff91998d174722fcea810a6d47ceba..b98fa6865cbb25949af2dd939db584173d942424 100644 (file)
@@ -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?
index e0b5c61d769c017a77b0a29c03deefb3a029c015..5cccbf7c26a8e9bd9803b9ad5d4decc25da2298a 100644 (file)
@@ -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
index 38063a3eb788125da0f253fa12be17c2996138dc..d1aad66d5cd207e7584c3eea224805347e7da413 100644 (file)
@@ -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.
+
+
+
+
index 93fd8e0faaff757d5a8d3fcecee189c245bee28a..c8455c2dc8099aebce6a4625a25aee7c22cf05f5 100644 (file)
@@ -61,7 +61,7 @@ R\bR\bR\bRU\bU\bU\bUN\bN\bN\bNN\bN\bN\bNI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG
 
 
 
-20/Oct/97                LilyPond 0.1.30                        1
+20/Oct/97                LilyPond 0.1.31                        1
 
 
 
@@ -127,7 +127,7 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNF\bF\bF\bFI\bI\bI\bIG\bG\bG\bGU\bU\bU\bUR\bR\bR\bRI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG a\b
 
 
 
-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 @@ I\bI\bI\bIN\bN\bN\bNS\bS\bS\bST\bT\bT\bTA\bA\bA\bAL\bL\bL\bLL\bL\bL\bLI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG
 
 
 
-20/Oct/97                LilyPond 0.1.30                        4
+20/Oct/97                LilyPond 0.1.31                        4
 
 
 
@@ -325,7 +325,7 @@ R\bR\bR\bRE\bE\bE\bED\bD\bD\bDH\bH\bH\bHA\bA\bA\bAT\bT\bT\bT L\bL\bL\bLI\bI\bI\bIN\bN\bN\bNU\bU\bU\bUX\bX\bX\bX
 
 
 
-20/Oct/97                LilyPond 0.1.30                        5
+20/Oct/97                LilyPond 0.1.31                        5
 
 
 
@@ -391,6 +391,6 @@ A\bA\bA\bAU\bU\bU\bUT\bT\bT\bTH\bH\bH\bHO\bO\bO\bOR\bR\bR\bRS\bS\bS\bS
 
 
 
-20/Oct/97                LilyPond 0.1.30                        6
+20/Oct/97                LilyPond 0.1.31                        6
 
 
diff --git a/NEWS b/NEWS
index 7710007f24df462ff6339eb3266f746869de9e36..e3b20155dc3efbe6efbd0ac402f74e2d7c4584a4 100644 (file)
--- 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 6038253a3f9f91d57a19d8543a223904ef421aef..f99d401dcbf142cd9791007d3687fe029140b333 100644 (file)
--- 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 9692368e960b678931b8176e4059a9a171243574..155de33c7145efad167ac3be45f10b027a1d4468 100644 (file)
--- 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:
index 7850aabe6542060771c415b106ecbbaf1f2f3ec0..5c0043d97729f69aa3fcd4d2472058451be198f6 100644 (file)
@@ -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/debian/Makefile b/debian/Makefile
new file mode 100644 (file)
index 0000000..06cd03f
--- /dev/null
@@ -0,0 +1,19 @@
+depth = ..
+
+NAME= debian
+
+# generic variables:
+#
+include ./$(depth)/make/Variables.make
+include ./$(depth)/make/Files.make 
+#
+
+# generic targets and rules:
+#
+include ./$(depth)/make/Targets.make
+include ./$(depth)/make/Rules.make
+#
+
+
+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 (file)
index 0000000..88675bb
--- /dev/null
@@ -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 (file)
index 0000000..44850b3
--- /dev/null
@@ -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 (file)
index 0000000..500d23d
--- /dev/null
@@ -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 (file)
index 0000000..17f22e9
--- /dev/null
@@ -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/debian/examples b/debian/examples
new file mode 100644 (file)
index 0000000..3be67ec
--- /dev/null
@@ -0,0 +1,2 @@
+input/*.ly
+input/*.tex
diff --git a/debian/info.ex b/debian/info.ex
new file mode 100644 (file)
index 0000000..5a311f0
--- /dev/null
@@ -0,0 +1,15 @@
+# This is a configuration files for installing a .info menu
+# The Description to be placed into the directory
+DESCR="Description"
+
+# The section this info file should be placed in (Regexp) followed by
+# the new section name to be created if the Regexp does not match
+# (Optional. If not given the .info will be appended to the directory)
+#SECTION_MATCH="Regexp"
+#SECTION_NAME="New Section Name"
+
+# The file referred to from the Info directory
+FILE=lilypond.info
+
+# Optional. The files to be copied to /usr/info
+#FILES=*.info
diff --git a/debian/menu.ex b/debian/menu.ex
new file mode 100644 (file)
index 0000000..179992f
--- /dev/null
@@ -0,0 +1 @@
+text Apps/Misc lilypond none "lilypond Description" /usr/bin/lilypond
diff --git a/debian/postinst b/debian/postinst
new file mode 100644 (file)
index 0000000..0b73406
--- /dev/null
@@ -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 (file)
index 0000000..8eb5d7c
--- /dev/null
@@ -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 (file)
index 0000000..5873710
--- /dev/null
@@ -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 (file)
index 0000000..eba9114
--- /dev/null
@@ -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 (file)
index 0000000..8befb88
--- /dev/null
@@ -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/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..1a1bb28
--- /dev/null
@@ -0,0 +1,5 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# Site                 Directory       Pattern                 Version Script
+pcnov095.win.tue.nl    /pub/lilypond/development       lilypond-*.tar.gz       debian  uupdate
index 528df1cc670434249cd11b706470d8e4b0548cfb..fd9b51eb442abcb197f35f5ade0b680b49d2e3c5 100644 (file)
@@ -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 (file)
index 8c4a510..0000000
+++ /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 (file)
index dccf7ba..0000000
+++ /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
index 20f072e1fc0308680926d86ecc573d261b705344..76e2a8e5bf5f44058416e7d992edae1a4ac52099 100644 (file)
@@ -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
index ea304e7a8e3c7da19113052e0008676a900d7ae8..cd62181c6d130b8fbb1cb4667a21bcaed05a435b 100644 (file)
@@ -21,6 +21,8 @@ global =
     \melodic {
          \meter 4/4;                % should be \meter C
          \keyCminor 
+        \skip 1*32;
+        \bar "|.";
     }
   
 dux =
index ab7dbaa23a784b16938fe0fe2d6e5895370ece60..24d753660d02161d8f979afea819a415e1b61bec 100644 (file)
@@ -1,4 +1,4 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 30
+PATCH_LEVEL = 31
 MY_PATCH_LEVEL =
index 0e34557667f75a487e47ad924444b48bfba10960..16631e5221ac43cc57e8b396a05a9c119c3a1273 100644 (file)
@@ -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_)
index ac7e0f19a23f3eeeea27530ddf5402ba3574224e..14b5310099aaa015c4c2db148fc6e8c4bb8c7c3d 100644 (file)
@@ -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];
     }
   
   /*
index ce886830b0e69e08aacd8b449e0ce5b0563b1878..df39cea3893077da0331539ecb3cd1018c5972f3 100644 (file)
@@ -15,8 +15,7 @@
 class Bar:public Item {
 public:
   String type_str_;
-  int spanned_i_;
-    
+
   DECLARE_MY_RUNTIME_TYPEINFO;
   SCORE_ELEM_CLONE(Bar);
   Bar();
index 07c1934eda1a11b4ad8c044d6f1c3e4fd2d40552..f223e07be10d03556be8a80acfcc130c5b61dd2d 100644 (file)
@@ -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 (file)
index 0000000..a4f7bd2
--- /dev/null
@@ -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 (file)
index 0000000..68ccabb
--- /dev/null
@@ -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 (file)
index 0000000..9ee61c5
--- /dev/null
@@ -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 */
+
index 136564678f483a9d3e90ef6e28a0458f2a3f6109..af20eca67fdef9f9207ccd60f5cb63f4030cef55 100644 (file)
@@ -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();
index 06398251808aa95493e484b6e4f8894c53ad8f37..4afe8c9d8df06a5a4a0c63f91358d723d4aef5d3 100644 (file)
 #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
index 0943b21e7e873b844409524fecf9f1d859e9b21a..cc26384fec9dc3fe17e217f9e76e171d9d973f87 100644 (file)
@@ -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 (file)
index 0000000..a435703
--- /dev/null
@@ -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 (file)
index 0000000..6afbd76
--- /dev/null
@@ -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);
index c3531e596b8d6e2aa25de6f4245cdc5fbe198090..4745a44191d606aee2fdf2f42b8984e1e03cee87 100644 (file)
@@ -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 (file)
index 0000000..5780eaf
--- /dev/null
@@ -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);
index 1827c046393de0e10719120ea9078ec6b8d16928..2e045df7bef556ed5591f2418d0aa304b586cc48 100644 (file)
@@ -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])
index 8af2412f66d84a28b044274ee8126146b0929541..b5c3c5c04475522da04136f73199ba067f5a6f0b 100644 (file)
@@ -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_) 
index 81ac087765c55334b634fe70d4f5fcf6a8335d9d..a13e1195bebfc22e9112de595965b5e26825a0e0 100644 (file)
@@ -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. "));
index 1850c66ab948d634cf4eb3af9f33c6051de46e76..ea05d68fcd968645c6350cdb6f57647ab7bb3f60 100644 (file)
@@ -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()) 
index a73c27df42de1ed3eedd4926d12607d3022eeca6..a371dc019d312527a0ccf65250ea5acfeedeeb57 100644 (file)
@@ -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;
 }
 
index 6f4d282330b0feaf2d826b6e4d8e88fca2b47be2..9159266123163f93e718a66a957efeb5efff76b2 100644 (file)
@@ -5,6 +5,7 @@
 
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
+
 #include "span-score-bar.hh"
 #include "span-score-bar-grav.hh"
 
index 5ad94b760dfda30d4786361497294f0f3f770d42..52b3e15333a859d5448f111dfef283400b0eb0f5 100644 (file)
 
 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);
 
   
index fc4fa61d5e289c0625a4663c4a6609c9989f4220..39bdc9fa48d894a1b848a9e3e80bbc95d23022b1 100644 (file)
@@ -16,7 +16,7 @@ depth = ..
 # identify module:
 #
 NAME = make
-SUBDIRS = debian
+SUBDIRS = 
 
 # list of distribution files:
 
index 5de434c16186931b906f3e3307f8d8107b3c2187..769b19fda0bfd122744370ff6cebb20d1d261799 100644 (file)
@@ -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/Makefile b/make/debian/Makefile
deleted file mode 100644 (file)
index a09a412..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-depth = ../..
-
-NAME= debian
-
-# generic variables:
-#
-include ./$(depth)/make/Variables.make
-include ./$(depth)/make/Files.make 
-#
-
-# generic targets and rules:
-#
-include ./$(depth)/make/Targets.make
-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
diff --git a/make/debian/README.debian.ex b/make/debian/README.debian.ex
deleted file mode 100644 (file)
index 99296fb..0000000
+++ /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 (file)
index c8fea56..0000000
+++ /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 (file)
index 33aa250..0000000
+++ /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 (file)
index 244cda9..0000000
+++ /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 (file)
index 2a3cf99..0000000
+++ /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 (file)
index aebbbe5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<FILE> <Diverted to> <Packagename>
diff --git a/make/debian/docs b/make/debian/docs
deleted file mode 100644 (file)
index 191b9f8..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Documentation/out/*.text
-Documentation/*.doc
-Documentation/lelie_logo.gif
diff --git a/make/debian/examples b/make/debian/examples
deleted file mode 100644 (file)
index 3be67ec..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-input/*.ly
-input/*.tex
diff --git a/make/debian/info.ex b/make/debian/info.ex
deleted file mode 100644 (file)
index 5a311f0..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# This is a configuration files for installing a .info menu
-# The Description to be placed into the directory
-DESCR="Description"
-
-# The section this info file should be placed in (Regexp) followed by
-# the new section name to be created if the Regexp does not match
-# (Optional. If not given the .info will be appended to the directory)
-#SECTION_MATCH="Regexp"
-#SECTION_NAME="New Section Name"
-
-# The file referred to from the Info directory
-FILE=lilypond.info
-
-# Optional. The files to be copied to /usr/info
-#FILES=*.info
diff --git a/make/debian/menu.ex b/make/debian/menu.ex
deleted file mode 100644 (file)
index 179992f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-text Apps/Misc lilypond none "lilypond Description" /usr/bin/lilypond
diff --git a/make/debian/postinst b/make/debian/postinst
deleted file mode 100644 (file)
index 8647e7a..0000000
+++ /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 (file)
index cca5631..0000000
+++ /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 (file)
index da43f3b..0000000
+++ /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/debian/watch b/make/debian/watch
deleted file mode 100644 (file)
index 1a1bb28..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# Example watch control file for uscan
-# Rename this file to "watch" and then you can run the "uscan" command
-# to check for upstream updates and more.
-# Site                 Directory       Pattern                 Version Script
-pcnov095.win.tue.nl    /pub/lilypond/development       lilypond-*.tar.gz       debian  uupdate
index 4ca6b9c40cad6b0c3be52ff55dc1a0a8f8fc4988..76ce89a784b15bf6b9839d3bbd97404721c0ea21 100644 (file)
@@ -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
index 28812b00e6d89eb7359fcc8644d65a8398026c9c..d46f62129edf74700e52d9336594aa455b108c5a 100644 (file)
@@ -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
index 343da659ed5c27584eb5f469bd40ec16582a18ed..d95261c1f782ff355c5c3ae83641104cbb6b1d0a 100644 (file)
@@ -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 a7ee33cb2c2e60596dbff41020acc04cea1d10dc..8269df3241c26cf4c24e22094c016be4cf21313d 100644 (file)
--- 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.
index dd8abe5e91974ee35b5244693046ed6fbc37f82f..2ca5f67502eeb50504d2d0fca539f321b5fc3401 100644 (file)
@@ -28,6 +28,6 @@ else:
 %      input feta-bolletjes;   
 %      input feta-banier;
 %      input feta-eindelijk;
-       input feta-klef;
-
+%      input feta-klef;
+       input feta-toevallig;
 fi
index e9b285d7e50cada6fdbb20a9f6dc51027fb2b39e..56903d7f8ecd7b2bcd6b2f449f725e9ecc60e64b 100644 (file)
@@ -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");
index 7675befaee385232bb0c72745d03c5601052b717..70812b44a6df28885f66903ecefa3c851ae9efea 100644 (file)
@@ -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");
index a3cddb3fa0e6a1901701e77a527f95af77cf0998..7da404d0c7a1d5e863c552246f3770540229da1c 100644 (file)
@@ -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);
        
index 647a595db1e8f4e9f2b74e176ef12762b5910be2..73b231d168d76d9ead8f59ea1d60670d09c7cec7 100644 (file)
@@ -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 (file)
index 777cda5..0000000
+++ /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 (file)
index 00dad23..0000000
+++ /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}
-
index d7b9be267a05d9d91858583a9ce291730979aca1..292022e096a17c4bd397b311d31de8b029b3d20c 100644 (file)
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \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}}}