]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.18 release/0.1.18
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 29 Sep 1997 10:55:05 +0000 (12:55 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 29 Sep 1997 10:55:05 +0000 (12:55 +0200)
49 files changed:
AUTHORS.text
Documentation/INSTALL.pod
INSTALL.text
NEWS
VERSION
bin/Makefile
bin/clean-fonts
bin/make-website.in
bin/mf-deps.py [new file with mode: 0644]
init/dyn10.ly
init/font-en-tja16.ly
init/font-en-tja20.ly
init/symbol.ly
init/table16.ly
init/table20.ly
init/vette-beams16.ly [new file with mode: 0644]
init/vette-beams20.ly [new file with mode: 0644]
input/font.ly
lily/Stable.make
lily/VERSION
lily/atom.cc
lily/boxes.cc
lily/include/atom.hh
lily/include/boxes.hh
lily/tex-beam.cc
lily/tex-slur.cc
make/lilypond.lsm
make/lilypond.spec
mf/Makefile
mf/TODO
mf/bolletjes.mf
mf/dimen.tex
mf/eindelijk.mf
mf/font-en-tja16.mf
mf/font-en-tja20.mf
mf/generic-params.mf [new file with mode: 0644]
mf/generic-tja.mf [new file with mode: 0644]
mf/toevallig.mf [new file with mode: 0644]
mf/vette-beams16.mf [new file with mode: 0644]
mf/vette-beams20.mf [new file with mode: 0644]
mf/wat-zie-ik.mf
tex/dyn10.tex
tex/fetdefs.tex
tex/font-en-tja16.tex
tex/font-en-tja20.tex
tex/lilyponddefs.tex
tex/taupindefs.tex
tex/vette-beams16.tex [new file with mode: 0644]
tex/vette-beams20.tex [new file with mode: 0644]

index c37d5dfba176b3d7af2873ade5d35e616aa682f5..3cf19e8c5933b084274a8d1094051177c37038df 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
 
 
 
-23/Sep/97                LilyPond 0.1.17                        1
+23/Sep/97                LilyPond 0.1.18                        1
 
 
index ae5da8da87f01b35b79bf8d5bab540c4871f62a6..d15fbc73324864e9aa0138f419bf88cc9c549fd1 100644 (file)
@@ -100,6 +100,11 @@ with the perl's Plain Old Documentation. (I use 5.003)
 
 =item *
 
+Python.  Although perl is nice, python is better.  We will shift
+towards python for build scripts
+
+=item *
+
 GNU find
 
 =item *
index 88723a48bb7221605b8ec6ae3f81d9ed0c3ed642..7861a349c02c5b655c087689098bdfe68d3212b2 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
 
 
 
-8/Aug/97                 LilyPond 0.1.14                        1
+26/Sep/97                LilyPond 0.1.18                        1
 
 
 
@@ -93,6 +93,10 @@ R\bR\bR\bRE\bE\bE\bEC\bC\bC\bCO\bO\bO\bOM\bM\bM\bMM\bM\bM\bME\bE\bE\bEN\bN\bN\bND\bD\bD\bDE\bE\bE\bED\bD\bD\bD
                  documentation was created with the perl's Plain
                  Old Documentation. (I use 5.003)
 
+       +\bo         Python.  Although perl is nice, python is
+                 better.  We will shift towards python for build
+                 scripts
+
        +\bo         GNU find
 
        +\bo         A fast computer (a full page of music typically
@@ -120,14 +124,10 @@ 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
 
        The TeX include directory is detected dynamically, but it
        can be adjusted with -\b-\b-\b--\b-\b-\b-e\be\be\ben\bn\bn\bna\ba\ba\bab\bb\bb\bbl\bl\bl\ble\be\be\be-\b-\b-\b-t\bt\bt\bte\be\be\bex\bx\bx\bx-\b-\b-\b-p\bp\bp\bpr\br\br\bre\be\be\bef\bf\bf\bfi\bi\bi\bix\bx\bx\bx and -\b-\b-\b--\b-\b-\b-e\be\be\ben\bn\bn\bna\ba\ba\bab\bb\bb\bbl\bl\bl\ble\be\be\be-\b-\b-\b-t\bt\bt\bte\be\be\bex\bx\bx\bx-\b-\b-\b-
-       d\bd\bd\bdi\bi\bi\bir\br\br\br. The above assumes that you are root and have the GNU
-       development tools, and your make is GNU make.  If this is
-       not the case, you can adjust your environment variables to
-       your taste:
 
 
 
-8/Aug/97                 LilyPond 0.1.14                        2
+26/Sep/97                LilyPond 0.1.18                        2
 
 
 
@@ -136,6 +136,11 @@ 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
 INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
+       d\bd\bd\bdi\bi\bi\bir\br\br\br. The above assumes that you are root and have the GNU
+       development tools, and your make is GNU make.  If this is
+       not the case, you can adjust your environment variables to
+       your taste:
+
                export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR"
                configure
 
@@ -185,15 +190,10 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
                 Set then directory TeX input is in (detected as a
                 subdir of tex-prefix)
 
-       --enable-mf-dir
-                Set the directory mf input is in (idem)
-                [obsolete]
-
-
 
 
 
-8/Aug/97                 LilyPond 0.1.14                        3
+26/Sep/97                LilyPond 0.1.18                        3
 
 
 
@@ -202,6 +202,10 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
+       --enable-mf-dir
+                Set the directory mf input is in (idem)
+                [obsolete]
+
        --enable-out-dir
                 Set the directory for machine generated output.
 
@@ -252,14 +256,10 @@ 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
 
                make install
 
-       should do the trick.
 
-       Install the musixtex fonts in a directory which TeX and MF
-       knows (if you are root, look for a directory which
 
 
-
-8/Aug/97                 LilyPond 0.1.14                        4
+26/Sep/97                LilyPond 0.1.18                        4
 
 
 
@@ -268,6 +268,10 @@ 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
 INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
+       should do the trick.
+
+       Install the musixtex fonts in a directory which TeX and MF
+       knows (if you are root, look for a directory which
        contains the directories with AMS and CM source (*.mf)
        files. Create a subdir lilypond or musixtex and copy the
        fonts into that). Do not forget to rehash TeX (if
@@ -318,14 +322,10 @@ 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
        file is in _\bm_\ba_\bk_\be_\b/_\bo_\bu_\bt_\b/_\bl_\bi_\bl_\by_\bp_\bo_\bn_\bd_\b._\bs_\bp_\be_\bc. You should be able to
        create an rpm as a normal user. Be sure you have a
        ~/.rpmrc, and edit the RPM-dir in _\bV_\ba_\br_\bi_\ba_\bb_\bl_\be_\bs_\b._\bm_\ba_\bk_\be. (If you
-       create the RPM as a normal user the permissions will not
-       be set correctly, unfortunately)
-
-
 
 
 
-8/Aug/97                 LilyPond 0.1.14                        5
+26/Sep/97                LilyPond 0.1.18                        5
 
 
 
@@ -334,6 +334,9 @@ 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
 INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
+       create the RPM as a normal user the permissions will not
+       be set correctly, unfortunately)
+
 D\bD\bD\bDE\bE\bE\bEB\bB\bB\bBI\bI\bI\bIA\bA\bA\bAN\bN\bN\bN G\bG\bG\bGN\bN\bN\bNU\bU\bU\bU/\b/\b/\b/L\bL\bL\bLI\bI\bI\bIN\bN\bN\bNU\bU\bU\bUX\bX\bX\bX
        A Debian package is in the works
 
@@ -388,9 +391,6 @@ A\bA\bA\bAU\bU\bU\bUT\bT\bT\bTH\bH\bH\bHO\bO\bO\bOR\bR\bR\bRS\bS\bS\bS
 
 
 
-
-
-
-8/Aug/97                 LilyPond 0.1.14                        6
+26/Sep/97                LilyPond 0.1.18                        6
 
 
diff --git a/NEWS b/NEWS
index de36da862a48d3e15c1172bf62fbda8e1b51a3e5..72917102fb8e2eb14691861f299d9f6f85446c24 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,23 +1,30 @@
-pl 17.jcn2
+
+pl 18
+       - bf: Box[X_AXIS] = b
+       - sharp sign, natural sign
+       - linethickness parametric
+       - bin/mf-deps.py script
+       - split into size/generic mf-files
+       - moved beams out of font-en-tja into vette-beams.  
+       - Made corresponding .cc changes.
+       
+
+jcn patches
        - egcs compile (no link yet)
        - nicer 4rest
        - beam font (je kunt wel tegen een grapje, eva?)
        - mf-to-table: 
          * "breapth" (x-depth) feature
          * handle generic stuff such as beams
-
-pl 17.jcn1
-       - all of the above
-
-pl 16.jcn3
        - polished noteheads
        - fixed 8-128 rests
        - 4rest
        - mf-to-table generates tex defs
        - bf:mf-to-table and conflily outname check
-
-pl 16.jcn2
        - 8-128 rests
+
+******
+sep 24
  
 pl 17
        - bf: ledgerline width
diff --git a/VERSION b/VERSION
index dc2827164c2b78363e9c60f053096fac39a94d52..f1fb7e7cf2c8a49550df8cd6032ac215529b0801 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 17
+TOPLEVEL_PATCH_LEVEL = 18
+TOPLEVEL_MY_PATCH_LEVEL = 
 
-# use to send patches, always empty for released version:
-TOPLEVEL_MY_PATCH_LEVEL = .jcn2
+# use the above to send patches, always empty for released version:
index 87c5cb3bcc2e696b1e908c5db93bf7adf87693ca..8f5410eec0e64e4d31a4017b3666f1f9a8a76ebf 100644 (file)
@@ -5,7 +5,7 @@ include $(depth)/make/Include.make
 
 # list of distribution files:
 SCRIPTS = clearlily cpgento make-patch lily.efence \
-       make-version release conflily clean-fonts
+       make-version release conflily clean-fonts mf-deps.py
 PERL_SCRIPTS_IN = $(wildcard *.in)
 PERL_SCRIPTS = $(addprefix $(outdir)/, $(PERL_SCRIPTS_IN:.in=))
 EXTRA_DISTFILES = $(SCRIPTS) $(PERL_SCRIPTS_IN)
index ae6558666284fdac610c4a0c396c9bc9d1bef393..8494ff68a500891f8bbf814fcba12e596211680a 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/sh
 
 # remove possibly stale .pk/.tfm files 
-
-rm  `locate font-en-tja| egrep '.*pk$|.*tfm$'`
+echo> /tmp/cleaning-font
+FILES=`find /var/lib/texmf/ -name 'font-en-tja*'` # -or -name 'vette-beam*'`
+echo removing $FILES
+rm  $FILES /tmp/cleaning-font
index 6c65e645ddd81558531658c341a3885975cb1533..37d318957ddf36bf96ebf0e1f348507e944e2a6e 100644 (file)
@@ -44,7 +44,9 @@ sub set_html_footer
     my $username=$pw[6];
 
     $footstr = 
-       "\n<hr>Please take me <a href=index.html>back to the LilyPond index</a>\n<hr>
+       "\n<hr>Please take me <a href=index.html>back to the index</a>\n
+of LilyPond -- The GNU Project Music typesetter
+<hr>
 <font size=-1>
 This page was built using <code>" . $id_str . "</code> from lilypond-"
     . $lily_version . 
diff --git a/bin/mf-deps.py b/bin/mf-deps.py
new file mode 100644 (file)
index 0000000..d0784ab
--- /dev/null
@@ -0,0 +1,72 @@
+#!@PYTHON@
+
+"""look into metafont source for dependencies.
+
+ fixme: python path
+ fixme: error reporting
+ fixem: why doesn't python have closures..
+
+"""
+
+from regex import * ;
+from regsub import * ;
+import sys;
+import os;
+
+input_re = compile('^ *input *\([^;]+\);')
+postfixes = ['log', 'dvi', '2602gf', 'tfm']
+
+
+def print_one(x):
+    print x
+
+def line_concat(x,y):
+    return x + '\n' +  y
+
+class Targetdeps:
+    """Dependencies for one toplevel sourcefile
+
+    """
+    
+    def __init__(self,nm):
+       split = os.path.splitext(nm)    
+       self.basename=split[0];
+       self.depfiles = []
+       self.checkdep(nm)
+       
+    def checkdep(self, name):
+       split = os.path.splitext(name)
+       name = split[0] + '.mf';
+
+       if name not in self.depfiles:
+           self.get_filedeps(name)
+
+    def get_filedeps(self,filename):
+#      print sys.stderr.write( 'checking ' + filename + '\n');
+       try:
+           file = open(filename)
+       except IOError:
+#          print sys.stderr.write( 'can\'t open ' + filename + '\n')
+           return
+
+       self.depfiles.append(filename)
+_      lines = file.readlines()
+       file.close()
+       for line in lines:
+           if input_re.match ( line) <> -1:
+               self.checkdep( input_re.group(1))
+
+    def target_string(self):
+       targets =  map (lambda x,y = self.basename: 'out/' + y + '.' + x, postfixes)
+       depstring = reduce(lambda x,y: x + ' ' + y, self.depfiles) 
+       dependencies = map (lambda x, y=depstring: x + ': ' + y, targets)
+
+       return reduce(line_concat, dependencies)
+
+
+
+for file in sys.argv[1:]:
+    t = Targetdeps(file)
+    print t.target_string()
+
+
index 80a224c5c00e92fe6d201784f34f12a536a3460c..a5cc969220eb7eda79470a96e03ed4b108c1a430 100644 (file)
@@ -1,4 +1,4 @@
-% generated at Fri Sep 26 09:25:28 1997 from out/dyn10.log
+% generated at Fri Sep 26 14:26:49 1997 from out/dyn10.log
 % changes will be lost
 
 % dyn=\symboltables {
index f060334fd9cfddfdb634ae2361ae75788ad4160c..bed24e7c2d51f10973d0406c51f08845a0bba57a 100644 (file)
@@ -1,4 +1,4 @@
-% generated at Fri Sep 26 09:25:30 1997 from out/font-en-tja16.log
+% generated at Mon Sep 29 11:32:20 1997 from out/font-en-tja16.log
 % changes will be lost
 
 % font-en-tja=\symboltables {
@@ -17,9 +17,8 @@
                "-2"    "\sixtyfourthrest"      -0.00\pt        5.33\pt 19.47\pt        -0.00\pt
                "-2"    "\hundredtwentyeighthrest"      -0.00\pt        5.33\pt 23.47\pt        -0.00\pt
                }
-       "beamslopes" = \table {
-               "uslope"        "\beamuslope{%}{%}"     2.00\pt 32.00\pt        0.00\pt -0.00\pt
-               "dslope"        "\beamdslope{%}{%}"     2.00\pt 32.00\pt        0.00\pt -0.00\pt
-               "horizontal"    "\rulesym{%}{%}"        -0.00\pt        0.00\pt 0.00\pt -0.00\pt
+       "foobars" = \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
                }
        %  } % font-en-tja
index b9a1c2f3142a9d039a5a4ecf4d1ec4cd04b2dbb0..69b2154982b57a563b24b78f3f9837ae3bfbd969 100644 (file)
@@ -1,25 +1,24 @@
-% generated at Fri Sep 26 09:25:32 1997 from out/font-en-tja20.log
+% generated at Mon Sep 29 11:32:24 1997 from out/font-en-tja20.log
 % changes will be lost
 
 % font-en-tja=\symboltables {
        "balls" = \table {
-               "0"     "\wholeball"    -0.00\pt        10.08\pt        5.60\pt -0.00\pt
-               "1"     "\halfball"     -0.00\pt        7.01\pt 5.60\pt -0.00\pt
-               "2"     "\quartball"    -0.00\pt        6.73\pt 5.60\pt -0.00\pt
+               "0"     "\wholeball"    -0.00\pt        10.35\pt        5.75\pt -0.00\pt
+               "1"     "\halfball"     -0.00\pt        7.20\pt 5.75\pt -0.00\pt
+               "2"     "\quartball"    -0.00\pt        6.91\pt 5.75\pt -0.00\pt
                "-1"    "\breveball"    -0.00\pt        10.00\pt        5.00\pt -0.00\pt
                "-2"    "\longaball"    -0.00\pt        10.00\pt        5.00\pt -0.00\pt
                }
        "almostrests" = \table {
                "4"     "\quartrest"    -0.00\pt        5.00\pt 20.00\pt        -0.00\pt
-               "-2"    "\eighthrest"   -0.00\pt        6.67\pt 9.13\pt -0.00\pt
-               "-2"    "\sixteenthrest"        -0.00\pt        6.67\pt 14.13\pt        -0.00\pt
-               "-2"    "\thirtysecondrest"     -0.00\pt        6.67\pt 19.13\pt        -0.00\pt
-               "-2"    "\sixtyfourthrest"      -0.00\pt        6.67\pt 24.13\pt        -0.00\pt
-               "-2"    "\hundredtwentyeighthrest"      -0.00\pt        6.67\pt 29.13\pt        -0.00\pt
+               "-2"    "\eighthrest"   -0.00\pt        6.67\pt 9.33\pt -0.00\pt
+               "-2"    "\sixteenthrest"        -0.00\pt        6.67\pt 14.33\pt        -0.00\pt
+               "-2"    "\thirtysecondrest"     -0.00\pt        6.67\pt 19.33\pt        -0.00\pt
+               "-2"    "\sixtyfourthrest"      -0.00\pt        6.67\pt 24.33\pt        -0.00\pt
+               "-2"    "\hundredtwentyeighthrest"      -0.00\pt        6.67\pt 29.33\pt        -0.00\pt
                }
-       "beamslopes" = \table {
-               "uslope"        "\beamuslope{%}{%}"     2.00\pt 32.00\pt        0.00\pt -0.00\pt
-               "dslope"        "\beamdslope{%}{%}"     2.00\pt 32.00\pt        0.00\pt -0.00\pt
-               "horizontal"    "\rulesym{%}{%}"        -0.00\pt        0.00\pt 0.00\pt -0.00\pt
+       "foobars" = \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
                }
        %  } % font-en-tja
index 115b6dbb14a697e26eba810a5d3a008632486f10..3efcaa9b0befedc363c5c9a11467e2894a8aa505 100644 (file)
@@ -1,4 +1,6 @@
 % symbol.ly
+%
+% FIXME other name
   
 \version "0.1.6";
   
index 46ff184838e32ec38576b0ff5452c378128f9214..2be017c49f87d76c86d613118b3cd49470867e5f 100644 (file)
@@ -75,9 +75,6 @@ table_sixteen=
        "tenor_change"  "\caltoclef"    0.0\pt  11.2\pt 0.0\pt  16.0\pt
      }
 
-     % ugh what's our outdir called?
-     \include "font-en-tja16.ly"
-
      "slur" = \table {
        "whole" "\slurchar%{%}"
        "half"  "\hslurchar%{%}"
@@ -86,8 +83,8 @@ table_sixteen=
      "accidentals" = \table {
        "-2"    "\flatflat"     0.0\pt  8.16\pt -2.5\pt 7.5\pt
        "-1"    "\flat"         0.0\pt  4.8\pt  -2.5\pt 7.5\pt
-       "0"     "\natural"      0.0\pt  4.8\pt  -7.5\pt 7.5\pt
-       "1"     "\sharp"        0.0\pt  3.6\pt  -7.5\pt 7.5\pt
+       "0"     "\natural"      0.0\pt  4.0\pt  -6.\pt 6.\pt
+       "1"     "\sharp"        0.0\pt  4.4\pt  -6.\pt 6.\pt
        "2"     "\sharpsharp"   0.0\pt  4.8\pt  -2.5\pt 7.5\pt
      }
 
@@ -165,11 +162,13 @@ table_sixteen=
        "d7"    "\dhundredtwentyeighthflag"     0.0\pt  4.0\pt  0.0\pt  0.0\pt
      }
 
-     "oldbeamslopes" = \table {
-       "uslope"        "\beamuslope{%}{%}"  2.0\pt 64.0\pt 0.0\pt 0.0\pt
-       "dslope"        "\beamdslope{%}{%}"  2.0\pt 64.0\pt 0.0\pt 0.0\pt
+     "beamslopes" = \table {
+       "slope"         "\beamslope{%}{%}"  2.0\pt 64.0\pt 0.0\pt 0.0\pt        
        "horizontal"    "\rulesym{%}{%}"        
      }
+     % ugh what's our outdir called?
+     \include "font-en-tja16.ly"
+
 
 }
 
index 2d276a6af4c0509e300910bcbba5dd838aee98d9..b39f16334abe4541f778ac5fefdffa5b964d2912 100644 (file)
@@ -11,7 +11,6 @@ table_twenty =
 
     % index TeXstring,         xmin xmax ymin ymax
 
-    % not yet updated
     "scripts" = \table {
        "fermata" "\fermata"            0.0\pt 0.0\pt   0.0\pt 6.0\pt
        "-fermata" "\ifermata"          0.0\pt 0.0\pt   -6.0\pt 0.0\pt
@@ -78,8 +77,6 @@ table_twenty =
        "tenor_change"  "\caltoclef"    0.0\pt  16.0\pt 0.0\pt  20.0\pt
     }
 
-    % ugh what's our outdir called?
-    \include "font-en-tja20.ly"
 
     "slur" = \table {
        "whole" "\slurchar%{%}" 0.0\pt  0.0\pt  0.0\pt  0.0\pt
@@ -165,10 +162,12 @@ table_twenty =
        "d7"    "\dhundredtwentyeighthflag"     0.0\pt  5.0\pt  0.0\pt  0.0\pt
      }
 
-    "oldbeamslopes" = \table {
-       "uslope"        "\beamuslope{%}{%}"  2.0\pt 64.0\pt 0.0\pt 0.0\pt
-       "dslope"        "\beamdslope{%}{%}"  2.0\pt 64.0\pt 0.0\pt 0.0\pt
+  "beamslopes" = \table {
+       "slope"         "\beamslope{%}{%}"  2.0\pt 64.0\pt 0.0\pt 0.0\pt        
        "horizontal"    "\rulesym{%}{%}"        
-    }
+     }
+     
+    % ugh what's our outdir called?
+    \include "font-en-tja20.ly"
 }
 
diff --git a/init/vette-beams16.ly b/init/vette-beams16.ly
new file mode 100644 (file)
index 0000000..55fc848
--- /dev/null
@@ -0,0 +1,3 @@
+% generated at Fri Sep 26 15:26:29 1997 from out/vette-beams16.log
+% changes will be lost
+
diff --git a/init/vette-beams20.ly b/init/vette-beams20.ly
new file mode 100644 (file)
index 0000000..438f27e
--- /dev/null
@@ -0,0 +1,3 @@
+% generated at Fri Sep 26 15:26:46 1997 from out/vette-beams20.log
+% changes will be lost
+
index 738871d15fec106ff4f49291843b19757e72619a..4f659db61e461b6cf7c65cd1d3a415b91dd689a8 100644 (file)
@@ -20,7 +20,8 @@ TestedFeatures        font-en-tja
                [c8 c] [a' a']
 %              [c a'] [a' c]
                [c d e f] [a' g' f' e']
-               r1 r2 r4 r8 r16 r32 r64 r128
+               [cis' dis' c' d'] [cisis' disis' ceses' deses']
+                 r1 r2 r4 r8 r16 r32 r64 r128
        }
        \paper{ 
            \paper_twenty
index 079e634ce38211e616931c2e66def5d6b2019fbe..9214c7fb0b9013ef444c1ebfa804c96a4a5051b6 100644 (file)
@@ -1,7 +1,7 @@
-# kept in dist bo stripping stable stuff, still to copy...
 
-# a bit of a hack to keep exec size under control.
-stablecc=atom.cc  offset.cc meter.cc boxes.cc \
+
+# a hack to keep exec size under control.
+stablecc=  offset.cc meter.cc boxes.cc \
        keyword.cc leastsquares.cc \
        lookup.cc meter.cc\
        parser.cc notename-table.cc lexer.cc\
index c905573ecc87a233a73a08e2e10815e6bb17e5d4..783f85e04920698da40ca9c3dce199a545f1fce1 100644 (file)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 17
+PATCH_LEVEL = 18
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
index 0f1f2052891710a10d25883ab588aa3e53a12580..423181603dc1c5141de2c1473581019a5d25c082 100644 (file)
@@ -57,7 +57,7 @@ Atom::TeX_string() const
   Offset off = off_;
 
   /* infinity checks. */
-  for (int a =X_AXIS; a < NO_AXES; a++)
+  for (int a = X_AXIS; a < NO_AXES; a++)
     {
       Axis ax = (Axis)a;
       if (abs (off[ax]) >= 100 CM)
@@ -75,3 +75,15 @@ Atom::TeX_string() const
   s += tex_str + "}";
   return s;
 }
+
+void
+Atom::translate (Real r, Axis a)
+{
+  off_[a] += r; 
+}
+
+void
+Atom::translate (Offset o)
+{
+  off_ += o;
+}
index 1bf7177336a380ca81c506c0f645fabe56d59860..28fdeade839e61ce7147d12e7feee082b970972b 100644 (file)
@@ -9,9 +9,23 @@
 #include "boxes.hh"
 #include "varray.hh"
 
+void
+Box::translate (Offset o)
+{
+  x().translate (o.x ());
+  y().translate (o.y ());
+}
+
+void
+Box::unite (Box b)
+{
+  x().unite (b.x ());
+  y().unite (b.y ());
+}
 
 Box::Box()
 {        
+
 }
 
 Box::Box (Interval ix, Interval iy)
@@ -20,3 +34,14 @@ Box::Box (Interval ix, Interval iy)
   y() = iy;
 }
 
+Interval &
+Box::operator[] (Axis a)
+{
+  return interval_a_[a];
+}
+
+Interval
+Box::operator[] (Axis a)const
+{
+  return interval_a_[a];
+}
index d25942c33643bc08039dfb6f0c48d71ccfc0d78c..66c4a6cbba908f886575b9675c50141b2d334292 100644 (file)
@@ -22,13 +22,9 @@ struct Atom {
 
   String str() const;          // for printing.
   Atom (String, Box);
-    Atom ();
-  void translate (Offset o) {
-    off_ += o;
-  }
-  void translate (Real r,Axis a){
-    off_[a] += r;
-  }
+  Atom ();
+  void translate (Offset o);
+  void translate (Real r,Axis a);
   /// how big is #this#?
   Box extent() const;
   void print() const;
index 45490033bd4bd303a96d35220fcafb6b7709bc3c..0e5addc8af3bda199b8f94c436178c9a7d410777 100644 (file)
 #include "axes.hh"
 
 struct Box {
-    Interval interval_a_[NO_AXES];
+  Interval interval_a_[NO_AXES];
     
-    Interval &x() {return interval_a_[X_AXIS]; }
-    Interval &y(){ return interval_a_[Y_AXIS]; }
-    Interval x() const{ return interval_a_[X_AXIS]; }
-    Interval y() const{return interval_a_[Y_AXIS]; }
-    Interval operator[](Axis a) {
-       return interval_a_[a];
-    }
+  Interval &x() {return interval_a_[X_AXIS]; }
+  Interval &y(){ return interval_a_[Y_AXIS]; }
+  Interval x() const{ return interval_a_[X_AXIS]; }
+  Interval y() const{return interval_a_[Y_AXIS]; }
+  Interval operator[](Axis a) const;
+  Interval &operator[] (Axis a);
     
-    void translate (Offset o) {
-       x().translate (o.x ());
-       y().translate (o.y ());
-    }
-
-    /// smallest box enclosing #b#
-    void unite (Box b) {
-       x().unite (b.x ());
-       y().unite (b.y ());
-    }
-    Box();
-    Box (Interval ix, Interval iy);
+  void translate (Offset o);
+  /// smallest box enclosing #b#
+  void unite (Box b);
+  Box();
+  Box (Interval ix, Interval iy);
 };
 
 
index 193e6d4e6f42f8089053191ecc4110e109139abf..c5b356a604b95e172370a53df1e938cd53b63abf 100644 (file)
@@ -23,8 +23,7 @@
 Atom
 Lookup::beam_element (int sidx, int widx, Real slope) const
 {
-  char dir_char = slope >0 ? 'u' : 'd';
-  String name = dir_char + String("slope");
+  String name = String("slope");
   Atom bs=(*symtables_)("beamslopes")->lookup (name);
   
   Array<String> args;
@@ -38,24 +37,6 @@ Lookup::beam_element (int sidx, int widx, Real slope) const
   return bs;
 }
 
-// ugh.. hard wired tex-code.
-static int
-slope_index (Real &s)
-{
-  if (abs (s) > 0.5)
-    {
-      WARN << "beam steeper than 0.5 (" << s << ")\n";
-      s = sign (s) * 0.5;
-    }
-
-  int i = int (rint (s *  20.0));
-
-  s = i/20.0;
-  if (s>0)
-    return 6*i;
-  else
-    return -6 * i;
-}
 
 Atom
 Lookup::rule_symbol (Real height, Real width) const
@@ -73,24 +54,32 @@ Lookup::rule_symbol (Real height, Real width) const
 Atom
 Lookup::beam (Real &slope, Real width) const
 {        
-  int sidx = slope_index (slope);
-  if (!slope)
-    return rule_symbol (2 PT, width);
+  int sidx = 0;
+  if (abs (slope) > 1.0)
+    {
+      WARN << "beam steeper than 1.0 (" << slope << ")\n";
+      slope = sign (slope);
+    }
 
-  Interval xdims = (*symtables_)("beamslopes")->lookup ("uslope").dim_[X_AXIS];
+  sidx = int (rint (slope *  20.0));
+  slope = sidx / 20.0;
+  
+  Interval xdims = (*symtables_)("beamslopes")->lookup ("slope").dim_[X_AXIS];
   Real min_wid = xdims[LEFT];
   Real max_wid = xdims[RIGHT];
-
+  assert(max_wid > 0);
+  int widths = intlog2 (int (max_wid/min_wid)) + 1;
+  
   if (width < min_wid) 
     {
       WARN<<"Beam too narrow. (" << print_dimen (width) <<")\n";
       width = min_wid;
     }
+  
   Real elemwidth = max_wid;
-  int widx = intlog2 (int (max_wid/min_wid));
-
-  Molecule m;
   
+  int widx  =widths - 1;
+  Molecule m;
   while (elemwidth > width) 
     {
       widx --;
@@ -99,7 +88,7 @@ Lookup::beam (Real &slope, Real width) const
   Real overlap = elemwidth/4;
   Real last_x = width - elemwidth;
   Real x = overlap;
-  Atom elem (beam_element (sidx, widx, slope));
+  Atom elem (beam_element (sidx * widths, widx, slope));
   m.add (elem);
   while (x < last_x) 
     {
index 664460f8b9c542e4942071d24f8605273d559386..58783600f581f5cdf311904d9f33a833cb2a128e 100644 (file)
@@ -55,8 +55,8 @@ Lookup::half_slur_middlepart (Real &dx, Direction dir) const
 
   Atom s;
   
-  s.dim_.y() = Interval (min (0,0), max (0,0)); // todo
-  s.dim_.x() = Interval (0,dx);
+  s.dim_[Y_AXIS] = Interval (min (0, 0), max (0, 0)); // todo
+  s.dim_[X_AXIS] = Interval (-dx/2, dx/2);
 
   String f =  String ("\\hslurchar");
   f += direction_char (CENTER);
@@ -74,6 +74,11 @@ Lookup::half_slur_middlepart (Real &dx, Direction dir) const
   return s;
 }
 
+/*
+   The halfslurs have their center at the end pointing away from the notehead.  
+   This lookup translates so that width() == [0, w]
+ */
+
 Atom
 Lookup::half_slur (int dy, Real &dx, Direction dir, int xpart) const
 {
@@ -99,8 +104,8 @@ Lookup::half_slur (int dy, Real &dx, Direction dir, int xpart) const
     }
        
   Atom s;
-  s.dim_.x() = Interval (0,dx);
-  s.dim_.y() = Interval (min (0,dy), max (0,dy));
+  s.dim_[X_AXIS] = Interval (0, dx);
+  s.dim_[Y_AXIS] = Interval (min (0, dy), max (0, dy));
 
 
   String f = String ("\\hslurchar");
@@ -171,17 +176,18 @@ Lookup::slur (int dy , Real &dx, Direction dir) const
     }
   
   Atom s;
-  s.dim_.x() = Interval (-dx/2,dx/2);
-  s.dim_.y() = Interval (min (0,dy), max (0,dy));
+  s.dim_[X_AXIS] = Interval (0, dx);
+  s.dim_[Y_AXIS] = Interval (min (0, dy), max (0, dy));
 
   String f = String ("\\slurchar") + String (direction_char (y_sign));
 
   int idx=-1;
-  if (y_sign) {        
-    idx = hidx * 16 + widx;
-    if (dir < 0)
-      idx += 128;
-  }
+  if (y_sign) 
+    {  
+      idx = hidx * 16 + widx;
+      if (dir < 0)
+       idx += 128;
+    }
   else 
     {
       if (dx >= 4*54 PT) 
@@ -222,17 +228,18 @@ Lookup::big_slur (int dy , Real &dx, Direction dir) const
   Real right_wid = left_wid;
 
   Atom l = half_slur (l_dy, left_wid, dir, -1);
+  
+   
   Atom r = half_slur (r_dy, right_wid, dir, 1);
   Real mid_wid = dx - left_wid - right_wid;
 
   Molecule mol;
   mol.add (l);
   Atom a (half_slur (0, mid_wid, dir, 0));
-  a.translate (slur_extra * internote_f, Y_AXIS);
   mol.add_at_edge (X_AXIS, RIGHT, a);
   mol.add_at_edge (X_AXIS, RIGHT, r);
+
   mol.translate (l_dy * internote_f, Y_AXIS);
-  
   Atom s;
   s.tex_ = mol.TeX_string();
   s.dim_ = mol.extent();
index 41a21342ba1badcb6ee88305e6196e1fa2875366..857917a619e599579ddb108eedf88e972cfb2141 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.17
-Entered-date: 24SEP97
+Version: 0.1.18
+Entered-date: 26SEP97
 Description:   LilyPond is the GNU Project music typesetter. This
                program converts music definition files into
                visual or auditive output: it can typeset formatted
@@ -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
-       395k lilypond-0.1.17.tar.gz 
+       395k lilypond-0.1.18.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.17.tar.gz 
+       395k lilypond-0.1.18.tar.gz 
 Copying-policy: GPL
 End
index b9415b39bd55a9aaca3da45145fc72d89a64cb46..9797e390d49c8f6400db17d0e9666d384aad48d6 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.17
+Version: 0.1.18
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.17.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.18.tar.gz
 Summary: A preprocessor to make TeX typeset music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
index 6e6446bcfeb75ba45a564e4ede37f68027a19880..26bc3f01df3f20ba50532cd0cc02e27778f1fe0c 100644 (file)
@@ -16,10 +16,12 @@ EXTRA_DISTFILES = $(MFFILES) $(TEXFILES) TODO
 #
 
 FONT_FILES = $(wildcard *[0-9].mf)
+FET_FILES = $(wildcard font-en-tja*[0-9].mf)
+
 lyout = $(depth)/init
 texout = $(depth)/tex
-LYTABLES = $(addprefix $(lyout)/, $(FONT_FILES:.mf=.ly))
-TEXTABLES = $(addprefix $(texout)/, $(FONT_FILES:.mf=.tex))
+LYTABLES = $(addprefix $(lyout)/, $(FET_FILES:.mf=.ly))
+TEXTABLES = $(addprefix $(texout)/, $(FET_FILES:.mf=.tex))
 #
 
 all: $(LYTABLES) $(TEXTABLES)
@@ -27,14 +29,20 @@ all: $(LYTABLES) $(TEXTABLES)
 localclean:
        rm -f $(LYTABLES) $(TEXTABLES)
 
+$(outdir)/%.dvi: %.mf
+       mf $<
+       gftodvi  $(basename $<)
+       mv   $(basename $<).dvi $(outdir)
+       rm $(basename $<).*gf
+
 $(outdir)/%.log: %.mf
        mf $<
        mv $(@F) $@
-       rm $(shell basename $< .mf).*gf
+       rm $(basename $< ).*gf
 
 $(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log
        mf-to-table -l $(lyout)/$(<F:.log=.ly) -t $(texout)/$(<F:.log=.tex) $<
-       
+
 localinstall:
        $(INSTALL) -d $(MFDIR)/lilypond
        $(INSTALL) -m 644 $(MFFILES) $(MFDIR)/lilypond/
@@ -45,13 +53,14 @@ localuninstall:
 
 # dependencies:
 #
-$(lyout)/dyn10.ly: autometric.mf ital-f.mf ital-m.mf ital-p.mf ital-r.mf ital-s.mf ital-z.mf dyn10.mf
-$(lyout)/font-en-tja16.ly: autometric.mf bolletjes.mf eindelijk.mf font-en-tja16.mf wat-zie-ik.mf
-$(lyout)/font-en-tja20.ly: autometric.mf bolletjes.mf eindelijk.mf font-en-tja20.mf wat-zie-ik.mf
-#
-$(texout)/dyn10.tex: autometric.mf ital-f.mf ital-m.mf ital-p.mf ital-r.mf ital-s.mf ital-z.mf dyn10.mf
-$(texout)/font-en-tja16.tex: autometric.mf bolletjes.mf eindelijk.mf font-en-tja16.mf wat-zie-ik.mf
-$(texout)/font-en-tja20.tex: autometric.mf bolletjes.mf eindelijk.mf font-en-tja20.mf wat-zie-ik.mf
-#
+include $(outdir)/mfdeps
+
+
+
+$(outdir)/mfdeps: $(FONT_FILES)
+# do something silly to avoid barfs if python not installed.
+       echo > $@
+       python $(depth)/bin/mf-deps.py  $^ >> $@
+
 
 
diff --git a/mf/TODO b/mf/TODO
index ac3f4a796aa10fdb8cc169f842d71a4d348e6f64..b69830eee9b30a08191f56cfdb778f80dd9f176b 100644 (file)
--- a/mf/TODO
+++ b/mf/TODO
@@ -8,5 +8,6 @@
        - check out Adobe Sonata/Petrucci font layout.  They are the
 standard for Music fonts
        - rewrite : make a metafont iso font
+       - perl script to generate dependencies for mf 
 l
 
index bbc31feed255811984e76affc479973e80349111..305660525b93fe5d2baca8b084d274d68fca03ba 100644 (file)
@@ -4,7 +4,6 @@
 % most beautiful bolletjes are pronounced, not circular, 
 % and not even symmetric.
 
-interline#:=staffsize#/(stafflines-1);
 %noteheight#:=interline#;
 % even more pronounced (almost overdone), just like the original
 noteheight#:=interline#+1.5stafflinethickness#;
index acba4b1d5b9d005a3f9868cba2d44ce3d769ac6b..78fc5369afad7e1e06a2bf8f65888adb1b57decf 100644 (file)
@@ -2,16 +2,13 @@
 % A tex file to help determine dims.
 %
 
-\font\musicfont=musix16
-\font\slurfont=xslu16
-\font\specfont=musixspx % tildes? beams, circles, (de)-crescendos, pianobraces
-\font\eglerfont=opus16 % notes, clefs, beams
-\font\eglerspec=opussps % tabulars, circles, glissandi, pianobraces
-\font\tjafont=font-en-tja16
-%\def\thefont{\musicfont}
+\font\taupin=musix16
+\font\fet=font-en-tja16
+\font\vet=vette-beams16
+\font\slurs=xslhd16
+\font\specfont=musixspx
+\def\thefont{\slurs}
 %\def\thefont{\specfont}
-%\def\thefont{\eglerfont}
-\def\thefont{\tjafont}
 
 \def\mb#1{{\thefont\char#1}}
 
index 56541e11c315cd04c6698ae68f6e2e9e448ae2c3..deabf71facd6b184d69cc7fb489ad1a4cb863ffd 100644 (file)
@@ -1,8 +1,6 @@
 % eindelijk.mf
 % LilyPond's own rest(s)
 
-define_pixels(interline);
-define_pixels(stafflinethickness);
 % MO*TeX stuff
 % nhh#:=interline#;
 % nhw#:=6/5*interline#;
index f82dc30dbb4b275156d58adbf689acf9c10fc48b..c43c04c6ed4e4d934c6d15eab92445d6acd71290 100644 (file)
@@ -13,12 +13,9 @@ test:=0;
 
 staffsize#:=16pt#;
 stafflines:=5;
-stafflinethickness#:=0.4pt#;
 code:=-1;
 
-input bolletjes;
-input eindelijk;
-input wat-zie-ik;
+input generic-tja;
 
 fet_endfont("font-en-tja");
 
index 0015e173cf86790b830d16c14bbce05e65ebb08a..ab7d914e35ee46e72cd14f76e403dd00be1472ba 100644 (file)
@@ -9,14 +9,11 @@ fet_beginfont("font-en-tja", 20);
 test:=0;
 
 staffsize#:=20pt#;
-% staffsize#:=16pt#;
 stafflines:=5;
 stafflinethickness#:=0.4pt#;
 code:=-1;
 
-input bolletjes;
-input eindelijk;
-input wat-zie-ik;
+input generic-tja;
 
 fet_endfont("font-en-tja");
 
diff --git a/mf/generic-params.mf b/mf/generic-params.mf
new file mode 100644 (file)
index 0000000..1e8053d
--- /dev/null
@@ -0,0 +1,9 @@
+
+interline#:=staffsize#/(stafflines-1);
+  
+        %  [D.K.Roush & J.S.Gourlay] say this should be 0.072
+        % We know better
+stafflinethickness#:=0.1 interline#;
+
+define_pixels(interline);
+define_pixels(stafflinethickness);
diff --git a/mf/generic-tja.mf b/mf/generic-tja.mf
new file mode 100644 (file)
index 0000000..9d0dc58
--- /dev/null
@@ -0,0 +1,25 @@
+
+
+% better versions of Taupin/Egler savepic cmds
+%
+%
+picture save_picture_stack[];
+numeric stack_idx;
+stack_idx := 0;
+
+def push_picture(expr p) = save_picture_stack[incr stack_idx] := p enddef;
+def push_current = push_picture (currentpicture) enddef;
+def pop_picture =  save_picture_stack[ decr stack_idx] enddef;
+def top_picture = save_picture_stack[stack_idx] enddef;
+
+
+def scaledabout(expr point, scale) =
+       shifted -point scaled scale shifted point
+enddef;
+
+
+input generic-params;
+input bolletjes;
+input eindelijk;
+input toevallig;
+
diff --git a/mf/toevallig.mf b/mf/toevallig.mf
new file mode 100644 (file)
index 0000000..0d61863
--- /dev/null
@@ -0,0 +1,87 @@
+%
+% Real accidentals
+
+%\tracingequations:= tracingonline := 1;
+%proofing := 2;
+
+fet_begingroup("foobars");
+
+begingroup;
+
+fet_beginchar(incr code, 1.1 interline#, 1.5 interline#, 
+               1.5 interline#, 0, "Sharp" , "1", "sharp");
+
+       save interbeam, interstem, beamheight, beamwidth, 
+               stemwidth;
+
+       interbeam := 1.1 interline;
+       interstem := 7/16 ;
+       beamheight := 4 stafflinethickness;
+       beamwidth := w;
+       stemwidth := 1.3 stafflinethickness;
+
+       2 horizontal_protrusion  + interstem * beamwidth + stemwidth
+               = beamwidth;
+
+       pickup pensquare xscaled horizontal_protrusion yscaled beamheight;
+       pair center;
+       center = (.5 w, 0);
+       
+       z2 - z1 = (beamwidth - horizontal_protrusion, beamheight/2);
+       z1 + z2 = 2*center;
+       beamslope = (y2-y1)/(x2-x1);
+       path beam;
+       beam:=  z1 .. z2;
+       draw beam shifted (0, -interbeam/2);
+       draw beam shifted (0,interbeam/2);
+
+       pickup pencircle scaled stemwidth;
+       x3 = x4 = xpart center;
+       bot y3 = -1.5 interline + ypart center;
+       top y4 = 1.5 interline + ypart center;
+
+       path stem;
+       stem := z3 .. z4;
+       numeric xs;
+       xs := interstem* beamwidth / 2;
+       draw stem shifted (- xs, - xs* beamslope);
+       draw stem shifted (xs , xs *beamslope);
+       endchar;
+
+fet_beginchar(incr code, 8/12 interline#, 1.5 interline#, 1.5 interline#, 0,
+       "Natural", "0", "natural")
+
+
+       save interbeam, interstem, beamheight, beamwidth, 
+               stemwidth;
+
+       beamheight = 4.5 stafflinethickness;
+       interstem + stemwidth =  w;
+       stemwidth = 1.3 stafflinethickness;
+
+       z2 -z1 = (interstem, slope * interstem);
+       xpart .5 [z2,z1] = xcenter ;
+       xcenter = w/2;
+
+
+       pickup penrazor scaled beamheight rotated 90;
+       top y2 = interline - 3/2 stafflinethickness ;
+       slope =  stafflinethickness / interstem;
+       
+       draw z1 .. z2;
+       draw (xpart z1, -y2) .. (xpart z2, -y1);
+       beamtop = top y2;
+       
+       pickup pencircle scaled stemwidth;
+       xpart z3 = xpart z1;
+       xpart z4 = xpart z2;
+       top y3 = 1.5 interline;
+       top y4 = beamtop;
+
+       draw (xpart z1, -y4) .. z3;
+       draw (xpart z2, -y3) .. z4;
+
+       labels(1,2,3,4);
+       endchar;
+endgroup;
+fet_endgroup("foobars");
diff --git a/mf/vette-beams16.mf b/mf/vette-beams16.mf
new file mode 100644 (file)
index 0000000..48921a2
--- /dev/null
@@ -0,0 +1,18 @@
+% font-en-tja16.mf
+% part of LilyPond's pretty-but-neat music font
+
+% font_identifier:="font-en-tja16";
+% font_size 16pt#;
+font_identifier:="vette-beams16";
+font_size 16;
+mode_setup;
+
+test:=0;
+
+staffsize#:=16pt#;
+stafflines:=5;
+stafflinethickness#:=0.4pt#;
+input generic-params;
+input wat-zie-ik;
+end.
+
diff --git a/mf/vette-beams20.mf b/mf/vette-beams20.mf
new file mode 100644 (file)
index 0000000..49f4ffd
--- /dev/null
@@ -0,0 +1,18 @@
+% font-en-tja16.mf
+% part of LilyPond's pretty-but-neat music font
+
+% font_identifier:="font-en-tja16";
+% font_size 16pt#;
+
+font_identifier:="vette-beams16";
+font_size 20;
+mode_setup;
+
+test:=0;
+
+staffsize#:=20pt#;
+stafflines:=5;
+stafflinethickness#:=0.4pt#;
+input generic-params;
+input wat-zie-ik;
+end.
index 0f835ae512fc2b6c5734a583e3d178e59ea06cad..507d377496f80eb5e8cc806aa893931c149fd6e3 100644 (file)
@@ -2,7 +2,8 @@
 % part of LilyPond's pretty-but-neat music font
 % beams: plat en steil
 
-fet_begingroup("beamslopes");
+%\tracingequations:= tracingonline := 1;
+
 
 beamheight#:=0.48interline#;
 define_pixels(beamheight);
@@ -12,47 +13,20 @@ beam_pen:=penrazor scaled beamheight rotated 90;
 
 % mimic taupin-SLOPES for now -- because lily knows them
 ELEM_TAN:=0.05;
-SLOPES:=10;
-LENGTHS:=5;
-ELEM_LEN:=2;
+SLOPES:=20;
+LENGTHS:=6;
+ELEM_FACTOR := 2;
+ELEM_INITIAL_LEN:=2;
 
-% fake char for tables; will be overwritten by mf
-% misuse breapth for minimum length (mf-to-table negates breapth again)
-fet_beginchar(code+1,ELEM_LEN**LENGTHS,0,0,-ELEM_LEN,"Beamslopes up","uslope","beamuslope{%}{%}");
-       endchar;
 
 % Beamslopes up
-for i:=1 upto SLOPES:
-       width:=ELEM_LEN;
+for i := -SLOPES upto SLOPES:
+       width:= ELEM_INITIAL_LEN;
        for j:=1 upto LENGTHS:
-               beginchar(incr code,width,0,0);
+               beginchar(128 + i * LENGTHS + j -1 ,width,0,0);
                        pickup beam_pen;
                        draw origin--(lft w,w*i*ELEM_TAN);
                        endchar;
-               width:=2*width;
-               endfor;
-       endfor;
-
-% fake char for tables; will be overwritten by mf
-% misuse breapth for minimum length (mf-to-table negates breapth again)
-fet_beginchar(code+1,ELEM_LEN**LENGTHS,0,0,-ELEM_LEN,"Beamslopes down","dslope","beamdslope{%}{%}");
-       endchar;
-
-% Beamslopes down
-for i:=1 upto SLOPES:
-       width:=ELEM_LEN;
-       for j:=1 upto LENGTHS:
-               beginchar(incr code,width,0,0);
-                       pickup beam_pen;
-                       draw origin--(lft w,-w*i*ELEM_TAN);
-                       endchar;
-               width:=2*width;
+               width:=ELEM_FACTOR *width;
                endfor;
        endfor;
-
-% fake char for tables
-fet_beginchar(code+1*SLOPES*LENGTHS,0,0,0,0,"Horizontal beams","horizontal","rulesym{%}{%}");
-       endchar;
-       
-fet_endgroup("beamslopes");
-
index 3d9a26df808d3928d5b1ef7773c6a9c9f2085caf..dce4aeab1109ea6128c77f4fc8dbaf54f3cac1c3 100644 (file)
@@ -1,4 +1,4 @@
-% generated at Fri Sep 26 09:25:28 1997 from out/dyn10.log
+% generated at Fri Sep 26 14:26:49 1997 from out/dyn10.log
 % changes will be lost
 
 % dyn
index 39c7e3641821f2c44157cddea246e0a11982b440..857f5121c1f5638ce5464f1def2662e15ef72e33 100644 (file)
@@ -3,9 +3,11 @@
 
 \def\fetsixteendefs{
         \font\fontentja=font-en-tja16
+        \font\vetfont=vette-beams16
 }
 \def\fettwentydefs{
-       \font\fontentja=font-en-tja20
+        \font\fontentja=font-en-tja20
+        \font\vetfont=vette-beams20
 }
 
 % \def\fetdef#1#2{\def#1{\fetchar{#2}}}
 
 \input font-en-tja20
 
-\def\beamuslope#1#2{{\count0=#2\advance\count0 by#1
-        \advance\count0 by \beamuslopestart
-       % huh?? -- think i followed taupin beam convention
-       % is lily confused?
-       \advance\count0 by -8
-        \fetchar\count0}}
-\def\beamdslope#1#2{{\count0=#2\advance\count0 by#1
-        \advance\count0 by \beamdslopestart
-       % huh??
-       \advance\count0 by -8
-        \fetchar\count0}}
+\def\beamslope#1#2{{\count0=#2\advance\count0 by#1
+        \advance\count0by128
+        {\vetfont\char\count0}}}
index 3419d253d67359b654a31eb8e7c7b91175f33b02..f48b24729e897fc9f0421f352728ed032e923f1f 100644 (file)
@@ -1,4 +1,4 @@
-% generated at Fri Sep 26 09:25:30 1997 from out/font-en-tja16.log
+% generated at Mon Sep 29 11:32:20 1997 from out/font-en-tja16.log
 % changes will be lost
 
 % font-en-tja
@@ -17,8 +17,7 @@
 \fetdef\sixtyfourthrest{9}
 \fetdef\hundredtwentyeighthrest{10}
 
-% beamslopes
-\def\beamuslopestart{11}
-\def\beamdslopestart{61}
-\def\rulesymstart{160}
+% foobars
+\fetdef\sharp{11}
+\fetdef\natural{12}
 
index 2dd7bb4ad9e771c471ac372f588f7dbc6b025a8c..bee8faec97f35acda768950a042ee986aa8cdd38 100644 (file)
@@ -1,4 +1,4 @@
-% generated at Fri Sep 26 09:25:32 1997 from out/font-en-tja20.log
+% generated at Mon Sep 29 11:32:24 1997 from out/font-en-tja20.log
 % changes will be lost
 
 % font-en-tja
@@ -17,8 +17,7 @@
 \fetdef\sixtyfourthrest{9}
 \fetdef\hundredtwentyeighthrest{10}
 
-% beamslopes
-\def\beamuslopestart{11}
-\def\beamdslopestart{61}
-\def\rulesymstart{160}
+% foobars
+\fetdef\sharp{11}
+\fetdef\natural{12}
 
index 20986c443ff2038dac784c11d48d090f088f3e74..319d45f2f7969604f08d7600e9e6027defde438a 100644 (file)
@@ -66,7 +66,6 @@
         \balkheight=20pt
         \notewidth=7.15pt
         \noteheight=5pt
-        \staffrulethickness=0.4pt
         \musixtwentyfonts
         \font\textmusic=cmmi12
         \musixcalc
@@ -74,7 +73,6 @@
 
 \def\musixsixteendefs{
         \balkheight=16pt
-        \staffrulethickness=0.4pt
         \notewidth=5.93pt
         \noteheight=4pt
         \musixsixteenfonts
         \smallspace=.3\interlinedist
         \interstaffrule=\balkheight
         \divide\interstaffrule by 4
+
+        %  [D.K.Roush & J.S.Gourlay] say this should be 0.072
+        % We know better
+        \staffrulethickness=0.1\interlinedist
 }
 
 
index 4a47f9dcc8fa925df13a113015969cbd97b457e3..12080f171afce197c28212c9630929b4931c5f47 100644 (file)
@@ -1,4 +1,3 @@
-\input fetdefs
 \def\musixtwentyfonts{
         \font\normaltextfont=cmr10 %\textfont is a primitive
         \font\smalltextfont=cmr8
 %         \advance\count0 by 186
 %         \musicfnt\char\count0}}
 
+
+\input fetdefs
diff --git a/tex/vette-beams16.tex b/tex/vette-beams16.tex
new file mode 100644 (file)
index 0000000..55fc848
--- /dev/null
@@ -0,0 +1,3 @@
+% generated at Fri Sep 26 15:26:29 1997 from out/vette-beams16.log
+% changes will be lost
+
diff --git a/tex/vette-beams20.tex b/tex/vette-beams20.tex
new file mode 100644 (file)
index 0000000..438f27e
--- /dev/null
@@ -0,0 +1,3 @@
+% generated at Fri Sep 26 15:26:46 1997 from out/vette-beams20.log
+% changes will be lost
+