]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.23 release/0.1.23
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 14 Oct 1997 22:39:05 +0000 (00:39 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 14 Oct 1997 22:39:05 +0000 (00:39 +0200)
33 files changed:
AUTHORS.text
Documentation/lilypond.pod
INSTALL.text
NEWS
TODO
VERSION
bin/cpgento.sh [deleted file]
bin/lily-python.py [new file with mode: 0644]
bin/make-docxx.sh
bin/make-website.pl
init/font-en-tja16.ly
init/font-en-tja20.ly
input/cadenza.ly
lily/VERSION
lily/bar.cc
lily/lookup.cc
lily/rest-collision.cc
lily/staff-side.cc
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
mf/TODO
mf/dimen.tex
mf/feta-banier.mf
mf/feta-bolletjes.mf
mf/feta-macros.mf
mf/feta-params.mf
mf/feta-schrift.mf
mf/feta-toevallig.mf
mf/foo.mf [new file with mode: 0644]
tex/font-en-tja16.tex
tex/font-en-tja20.tex
tex/lilyponddefs.tex

index 45db5d43746097eb59d76c9c9abb526de3ca8b31..22eb7acff0b1ab44a52168a2ed50a67590940758 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
 
 
 
-10/Oct/97                LilyPond 0.1.22                        1
+10/Oct/97                LilyPond 0.1.23                        1
 
 
index 6d4a62744651f5cbc45dec6fd6d8a13367d96522..0e8f4e945fdbfe9a660cd938afe3e18f6dfe93d8 100644 (file)
@@ -263,7 +263,7 @@ If you have bugreports, you should send them to this list.  If you want
 to read all bugreports, you should subscribe to this list.  To
 subscribe: send mail with subject "subscribe" to
 bug-gnu-music-request@vuse.vanderbilt.edu
-       
+
 =item gnu-music-discuss@vuse.vanderbilt.edu,
 
 For discussions concerning the GNU Music project, to subscribe: send
index 202a89efffd1567f419d87e65271b69f5525447f..215a2e25092b52b1d535b9b5eb0defdc19a87b54 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/Oct/97                 LilyPond 0.1.22                        1
+8/Oct/97                 LilyPond 0.1.23                        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
 
 
 
-8/Oct/97                 LilyPond 0.1.22                        2
+8/Oct/97                 LilyPond 0.1.23                        2
 
 
 
@@ -193,7 +193,7 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
 
-8/Oct/97                 LilyPond 0.1.22                        3
+8/Oct/97                 LilyPond 0.1.23                        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
 
 
 
-8/Oct/97                 LilyPond 0.1.22                        4
+8/Oct/97                 LilyPond 0.1.23                        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
 
 
 
-8/Oct/97                 LilyPond 0.1.22                        5
+8/Oct/97                 LilyPond 0.1.23                        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
 
 
 
-8/Oct/97                 LilyPond 0.1.22                        6
+8/Oct/97                 LilyPond 0.1.23                        6
 
 
diff --git a/NEWS b/NEWS
index f5329244d323d450d3cf041d66feff672c605604..e73a035807052fc14bac9a706c42a74f59b0207b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,11 @@
-pl 22.jcn1
-       - redo of quarter rest 
-       - fixes of 8-128 rests
+pl 23
+       - feta changes: 1/4 rest, flat, bf 8-128 rest
+       - bf: cadenza
+       - bf: scripts
+       - bf: rest-collision
+       - bf: meter placement
+       - junked cpgento.sh
+*********
 
 pl 22
        - bf: lyric 's- Zondags
@@ -15,6 +20,7 @@ pl 22
        - moved staff to centerline == 0;
 
 ********
+
 pl 21
        - shrinking uses more energy  than stretching
        - check IO error on writing (disk full?)
diff --git a/TODO b/TODO
index e8416d10030bc0fdcc44618e03368f9062107660..b8615af6f3adad89c72787573ee90e4a3033e068 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,9 +6,16 @@ done, or is an idea that I want to think about
 Most of the items are marked in the code as well, with full explanation. 
 grep for TODO and ugh/ugr
 
-       * todo key-sig placement.
-       
-       * put errorlevel in Input
+       * LILYSOURCEDIR
+
+       * spurious "Junk beam" warnings
+
+       * standchen: warning: Excentric column (Meter dims?)
+
+
+       * optimal pagebreaking.
+
+       * put errorlevel in Input class
 
        * AFM for font input?
 
@@ -63,6 +70,7 @@ PROJECTS
 
        * Spring_spacer:
        - write a faster Spring_spacer ( without matrices if possible )
+       - use straight QP to find minimal "fitting force"
        - relate energybound to linelen unitspace fontsize etc.
        - used fixed point fp
 
diff --git a/VERSION b/VERSION
index 1ceb51ba399f6b29f94eec32bec23d5e55a29ac5..b337cd5d370b2be75f2cecc9fea57af0abb6b1fd 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 22
-TOPLEVEL_MY_PATCH_LEVEL = .jcn1
+TOPLEVEL_PATCH_LEVEL = 23
+TOPLEVEL_MY_PATCH_LEVEL = 
 
 # use the above to send patches, always empty for released version:
diff --git a/bin/cpgento.sh b/bin/cpgento.sh
deleted file mode 100644 (file)
index 74f7778..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/sh
-# cpgento
-#
-
-if test $# -ne 1
-then
-       echo "Usage: "
-       echo "  cpgento LOCATION, e.g.:"; 
-       echo
-       echo "  cpgento /mnt/aix/usr/src/lily"
-               echo "  CP=rcp cpgento fred@pcnov095.win.tue.nl:music/lily"
-       exit 1
-fi
-
-MAKE=${MAKE:-make}
-CP=${CP:-cp}
-
-genlily="out/parser.hh out/parser.cc out/lexer.cc"
-echo generating $genlily ...
-$MAKE -C lily $genlily
-
-genmi2mu="out/midi-parser.hh out/midi-parser.cc out/midi-lexer.cc"
-echo generating $genmi2mu ...
-$MAKE -C mi2mu $genmi2mu
-
-lilydir=`pwd | sed "s/.*\///"`
-todir=$1/$lilydir
-echo "copying $lilydir -> $todir"
-
-cpto() {
-       name=$1
-       tostuff=$todir/$name/out
-       genstuff="$2"
-       if [ "$CP" = "cp" -a \! -d $tostuff ]
-       then
-               echo mkdir -p $tostuff
-               mkdir -p $tostuff
-       fi
-       echo $CP $genstuff $tostuff
-       (cd $name; $CP $genstuff $tostuff)
-}
-
-cpto lily "$genlily"
-cpto mi2mu "$genmi2mu"
-
-# if you cannot gen the above, you-ll probably want:
-flexlexerh=/usr/include/FlexLexer.h
-cpto lib $flexlexerh
-
diff --git a/bin/lily-python.py b/bin/lily-python.py
new file mode 100644 (file)
index 0000000..6f85149
--- /dev/null
@@ -0,0 +1,63 @@
+#!@PYTHON@
+
+# 
+# lily-python.py --  implement general LilyPond-wide python stuff
+# 
+# source file of the GNU LilyPond music typesetter
+# 
+# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+# 
+
+import posix
+import pwd
+import regex
+import regsub
+import string
+import sys
+import os
+import getopt
+
+
+
+
+
+make_assign_re = regex.compile('^\([A-Z_]*\) *= *\(.*\)$')
+
+def version_str_tuple(file):
+    lines = file.readlines()
+
+    mi = pa = mp = mj = ''
+    
+    for l in lines:
+       if make_assign_re.search(l) <> -1:
+           nm = make_assign_re.group(1)
+           val = make_assign_re.group(2)
+           if nm == 'TOPLEVEL_MAJOR_VERSION':
+               mj = val
+           elif nm == 'TOPLEVEL_MINOR_VERSION':
+               mi = val
+           elif nm == 'TOPLEVEL_PATCH_LEVEL':
+               pa = val
+           elif nm == 'TOPLEVEL_MY_PATCH_LEVEL':
+               mp = val
+    return (mj,mi,pa,mp)
+
+class Lilydirs:
+    def __init__(self):
+       try:
+           self.topdir = os.environ['LILYPOND_SOURCEDIR'] + '/'
+       except IndexError:
+           self.topdir = os.environ['HOME'] + 'musix/current'
+           
+       self.release_dir = self.topdir + '../releases/'
+       self.patch_dir = self.topdir + '../patches/'
+
+    def version_str_tuple(self):
+        f = open (self.topdir + 'VERSION')
+       v = version_str_tuple(f)
+       f.close ()
+       return v
+
+lilydirs = Lilydirs()
+
+print lilydirs.version_str_tuple()
index dc60f80f1c8434f603bea784d38d0240de4fe57e..b74572e399984240400ba16b05001b80c94562e3 100644 (file)
@@ -1,5 +1,8 @@
 #!/bin/sh
-
-p1=`find ./ -name '*.hh' |egrep -v out/` 
-p2=`find ./ -name '*.cc' |egrep -v out/`
+if [ x$LILYTOP = x ];
+then
+    LILYTOP = .
+fi
+p1=`find $LILYTOP -name '*.hh' |egrep -v out/` 
+p2=`find $LILYTOP -name '*.cc' |egrep -v out/`
 doc++ -d out/ -S -k -p $p1 $p2
index 1d690e23ad3b7fae2857978dd18c02e547858c1f..3ac7f7bf1f1e9fc218497b2bc87250dd71394450 100644 (file)
@@ -295,7 +295,7 @@ sub docxx_update
     $ban =~ s!index.html!../index.html!g;
     print BANNER $ban;
     close BANNER;
-    my_system "BANNEROPT=\"-B /tmp/lilybanner.html\" $depth/bin/out/make-docxx";
+    my_system("BANNEROPT=\"-B /tmp/lilybanner.html\" $depth/bin/out/make-docxx");
 }
 
 sub do_tar
@@ -335,7 +335,7 @@ sub main
     chdir ("out");
     $ENV{"TEXINPUTS"} .= ":$depth/input/:";
     $ENV{"LILYINCLUDE"} = "$depth/input/";
-
+    $ENV{"LILYTOP"} = $depth;
 
     gen_html;
     copy_files;
index 4d27f2f7504e176e2adf7b67fb229f30e515b903..037eee9b66433623dd8c417fac2292c2d5d24a31 100644 (file)
@@ -1,5 +1,5 @@
 % generated automatically by mf-to-table.py version 0.4
-% on Fri Oct 10 21:22:38 1997
+% on Tue Oct 14 23:56:57 1997
 % Do not edit
 % input from out/font-en-tja16.log
 % name=\symboltables {
@@ -8,18 +8,18 @@
         "1"    "\\halfrest"    -0.00\pt        6.00\pt -0.00\pt        2.50\pt 
         "0o"   "\\outsidewholerest"    -2.50\pt        8.50\pt 1.50\pt 4.00\pt 
         "1o"   "\\outsidehalfrest"     -2.50\pt        8.50\pt -0.00\pt        2.50\pt 
-        "2"    "\\quartrest"   -0.00\pt        4.00\pt 3.00\pt 14.00\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        5.33\pt -0.00\pt        11.47\pt        
-        "5"    "\\thirtysecondrest"    -0.00\pt        5.33\pt -0.00\pt        15.47\pt        
-        "6"    "\\sixtyfourthrest"     -0.00\pt        5.33\pt -0.00\pt        19.47\pt        
-        "7"    "\\hundredtwentyeighthrest"     -0.00\pt        5.33\pt -0.00\pt        23.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.00\pt        3.00\pt -2.00\pt        8.00\pt 
-        "-2"   "\\flatflat"    -0.00\pt        6.00\pt -2.00\pt        8.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 {
@@ -34,7 +34,7 @@
         }
     "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.00\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 
@@ -52,7 +52,7 @@
         "pedaltoe"     "\\pedaltoe"    -2.00\pt        2.00\pt -0.00\pt        6.00\pt 
         }
     "floogbars"         = \table {
-        "3u"   "\\eighthflag"  -0.20\pt        4.10\pt -12.77\pt       0.20\pt 
-        "3d"   "\\deighthflag" -0.20\pt        4.10\pt -0.20\pt        12.77\pt        
+        "3u"   "\\eighthflag"  -0.20\pt        4.18\pt -12.77\pt       0.20\pt 
+        "3d"   "\\deighthflag" -0.20\pt        4.18\pt -0.20\pt        12.77\pt        
         }
     %  } % $name
index 63af39049e2714fd52ebfe71421440a790017e77..716f6bbc769097ea1f37d88c2f77232a9ad2f4d9 100644 (file)
@@ -1,5 +1,5 @@
 % generated automatically by mf-to-table.py version 0.4
-% on Fri Oct 10 21:22:44 1997
+% on Tue Oct 14 23:57:04 1997
 % Do not edit
 % input from out/font-en-tja20.log
 % name=\symboltables {
@@ -8,18 +8,18 @@
         "1"    "\\halfrest"    -0.00\pt        7.50\pt -0.00\pt        3.13\pt 
         "0o"   "\\outsidewholerest"    -3.13\pt        10.62\pt        1.88\pt 5.00\pt 
         "1o"   "\\outsidehalfrest"     -3.13\pt        10.62\pt        -0.00\pt        3.13\pt 
-        "2"    "\\quartrest"   -0.00\pt        5.00\pt 3.75\pt 17.50\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        6.67\pt -0.00\pt        14.33\pt        
-        "5"    "\\thirtysecondrest"    -0.00\pt        6.67\pt -0.00\pt        19.33\pt        
-        "6"    "\\sixtyfourthrest"     -0.00\pt        6.67\pt -0.00\pt        24.33\pt        
-        "7"    "\\hundredtwentyeighthrest"     -0.00\pt        6.67\pt -0.00\pt        29.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.00\pt        3.75\pt -2.50\pt        10.00\pt        
-        "-2"   "\\flatflat"    -0.00\pt        7.50\pt -2.50\pt        10.00\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 {
@@ -34,7 +34,7 @@
         }
     "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.00\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 
@@ -52,7 +52,7 @@
         "pedaltoe"     "\\pedaltoe"    -2.50\pt        2.50\pt -0.00\pt        7.50\pt 
         }
     "floogbars"         = \table {
-        "3u"   "\\eighthflag"  -0.25\pt        5.13\pt -15.91\pt       0.25\pt 
-        "3d"   "\\deighthflag" -0.25\pt        5.13\pt -0.25\pt        15.91\pt        
+        "3u"   "\\eighthflag"  -0.25\pt        5.23\pt -15.91\pt       0.25\pt 
+        "3d"   "\\deighthflag" -0.25\pt        5.23\pt -0.25\pt        15.91\pt        
         }
     %  } % $name
index e7538272f9ad08e1abcffd98b2f3de23609c68fd..2a52afd4bfe8498cf679a506133053925dd0dcd7 100644 (file)
@@ -31,28 +31,28 @@ cad = \melodic  {
                \bar "empty";
                        c [c_"rubato" e g c']
        \octave c'';
-       e4. e [g ~ f_"rit" e d]
+       e4. e [g () f_"rit" e d]
 
        \duration 16;
-       dis4~ e4
+       dis4() e4
                \bar "" ;
                r8 [c d] [e f g gis]
        \duration 4;
-       a-> 'f~ 'e g
-       f-> 'd~ 'cis e
+       a-> 'f() 'e g
+       f-> 'd() 'cis e
        \duration 8;    
        d4^\fermata
                \bar "" ;
 
        r8 'a ['b cis]
        \duration 16;   [d cis d e]
-       f4~ [f e d c]
+       f4() [f e d c]
        'b4-\turn
        \octave c'; [2/3 d'8 c'8 a8]1/1
        g2
                \bar "" ;
        [g c e g] [c' e g c']\octave c''; 
-       [e 'g c e] g4^\fermata %~ % BUG!
+       [e 'g c e] g4^\fermata 
                \bar "" ;
        [g8.(_"a tempo" e g8. )e]
        a4. g8 [f8 e8 d8 c8]
index c767ffade7c1e7304dee0476f8bccfb767e705ed..287c16e672fe519cc731874fd0038676850d6be0 100644 (file)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 22
+PATCH_LEVEL = 23
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
index 8fb57283149262ae25f7aa659d971c612371e91e..ac7e0f19a23f3eeeea27530ddf5402ba3574224e 100644 (file)
@@ -27,7 +27,9 @@ IMPLEMENT_IS_TYPE_B1(Bar,Item);
 void
 Bar::do_print() const
 {
+#ifndef NPRINT
   DOUT << type_str_;
+#endif
 }
 
 Molecule*
index 38e31d9000f82f1ffd91453bc6ff3c2634bc4788..333072ad2f94c9a27b372b539840b4054f69ffc2 100644 (file)
@@ -216,11 +216,8 @@ Lookup::linestaff (int lines, Real interline_f, Real wid) const
 Atom
 Lookup::meter (Array<Scalar> a) const
 {
-  Atom s;
-  s.dim_.x() = Interval (0 PT, 10 PT);
-  s.dim_.y() = Interval (0, 20 PT);    // todo
-  String src = (*symtables_)("param")->lookup ("meter").tex_;
-  s.tex_ = substitute_args (src,a);
+  Atom s((*symtables_)("param")->lookup ("meter"));
+  s.tex_ = substitute_args (s.tex_,a);
   return s;    
 }
 
index 6c5068272214d829d8a6259495a284de313d61c9..0be9090d2c445d2a3e59561a4556e675b4a5bddc 100644 (file)
@@ -94,15 +94,10 @@ Rest_collision::do_pre_processing()
   // meisjes met jongetjes
   else 
     {
-#if 0 // breendet: rests go always under
-      // geen gemug, trug op je rug
-      int dir_i = -1;
-      rest_l_arr_[0]->translate_rests (dir_i * 3);     
-#else
       // int dir_i = - ncol_l_arr_[0]->dir_;
       int dir_i = rest_l_arr_[0]->dir_;
       // hope it's 4: if it works->doco
-      int midpos = 4;
+      int midpos = 0;
        
       // minimum move
       int minpos = 4;
@@ -121,7 +116,6 @@ Rest_collision::do_pre_processing()
              (ncol_l_arr_[i]->head_l_arr_[j]->position_i_ -midpos) + sep_i;
        }
       rest_l_arr_[0]->translate_rests (dir_i * minpos);        
-#endif
     }
 }
 
index eba7d09a13fb852a22c0981e7e0b137439bd4ca0..28df70b2556376135c89630fbc96de91bd6790bd 100644 (file)
@@ -75,7 +75,7 @@ Staff_side::get_position_i() const
   Real inter_f = paper()-> internote_f ();
   if (!inside_staff_b_) 
     {
-      y  = (staff_sym_l_) ? dir_ * (staff_sym_l_->steps_i() + 2) : -2;  
+      y  = (staff_sym_l_) ? dir_ * (staff_sym_l_->steps_i()/2 + 2) : -2;  
       y *=inter_f;
       
       Interval v= support_height();
index 2e800615f36883338f37103844aa5a91ba61712b..0ea5e5d25852c8a92a633bc9949f0ed7aa53a452 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.22.jcn1
-Inschrijf datum: 13OCT97
+Versie: 0.1.23
+Inschrijf datum: 15OCT97
 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.22.jcn1.tar.gz 
+       395k lilypond-0.1.23.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.22.jcn1.tar.gz 
+       395k lilypond-0.1.23.tar.gz 
 Copi"eer politie: GPL
 End
index 9077acff9c520a3d8d34d677e16b2fa370e53247..d38fbdc83869eff4e9491ed906c3243521cecce1 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.22
-Entered-date: 10OCT97
+Version: 0.1.23
+Entered-date: 15OCT97
 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
-       395k lilypond-0.1.22.tar.gz 
+       395k lilypond-0.1.23.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.22.tar.gz 
+       395k lilypond-0.1.23.tar.gz 
 Copying-policy: GPL
 End
index 296e2fd7a5c14afbc845a85b17dfda3aa05a4500..ee21c49a3136e53de0605664ddcb415f41bfef0c 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.22
+Version: 0.1.23
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.22.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.23.tar.gz
 Summary: A preprocessor to make TeX typeset music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
@@ -11,11 +11,13 @@ Icon: lelie_icon.gif
 Buildroot: /tmp/lilypond-install
 
 %description 
-LilyPond is the GNU Project music typesetter. This program converts
-music definition files into visual or auditive output: it can typeset
-formatted sheet music to a TeX file and and (mechanical) performances
-to MIDI files. Features include multiple staffs, meters, clefs, keys,
-lyrics, versatile input-language, cadenzas beams, slurs, triplets.
+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.
 
 %prep
 %setup
diff --git a/mf/TODO b/mf/TODO
index 1c9189e7d21604d71b9975b05394fd854b5e9e71..d2ef7043d7ade2c0e941d95420e2946795724838 100644 (file)
--- a/mf/TODO
+++ b/mf/TODO
@@ -2,10 +2,12 @@
        - design macro for penstroke with rounded endings
        - y-refpoint for rests should be the 4th staffline (gclef: b')
        - more symbols
+         * ledgerlines
+         * stem-notehead attachments.
          * flags
          * clefs
          * some scripts:
-           - piano pedals,
+         * piano pedals,
          * braces.
          * trills
          * maxima notehead
@@ -14,8 +16,6 @@
 
        - include important spacing dims in fetalog 
        - lilyrules.mf for different rules (lines) ?
-       - check out Adobe Sonata/Petrucci font layout.  They are the
-standard for Music fonts
 
        - hack up GS or the mf-gray font to do round pixels
 iso. square pixels.  (Printers don't do square pixels.)
index 928a0b76023ea82a605982044fdd44e39a48701d..44c59a4ef491f193789a62c5ffed205945865acc 100644 (file)
@@ -9,9 +9,8 @@
 \font\slurs=xslhd16
 \font\specfont=musixspx
 \font\egler=opus16
-%\def\thefont{\egler}
+\def\thefont{\egler}
 %\def\thefont{\specfont}
-\def\thefont{\fet}
 
 \def\mb#1{{\thefont\char#1}}
 
index 5dad6a8216dc80f4a0dcc79476053b06657cb820..a7995d6ee1ef6dd9e5b8d369b45ccd5d5d51fe68 100644 (file)
@@ -18,7 +18,7 @@ hip_depth# = 15/7 interline#;
 hip_width# = 7/8 interline# + hip_thickness# /2 + stemthickness#/2;
 
 foot_depth# = flare# + 15/7 interline#;
-foot_width# = .885 hip_width#;
+foot_width# = .8 hip_width#;
 
 
 define_pixels(flare, 
index f99fed2e69b6123753a7e7b3b496581579c0f3f6..d558cf751a409b1f3af49375e560ec4ed08a7d80 100644 (file)
@@ -3,7 +3,7 @@
 
 % most beautiful noteheads are pronounced, not circular, 
 % and not even symmetric.
-% These examples are inspired by [Wanske] [see literature list]
+% These examples are inspired by [Wanske], see literature list
 
 
 fet_begingroup("balls");
@@ -17,7 +17,7 @@ define_pixels(noteheight);
 def draw_brevis =
        save beamheight, head_width;
        save holeheight, stem_width;
-       save serif_size;
+       save serif_size, serif_protrude;
 
        head_width# = 2 interline#;
        holeheight = 3 stafflinethickness;
@@ -29,7 +29,7 @@ def draw_brevis =
        
        2 beamheight + holeheight = noteheight;
        serif_size = (holeheight - stafflinethickness)/2;
-
+       serif_protrude = 1.5 serif_size;
        penpos1(stem_width, 0);
        penpos2(stem_width, 0);
        penpos3(beamheight, 90);
@@ -41,7 +41,7 @@ def draw_brevis =
        z3r = z2r + serif_size *(1,-1);
        y4r = y3r;
        x4r = head_width/2;
-       z5l = z3l + serif_size * (-1,-1);
+       z5l = z3l + (-serif_size, -serif_protrude);
 
        penlabels(1,2,3,4, 5);
        fill z1r -- z1l -- z5r{down} .. z5l{up} .. z3l{right}
index e50ef987811ac5b6e81dc863c325fbf893c7fcd7..01a314f985eb34d61a4b17931a81db6015ff28f3 100644 (file)
@@ -87,6 +87,11 @@ enddef;
 % drawing
 %
 
+def simple_serif(expr p,q, a)= 
+       p{dir(angle(q-p) -a)} .. q{ - dir(angle(p -q) + a)}
+enddef;
+%
+
 % a: x diameter
 % b: y diameter
 % err_x: drift of y axis at top
index 51ec99126a05757b12d1c37c54577986e10a25f4..1ae189f1faf6eae6214e276040d28dd7e26db91a 100644 (file)
@@ -11,7 +11,7 @@ interline#:=staffsize#/(stafflines-1);
 stafflinethickness#:=0.1 interline#;
 
 stemthickness# := stafflinethickness#;
-ledgerlinethickness# := 1.5 stafflinethickness#;
+ledgerlinethickness# := 2 stafflinethickness#;
 
 define_pixels(interline, stemthickness);
 define_pixels(stafflinethickness,ledgerlinethickness);
@@ -32,6 +32,8 @@ overdone_heads = 0.0;
 %
 % this is not a meta variable: it is related to absolute sizes.
 %
+% According to [Wanske], only outside corners should be round
+%
 numeric blot_diameter;
 blot_diameter# = .4pt#;
 define_pixels(blot_diameter);
index 05202ee22999d50fed23e01a7069764bffcf34fe..8c9d7d795dc3d95f3753295fb43435fccf8a0fb6 100644 (file)
@@ -49,9 +49,7 @@ fet_endchar;
 
 fet_beginchar("fermata down", "dfermata", "dfermata")
        draw_fermata;
-       currentpicture:=currentpicture yscaled -1 ;
-       set_char_box(w#, w#, h#, 0);
-       
+       y_mirror_char;
 fet_endchar;
 
 
@@ -64,16 +62,17 @@ fet_beginchar("> accent", "sforzato", "sforzatoaccent")
        save thickness, diminish;
 
        thickness = 2 stafflinethickness;
+       pickup pencircle scaled thickness;
 
        % prevent blobs at crossing lines
        diminish = .75;
 
-       y1 + thickness/2 = h;
-       x1 = -b;
-       x2 = w;
+       top y1 = h;
+       lft x1 = -b;
+       rt x2 = w;
        y2 = .25 thickness* diminish;
 
-       z4 = (w,0);
+       rt z4 = (w,0);
        x3 =0;
        z3 = whatever [z1, z4];
 
@@ -81,10 +80,14 @@ fet_beginchar("> accent", "sforzato", "sforzatoaccent")
        penpos1(thickness, 90);
        penpos3(thickness, 90);
 
-       penstroke z1e .. z3e .. z2e;
-       penstroke (z1e .. z3e .. z2e) yscaled -1;
+       draw z1 .. z3;
+       draw (z1 .. z3) yscaled -1;
+       draw z4;
+       penstroke z3e .. z2e;
+       penstroke (z3e .. z2e) yscaled -1;
 
        penlabels(1,2,3);
+       labels(4);
 fet_endchar;
 
 fet_beginchar("staccato dot", "staccato", "staccato")
@@ -102,7 +105,7 @@ def draw_staccatissimo =
        radius# = 2 stafflinethickness#;
        define_pixels(radius, height);
 
-       draw_brush((0,0), blot_diameter, (0, height),2 radius);
+       draw_brush((0,0), stafflinethickness, (0, height),2 radius);
        set_char_box(radius#,radius#, blot_diameter#/2, height# + radius#);
 enddef;
 
@@ -134,25 +137,24 @@ fet_endchar;
 
 
 def draw_marcato = 
-       save fatness, thinness;
+       save fat_factor, thinness;
        set_char_box(interline#/2, interline#/2, 0, 1.1 interline#);
 
-       fatness = 3 stafflinethickness;
-       thinness = .8 stafflinethickness;
-       x2 - x1  + blot_diameter = fatness;
-       x2 + thinness/2 = w;
-       
-       y1 = y2;
-       y1 = thinness/2;
-       z2 - z3 = whatever * (charwd, -charht);
-       z1 - z4 = whatever * (charwd, -charht);
-       z3 - z4 = whatever * (charwd, charht);
-       y3 + thinness/2 = h;
-       draw_rounded_path(z1 -- z2 -- z3 -- z4 -- cycle, thinness);
+       fat_factor = .3;
+       thinness =  stafflinethickness;
 
        pickup pencircle scaled thinness;
-       z3 - z5 = whatever* (z3 - z4);
+       rt x2 = w;
+       lft x5 = -b;
        bot y5 = 0;
+       top y3 = h;
+       y1 = y2 = y5;
+
+       x3 =0;
+       z1 - z4 = whatever * (charwd, -charht);
+       z4 = fat_factor [z3, z5];
+
+       filldraw z1 -- z2 -- z3 -- z4 -- cycle;
        draw z3 .. z5;
 enddef;
 
@@ -165,8 +167,8 @@ fet_endchar;
 %
 % The down marcato char (not very much used). 
 % Contrary to what some MF/TeX `gurus' believe
-% it is *point*-symmetric with the "up" version; (at least [Chlapik] 
-% agrees with us)
+% it is *point*-symmetric with the "up" version; (at least [Chlapik] and 
+% and [Wanske] agree with us)
 %
 fet_beginchar("marcato down", "dmarcato", "dmarcato")
        draw_marcato;
@@ -269,7 +271,7 @@ fet_beginchar("Downbow", "downbow", "downbow")
 fet_endchar;
 
 %
-% Inspired by a computer-set version of auf dem Strom by Baerenreiter. 
+% Inspired by a computer-set version of Auf dem Strom by Baerenreiter. 
 %
 fet_beginchar("Turn","turn","turn")
        save thin, thick, ball_diam, darkness;
@@ -369,6 +371,7 @@ fet_beginchar("Trill (`tr')","trill","trill")
        kerning# = .75 ex#;
 
        define_pixels(ex, ascender_extra, ascender, kerning);
+
        t_overshoot = 0.03 ex;
        fatness = 12/40 ex;
        t_fatness = 8/10 fatness;
@@ -376,7 +379,7 @@ fet_beginchar("Trill (`tr')","trill","trill")
        uitschieter = 21/40 ex;
        hair_thick =  blot_diameter;
        bulb_size = 0.47;
-       slant = .15;
+       slant = .2;
 
        local_copy(transform)(currenttransform);
        currenttransform := currenttransform slanted slant;
index 69ef0a73157cffbc6645f9c1a5e7d8543b14b5cf..1238eb366b9e0a4ac44f95df18f9c6081a86824f 100644 (file)
@@ -1,8 +1,8 @@
 %
 % Accidentals from various sources, notably
 %
-%   Baerenreiter edition of Schuberts `Auf dem Strom' (sharp, natural, flat)
-%   F Hofmeister edition of Muellers `Etueden fuer Horn'  (double sharp)
+%   Baerenreiter edition of Schuberts `Auf dem Strom' (sharp, natural)
+%   F Hofmeister edition of Muellers `Etueden fuer Horn'  (double sharp, flat)
 %
 
 
@@ -19,7 +19,7 @@ fet_beginchar("Sharp" , "1", "sharp");
        save interbeam, interstem, beamheight, beamwidth, 
                stemwidth;
 
-       interbeam := 1.1 interline;
+       interbeam := 1.05 interline;
        interstem := 7/16 ;
        beamheight := 4 stafflinethickness;
        beamwidth := w;
@@ -102,6 +102,7 @@ fet_beginchar( "Natural", "0", "natural")
        labels(1,2,3,4);
        fet_endchar;
 
+
 %
 % Dedicated to my mom.    (3/10/97)
 %
@@ -109,63 +110,100 @@ fet_beginchar( "Natural", "0", "natural")
 %    -- HW
 %
 
-%
-% FIXME more metaness
-% FIXME distribution of the crooks' thickness
-%
-% FIXME probably doesn't look quite right. 
-%
+% TODO: remove crook_fatness
+def draw_meta_flat(expr xcenter, w, crook_fatness) =
+       clearxy;
+       save crook_thinness;
+       save top_stem_thick, bottom_stem_thick, hair;
+       save center;
+       pair center;
+       center = (xcenter, 0);
 
-def flat_meta_symbol(expr w, d, h, 
-        stemwidth, crook_fatness, crook_thinness,
-       bottom_stem_thick, top_stem_thick)=
+       crook_thinness = 1.25 stafflinethickness;
+       top_stem_thick = 2 stafflinethickness;
+       bottom_stem_thick = 1.2 stafflinethickness;
+
+
+       z1 = (0, 2 interline) + center;
+       z2 = (0, - 1/2 interline)+  center;
+
+       penpos1(top_stem_thick, 0);
+       penpos2(bottom_stem_thick, 0); 
+
+       fill simple_serif(z1r, z1l, 30) -- z2l -- z2r -- cycle;
+
+
+       y3l = (interline - stafflinethickness)/2 + ypart center;
+       z3l = whatever [z2r,z1r];
+
+       z3r = .26 [z2r, z1r];
 
-       z1 = (0, h);
-       z2 = (0, -d);
-       brush(z1, top_stem_thick , z2, bottom_stem_thick);
-       
-       z3 = (0, 7/16 interline);
-       z4 = z3 + whatever * (dir 30);
-       y4 = 1/2 interline ;
-       y5 = 4/16 interline;
-       x5 + crook_fatness/2 = w;
-       z6 = z2 + (0,-1) * (bottom_stem_thick - crook_thinness);
-
-       penpos3(crook_thinness, 90);
-       penpos4(crook_thinness, 90);
-       penpos5(crook_fatness, 0);
-       penpos6(crook_thinness, -90);
-       labels(1,2,3,4,5,6);
-       penstroke z3e{dir 32} .. z4e{dir 30} .. z5e{down} .. {dir 220}z6e;
-       enddef;
-       
-def flat_symbol (expr w, d, h)=
-       save stemwidth, bottom_stem_thick, top_stem_thick, 
-               crook_thinness, crook_fatness;
-       stemwidth = stafflinethickness;
-       crook_fatness = 1/4 interline;
-       crook_thinness =  stemwidth;
-       bottom_stem_thick =  5/4 stemwidth;
-       top_stem_thick = 2 stemwidth;
-       flat_meta_symbol(w,d,h, stemwidth, crook_fatness, crook_thinness, 
-               bottom_stem_thick, top_stem_thick);
-       enddef;
 
+       z4 = (3/8 interline, interline/2) + center;
+       penpos4(whatever, 53);
+       y4l - y4r = 2 crook_thinness ;
+%      y4l - y4r = 6/20[crook_thinness, crook_fatness] ;
+
+       y5r = 1/4 interline + ypart center;
+       x5l = w + xpart center;
+       penpos5(crook_fatness, -175);
+
+       z8 = (0, - interline/2 - stafflinethickness/2) + center;
+
+       z9 = (x5,0);
+
+       save ne_angle;
+       ne_angle = angle(z9 - z8);
+
+       z7 = 8/33 [z8,z9];
+       z6l = 18/33 [z8,z9] + .5 crook_thinness *dir(ne_angle -90);
+  
+       penpos7(crook_thinness, ne_angle + 90);
+
+       z6r = .3 (z9-z8) + z7r;
+
+%      penpos7(crook_thinness, angle(dir(z8-center) -180);
+
+       penpos8(whatever, ne_angle + 90);
+       x8r =  xpart center - bottom_stem_thick/2;
+       penlabels(range 0 thru 10);
+
+       z10 = (bottom_stem_thick/2, -1/5 interline) + center;
+
+       unfill z3r{up} .. z4r{right} .. tension .9 
+               .. z6r ---
+               z7r{left}
+               .. z10 {up} -- cycle;
+       fill z8r{down}
+               .. tension 0.8 ..z8l{(z9-z8)}
+               .. z7l
+               .. z6l
+               .. z5l{up}
+               .. z4l{left} .. z3l -- cycle;
+               
+       labels(10);
+enddef;
+
+       
 %
 % unfortunately, 600dpi is not enough to show the brush of the stem.
 %
 fet_beginchar("Flat", "-1", "flat")
-       set_char_box(0, 9/12 interline#, .5 interline#, 2 interline#);
-       flat_symbol (w, d, h);
+       set_char_box(1.2 stafflinethickness#, .8 interline#, .5 interline#, 2 interline#);
+       draw_meta_flat(0, w, 1/3 interline);
        fet_endchar;
 
+
 fet_beginchar("Double flat", "-2", "flatflat")
-       set_char_box(0, 18/12 interline#, .5 interline#, 2 interline#);
-       flat_symbol(w/2, d, h);
-       addto currentpicture also currentpicture
-               shifted (w/2 - stafflinethickness/2,0);
+       save left_wid, overlap, right_wid;
+       left_wid = .7;
+       right_wid = .8;
+       overlap = .05;
+       set_char_box(1.2 stafflinethickness#, (left_wid + right_wid -overlap) *interline#, .5 interline#, 2 interline#);
+       draw_meta_flat(0, left_wid*  interline, 1/3 interline);
+       draw_meta_flat((left_wid - overlap) *interline,  
+               right_wid *interline, 1/3 interline);
        fet_endchar;
-       
 
 fet_beginchar("Double sharp", "2", "sharpsharp")
        set_char_box(0, interline#, .5 interline#, .5 interline#);
diff --git a/mf/foo.mf b/mf/foo.mf
new file mode 100644 (file)
index 0000000..6bd9b64
--- /dev/null
+++ b/mf/foo.mf
@@ -0,0 +1,22 @@
+
+def simple_serif(expr p,q, a)= 
+       p{dir(angle(q-p) -a)} .. q{ - dir(angle(p -q) + a)}
+enddef;
+%
+% Accidentals from various sources, notably
+%
+%   Baerenreiter edition of Schuberts `Auf dem Strom' (sharp, natural, flat)
+%   F Hofmeister edition of Muellers `Etueden fuer Horn'  (double sharp)
+%
+
+
+%tracingall;
+%proofing := 2;
+%\tracingequations:= tracingonline := 1;
+
+fet_begingroup("accidentals");
+
+
+
+fet_endgroup("accidentals");
+
index e6809e22533e4f2dccba3fdf13921ef166ea1213..b941882ea80467cc1c745ecae2bfe43a27c4466d 100644 (file)
@@ -1,5 +1,5 @@
 % generated automatically by mf-to-table.py version 0.4
-% on Fri Oct 10 21:22:38 1997
+% on Tue Oct 14 23:56:57 1997
 % Do not edit
 % input from out/font-en-tja16.log
 % name
index 1791d0ebad895ab43e891b95560e2ea8d8899c60..e105c51ff3e09606b2a1c56d2c0229c40f854778 100644 (file)
@@ -1,5 +1,5 @@
 % generated automatically by mf-to-table.py version 0.4
-% on Fri Oct 10 21:22:44 1997
+% on Tue Oct 14 23:57:04 1997
 % Do not edit
 % input from out/font-en-tja20.log
 % name
index add2284b62b4939c64ccb8302cc82708db66214c..4e3b74bc83017fa269b695bd86001f38c988b7f2 100644 (file)
         % We know better
         \staffrulethickness=0.1\interlinedist
         \stemthickness=\staffrulethickness
-        \ledgerlinethickness=1.5\staffrulethickness
+        \ledgerlinethickness=2\staffrulethickness
 }
 
 
 \def\hslurcharu#1{{\hslurufont\char#1}}
 \def\hslurchard#1{{\hslurdfont\char#1}}
 % stacked numbers
-\def\generalmeter#1#2{\botalign{\vbox to0.5\balkheight{\vss \meterfont#1}%
-        \nointerlineskip
-        \vbox to 0.5\balkheight{\vss\meterfont #2}}}
+\def\generalmeter#1#2{\vbox to 0pt{\vss\hbox{\meterfont
+        #1}\nointerlineskip
+        \hbox{\meterfont #2}\vss}}
 
 % stacked horizontal lines 
 \def\lines#1#2#3{%