]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 0.1.17.jcn1: pats
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 25 Sep 1997 09:56:09 +0000 (11:56 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 25 Sep 1997 09:56:09 +0000 (11:56 +0200)
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

21 files changed:
NEWS
VERSION
bin/convert-mudela.in
bin/mf-to-table.in
init/dyn10.ly
init/font-en-tja16.ly
init/font-en-tja20.ly
input/font.ly
make/Toplevel.make.in
mf/Makefile
mf/bolletjes.mf
mf/eindelijk.mf [new file with mode: 0644]
mf/font-en-tja16.mf
mf/font-en-tja20.mf
mi2mu/midi-track-parser.cc
mi2mu/mudela-item.cc
tex/dyn10.tex [new file with mode: 0644]
tex/fetdefs.tex
tex/font-en-tja16.tex [new file with mode: 0644]
tex/font-en-tja20.tex [new file with mode: 0644]
tex/taupindefs.tex

diff --git a/NEWS b/NEWS
index 296386883bb925c553d379d9e7257c3126e957c1..3dbecdea577140314961e30fb81ea7f6617e86fe 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,23 @@
+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
 pl 17
        - bf: ledgerline width
        - bf: toccata-fuga-E
        - took out some hardwiring of tex-beam
        
-pl 16.jcn2
-       - mf-to-table.in: generate mozarella metric info tables
+pl 16.jcn1
+       - mf-to-table.in: generate mozarella metric info tables
        - autometric.mf: write metric info to mf logfile
        - ital-r.mf, smaller ital-m.mf
        - variable streepjes length (top/bottomlines); fixed (for 20pt?)
diff --git a/VERSION b/VERSION
index fabc29c7218ef71921ee2a41af0c017ec996ec57..c7e2cb0a8413515f8202cebafab7900be07bff16 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -3,4 +3,4 @@ TOPLEVEL_MINOR_VERSION = 1
 TOPLEVEL_PATCH_LEVEL = 17
 
 # use to send patches, always empty for released version:
-TOPLEVEL_MY_PATCH_LEVEL = 
+TOPLEVEL_MY_PATCH_LEVEL = .jcn1
index 1efde362a5740671d6c7382612ebbabb6c13b1d6..8b05c1561ad7ad9835cd70fa1f446acabf1afe06 100644 (file)
@@ -254,10 +254,8 @@ sub  set_files
     if ($ARGV [0])  {
        $infile = $ARGV[0];
     } 
-    if (( ! -f $infile) && (! $infile =~ /\\.ly$/s ) ){
+    if (!(-f $infile) && !($infile =~ /\.ly$/s)) {
        $infile .= ".ly";
-       
-
     }
     if ($opt_edit && $infile ne "-") {
        $opt_edit = 1;
index 17a7c2f7a8ef678c3a7da7992264907434abebf5..dbca26c0041e8ca5e3c1b0d0decc8821964a38c0 100644 (file)
@@ -9,7 +9,7 @@ Ugh . Perl sux. Anybody for Python?
     
 =cut    
 
-$mf_to_table_version = 0.1;
+$mf_to_table_version = 0.2;
 
 use Getopt::Long;
 
@@ -30,32 +30,38 @@ sub usage
     . "Generate mozarella metrics table from preparated metafont log\n\n"
     . "Options:\n"
     . "  -h, --help             print this help\n"
-    . "  -o, --output=FILE      name output file\n"
+    . "  -l, --ly=FILE          name output table\n"
+    . "  -t, --tex=FILE         name output tex chardefs\n"
 }
 
 sub make_table
 {
     my $line;
     my $indent = 0;
+    my $lineno=0;
     while ($line = <IN>) {
+       $lineno++;
        if ($line =~ /^@@/) {
            $line =~ s/^@@(.*)@@/$1/;
            chop ($line);
            my @fields = split (/:/,$line);
            my $label = $fields [0];
            my $name = $fields [1];
-           print OUT "\t" x $indent;
+           print OUTLY "\t" x $indent;
            if ($label eq "font") {
-               print OUT "% $name=\\symboltables {\n";
+               print OUTLY "% $name=\\symboltables {\n";
+               print OUTTEX "% $name\n";
                $indent++;
            } elsif ($label eq "group") {
-               print OUT "\"$name\" = \\table {\n";
+               print OUTLY "\"$name\" = \\table {\n";
+               print OUTTEX "% $name\n";
                $indent++;
            } elsif ($label eq "puorg") {
-               print OUT "}\n";
+               print OUTLY "}\n";
+               print OUTTEX "\n";
                $indent--;
            } elsif ($label eq "tnof") {
-               print OUT "%  } % $name\n";
+               print OUTLY "%  } % $name\n";
                $indent--;
            } elsif ($label eq "char") {
                my $c = $fields [2];
@@ -64,9 +70,10 @@ sub make_table
                my $d = $fields [5];
                my $id = $fields [6];
                my $texstr = $fields [7];
-               print OUT sprintf( "\"%s\"\t\"\\%s\"\t%.2f\\pt\t%.2f\\pt\t%.2f\\pt\t%.2f\\pt\n", $id, $texstr, 0, $w, $h, $d );
+               print OUTLY sprintf( "\"%s\"\t\"\\%s\"\t%.2f\\pt\t%.2f\\pt\t%.2f\\pt\t%.2f\\pt\n", $id, $texstr, 0, $w, $h, $d );
+               print OUTTEX sprintf( "\\fetdef\\%s{%d}\n", $texstr, $c);
            } else {
-               print STDERR "mf-to-table: unknown label: \`$label\'\n";
+               print STDERR "mf-to-table: $lineno: unknown label: \`$label\'\n";
            }
        }
     }
@@ -74,16 +81,28 @@ sub make_table
       
 sub  set_files 
 {
-    $infile = "-";
-    $outfile = "-";
-    $outfile = $opt_output if (defined($opt_output));
-
     if ($ARGV [0])  {
        $infile = $ARGV[0];
     } 
-    if (( ! -f $infile) && (! $infile =~ /\\.log$/s ) ){
+    if (!(-f $infile) && !($infile =~ /\.log$/s )) {
        $infile .= ".log";
     }
+
+    if (defined($opt_ly)) {
+       $lyfile = $opt_ly;
+    }
+    else {
+       $lyfile = $infile;
+       $lyfile =~ s/\.log$/.ly/;
+    }
+    if (defined($opt_tex)) {
+       $texfile = $opt_tex;
+    }
+    else {
+       $texfile = $infile;
+       $texfile =~ s/\.log$/.tex/;
+    }
+
     print STDERR "Input ", (($infile eq "-") ?"STDIN" : $infile), " .. \n";
 }
 
@@ -92,14 +111,20 @@ sub do_one_arg
     set_files;
 
     die "can't open \`$infile\'" unless open IN,$infile ;
-    die "can't open \`$outfile\'" unless open OUT, ">$outfile";
-    print OUT "% generated at " . localtime() . " from $infile\n";
-    print OUT "% changes will be lost\n";
+
+    die "can't open \`$lyfile\'" unless open OUTLY, ">$lyfile";
+    print OUTLY "% generated at " . localtime() . " from $infile\n";
+    print OUTLY "% changes will be lost\n\n";
+
+    die "can't open \`$texfile\'" unless open OUTTEX, ">$texfile";
+    print OUTTEX "% generated at " . localtime() . " from $infile\n";
+    print OUTTEX "% changes will be lost\n\n";
     
     make_table;
 
     close IN;
-    close OUT;
+    close OUTLY;
+    close OUTTEX;
 }
 
 ## "main"
@@ -107,7 +132,7 @@ sub do_one_arg
 identify;
 
 #GetOptions ("help", "output=s", "from=i", "to=i", "minor=i", "edit", "show-rules");
-GetOptions ("help", "output=s");
+GetOptions ("help", "ly=s", "tex=s");
 
 if ($opt_help) {
     usage();
@@ -115,7 +140,7 @@ if ($opt_help) {
     exit 0;
 }
 
-local ($infile,$outfile);
+local ($infile,$lyfile,$texfile);
 my $processed_one=0;
 
 while (defined($ARGV[0])) {
index 6819259da478d4426837092709ae65b12ec752c8..b0697a1e61f8365f0cecc18c3aab21568973e69b 100644 (file)
@@ -1,4 +1,5 @@
-% generated at Mon Sep 22 21:28:05 1997 from out/dyn10.log
+% generated at Thu Sep 25 01:22:50 1997 from out/dyn10.log
 % changes will be lost
+
 % dyn=\symboltables {
        %  } % dyn
index 906985ce02ba1214b9a94550e6108e2b90cff63e..905ba2cf9a00c3b8794de3218c395f03a8b4cab9 100644 (file)
@@ -1,11 +1,20 @@
-% generated at Mon Sep 22 22:26:51 1997 from out/font-en-tja16.log
+% generated at Thu Sep 25 01:22:51 1997 from out/font-en-tja16.log
 % changes will be lost
+
 % font-en-tja=\symboltables {
        "balls" = \table {
                "0"     "\wholeball"    0.00\pt 8.64\pt 4.80\pt 0.00\pt
-               "1"     "\halfball"     0.00\pt 5.97\pt 4.80\pt 0.00\pt
-               "2"     "\quartball"    0.00\pt 5.88\pt 4.80\pt 0.00\pt
-               "-1"    "\breveball"    0.00\pt 9.60\pt 4.80\pt 0.00\pt
-               "-2"    "\longaball"    0.00\pt 9.60\pt 4.80\pt 0.00\pt
+               "1"     "\halfball"     0.00\pt 6.01\pt 4.80\pt 0.00\pt
+               "2"     "\quartball"    0.00\pt 5.76\pt 4.80\pt 0.00\pt
+               "-1"    "\breveball"    0.00\pt 8.00\pt 4.00\pt 0.00\pt
+               "-2"    "\longaball"    0.00\pt 8.00\pt 4.00\pt 0.00\pt
+               }
+       "almostrests" = \table {
+               "4"     "\quartrest"    0.00\pt 4.00\pt 16.00\pt        0.00\pt
+               "-2"    "\eighthrest"   0.00\pt 5.33\pt 7.47\pt 0.00\pt
+               "-2"    "\sixteenthrest"        0.00\pt 5.33\pt 11.47\pt        0.00\pt
+               "-2"    "\thirtysecondrest"     0.00\pt 5.33\pt 15.47\pt        0.00\pt
+               "-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
                }
        %  } % font-en-tja
index c5e308b6943dd0ace8c7a5b96a4d885577f88279..cabba87281004c7ebe171997932e389e6972646b 100644 (file)
@@ -1,11 +1,20 @@
-% generated at Mon Sep 22 22:28:11 1997 from out/font-en-tja20.log
+% generated at Thu Sep 25 01:22:52 1997 from out/font-en-tja20.log
 % changes will be lost
+
 % font-en-tja=\symboltables {
        "balls" = \table {
                "0"     "\wholeball"    0.00\pt 10.44\pt        5.80\pt 0.00\pt
-               "1"     "\halfball"     0.00\pt 7.21\pt 5.80\pt 0.00\pt
-               "2"     "\quartball"    0.00\pt 7.10\pt 5.80\pt 0.00\pt
-               "-1"    "\breveball"    0.00\pt 11.60\pt        5.80\pt 0.00\pt
-               "-2"    "\longaball"    0.00\pt 11.60\pt        5.80\pt 0.00\pt
+               "1"     "\halfball"     0.00\pt 7.26\pt 5.80\pt 0.00\pt
+               "2"     "\quartball"    0.00\pt 6.97\pt 5.80\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
                }
        %  } % font-en-tja
index 4e3a499da1a39f50b12cc0547624a687d4031b9f..1a1cd0b9bc8972c8f7e476fac381566dc63ac0c6 100644 (file)
@@ -10,13 +10,14 @@ TestedFeatures      font-en-tja
        \melodic{ 
                \octave c';
                \meter 4/4;
-               \longa
-               % \breve % \brevis
+               a\longa
+               a\breve
                c1 g c' a'
                c2 g c' a'
                c4 g c' a'
                a\ppp a\pp a\p a\mp a\mf a\f a\ff a\fff
                a\fp a\sf a\sfz % a\fz a\rf
+               r1 r2 r4 r8 r16 r32 r64 r128
        }
        \paper{ 
            \paper_twenty
index 5de434c16186931b906f3e3307f8d8107b3c2187..e472fde4112eb27999b55a8f9acfa4ac6b802def 100644 (file)
@@ -27,8 +27,8 @@ include ./$(depth)/make/Variables.make
 
 # descent order into subdirectories:
 #
-SUBDIRS = bin flower lib lily mf mi2mu \
-       Documentation init input tex make
+SUBDIRS = flower lib lily mf mi2mu \
+       Documentation bin init input tex make
 #
 
 # list of distribution files:
index 556d777dd776f1bb9ab9efc97d4d4d93fed7e616..42acbad8f97d2d5fb2d9ec9298a24ab4d3e626aa 100644 (file)
@@ -16,22 +16,24 @@ EXTRA_DISTFILES = $(MFFILES) $(TEXFILES) TODO
 #
 
 FONT_FILES = $(wildcard *[0-9].mf)
-tableout = $(depth)/init
-TABLES = $(addprefix $(tableout)/, $(FONT_FILES:.mf=.ly))
+lyout = $(depth)/init
+texout = $(depth)/tex
+LYTABLES = $(addprefix $(lyout)/, $(FONT_FILES:.mf=.ly))
+TEXTABLES = $(addprefix $(texout)/, $(FONT_FILES:.mf=.tex))
 #
 
-all: $(TABLES)
+all: $(LYTABLES) $(TEXTABLES)
 
-localclean:
-#      rm -f $(TABLES)
+localclean:
+       rm -f $(LYTABLES) $(TEXTABLES)
 
 $(outdir)/%.log: %.mf
        mf $<
        mv $(@F) $@
        rm $(shell basename $< .mf).*gf
 
-$(tableout)/%.ly: $(outdir)/%.log
-       mf-to-table -o $@ $<
+$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log
+       mf-to-table -l $(lyout)/$(<F:.log=.ly) -t $(texout)/$(<F:.log=.tex) $<
        
 localinstall:
        $(INSTALL) -d $(MFDIR)/lilypond
@@ -43,9 +45,13 @@ localuninstall:
 
 # dependencies:
 #
-$(tableout)/dyn10.ly: autometric.mf ital-f.mf ital-m.mf ital-p.mf ital-r.mf ital-s.mf ital-z.mf dyn10.mf
-$(tableout)/font-en-tja16.ly: autometric.mf bolletjes.mf font-en-tja16.mf
-$(tableout)/font-en-tja20.ly: autometric.mf bolletjes.mf font-en-tja20.mf
+$(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
+$(lyout)/font-en-tja20.ly: autometric.mf bolletjes.mf eindelijk.mf font-en-tja20.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
+$(texout)/font-en-tja20.tex: autometric.mf bolletjes.mf eindelijk.mf font-en-tja20.mf
 #
 
 
index 9d7052d0c23ed9dfe407625eefb53fed5a4d7477..fadb1683cd2e9dbee836b432e3f2dacc5c994cdc 100644 (file)
@@ -4,9 +4,10 @@
 % most beautiful bolletjes are pronounced, not circular, 
 % and not even symmetric.
 
-% interline#:=staffsize#/(stafflines-1)+stafflinethickness#;
+interline#:=staffsize#/(stafflines-1);
+%noteheight#:=interline#;
 % even more pronounced (almost overdone), just like the original
-interline#:=staffsize#/(stafflines-1)+2stafflinethickness#;
+noteheight#:=interline#+2stafflinethickness#;
 
 def test_grid =
 if test>1:
@@ -34,9 +35,9 @@ def begin_notehead =
        save b_h,a_w;
        enddef;
 
-def end_notehead(expr code,interline,name,id,texstr) =
+def end_notehead(expr code,height,name,id,texstr) =
        save a,b,h,w,ai,bi;
-       h#=interline;
+       h#=height;
        2b#=h#*b_h;
        a#=b#*a_b;
        w#=2a#/a_w;
@@ -79,16 +80,19 @@ begin_notehead;
        alpha:=0;
        super:=0.707;
        ai_a:=0.508;
-       ai_bi:=1.23;
+       % ai_bi:=1.23;
+       ai_bi:=1.30; % jcn
        % err_y_ai:=0.0938;
        % err_x_bi:=0;
        err_y_ai:=0;
        err_x_bi:=0.115;
-       alphai:=135;
-       superi:=0.69;
+       % alphai:=135;
+       alphai:=125; % jcn
+       % superi:=0.69;
+       superi:=0.68; % jcn
        b_h:=1; %no rotate-> no height correction
        a_w:=1; % no rotate-> no width correction
-       end_notehead(incr code,interline#,"Whole notehead","0","wholeball");
+       end_notehead(incr code,noteheight#,"Whole notehead","0","wholeball");
 
 % half note
 % Wanske, p.39
@@ -97,16 +101,19 @@ begin_notehead;
        a_b:=1.50; % after drawing
        err_y_a:=0.157;
        alpha:=34;
-       super:=0.66;
-       ai_a:=0.863;
-       ai_bi:=3.14;
+       % super:=0.66;
+       super:=0.67; % jcn
+       % ai_a:=0.863;
+       ai_a:=0.850; % jcn
+       % ai_bi:=3.14;
+       ai_bi:=3.30; % jcn
        err_y_ai:=0;
        err_x_bi:=-0.12;
        alphai:=alpha;
        superi:=0.80;
        b_h:=0.935;
        a_w:=1.12;
-       end_notehead(incr code,interline#,"Half notehead","1","halfball");
+       end_notehead(incr code,noteheight#,"Half notehead","1","halfball");
 
 % quarter note
 % Wanske p.38
@@ -124,7 +131,7 @@ begin_notehead;
        superi:=0.707;
        b_h:=0.85;
        a_w:=1.09;
-       end_notehead(incr code,interline#,"Quarter notehead","2","quartball");
+       end_notehead(incr code,noteheight#,"Quarter notehead","2","quartball");
 
 % from MO*gen.mf
 lthick:=.4pt;
diff --git a/mf/eindelijk.mf b/mf/eindelijk.mf
new file mode 100644 (file)
index 0000000..ff2dc89
--- /dev/null
@@ -0,0 +1,178 @@
+% eindelijk.mf
+% LilyPond's own rest(s)
+
+define_pixels(interline);
+define_pixels(stafflinethickness);
+% MO*TeX stuff
+nhh#:=interline#;
+nhw#:=6/5*interline#;
+define_pixels(nhh,nhw);
+
+
+
+med#:=1/33designsize;
+thick#:=1/16designsize;
+define_blacker_pixels(med,thick);
+pen med_pen;
+med_pen:= pencircle scaled med;
+
+rthin:=1/8interline;
+% rthick:=2rthin;
+rthick:=2thick+rthin;
+
+def shift_pic (expr pone, ptwo) =
+  currentpicture:=currentpicture shifted (round(pone),round(ptwo))
+enddef;
+
+% ugh, dunno how to generate doubles "outside*" rests?
+fet_begingroup("almostrests");
+
+% stem#:=1/8interline#;
+stem#:=1/5interline#;
+flare#:=2/3interline#;
+define_pixels(stem,flare);
+
+fet_beginchar(incr code,interline#,4interline#,0,"Quarter rest","4","quartrest");
+       alpha:=-50;
+       penpos1(rthin,alpha+90);
+       penpos2(5/4rthick,alpha);
+       penpos4(5/4rthick,alpha);
+       penpos3(3/4rthick,alpha);
+       penpos6(rthin,alpha-20);
+       penpos7(4/3thick,alpha);
+       penpos8(rthin,-10);
+       y1l=7/2nhh; x1l=1/3nhh;
+       z2r=z1+(nhh*right) rotated alpha;
+       z3=1/2[z2,z4];
+       x4=3/8nhh; y4=2nhh;
+       z6=z4l+(5/4nhh*right) rotated alpha;
+       x7l=x4l; y7r=y6l;
+       x8=1/3nhw; y8= nhh-1/4nhh;
+       z5=z6r shifted (sqrt(2)*rthin/4,sqrt(2)*rthin/4);
+
+       pickup penrazor scaled rthin rotated 45;
+       draw z1--z2r; 
+       draw z4l--z5;
+       penstroke z2e..z3e..z4e;
+       penstroke z6e..tension1.4..z7e..tension1.4..z8e;
+       penlabels(1,2,3,4,5,6,7,8);
+       endchar;
+
+def crook(expr a,w) =
+       begingroup;
+       save x,y;
+       penpos1(flare/2,-90);
+       penpos2(flare/2,0);
+       penpos3(flare/2,90);
+       penpos4(flare/2,180);
+       x4r=xpart a-w; y3r=ypart a+flare/4;
+       x1l=x2l=x3l=x4l;
+       y1l=y2l=y3l=y4l;
+       penpos5(stem,250);
+       x5=x4r+9/8flare; y5r=y1r;
+       penpos6(stem,260);
+       x6l=xpart a; y6l=ypart a;
+       penstroke z1e..z2e..z3e..z4e..z1e..z5e{right}..z6e;
+       penlabels(1,2,3,4,5,6);
+       endgroup;
+       enddef;
+
+def brush(expr a,w,b,v) =
+       begingroup;
+       save x,y;
+       z1=a; z2=b;
+       penpos3(w,angle(z2-z1)+90);
+       penpos4(w,angle(z2-z1));
+       penpos5(v,angle(z1-z2)+90);
+       penpos6(v,angle(z1-z2));
+       x3=x4=x1; y3=y4=y1;
+       x5=x6=x2; y5=y6=y2;
+       fill z3r{z1-z2}..z4l..{z2-z1}z3l..z5r{z2-z1}..z6l..{z1-z2}z5l..cycle;
+       penlabels(1,2,3,4,5,6);
+       endgroup;
+       enddef;
+
+fet_beginchar(incr code,4/3interline#,5/3interline#+2stafflinethickness#,0,"8th rest","-2","eighthrest");
+       save x,y;
+       x1=w-stem/6; y1=h-flare/4;
+       crook (z1,w-stem/6);
+       z2-z1=whatever*dir70;
+       y2=stem/2;
+       brush (z1,stem/3,z2,stem);
+       % ugh
+       currentpicture:=currentpicture shifted (0,interline);
+%      currentpicture:=currentpicture shifted (0,interline+2stafflinethickness);
+       endchar;
+
+fet_beginchar(incr code,4/3interline#,5/3interline#+interline#+2stafflinethickness#,0,"16th rest","-2","sixteenthrest");
+       save x,y;
+       x1=w-stem/6; y1=h-flare/4;
+       z2-z1=whatever*dir74;
+       y2=stem/2;
+       brush (z1,stem/2,z2,stem);
+       crook (z1,7/8w);
+       z3-z1=whatever*dir74;
+       y3=y1-interline;
+       crook (z3,7/8w);
+%      currentpicture:=currentpicture shifted (0,2stafflinethickness);
+       endchar;
+
+fet_beginchar(incr code,4/3interline#,5/3interline#+2interline#+2stafflinethickness#,0,"32th rest","-2","thirtysecondrest");
+       save x,y;
+       x1=w-stem/6; y1=h-flare/4;
+       z2-z1=whatever*dir76;
+       y2=stem/2;
+       brush (z1,stem/2,z2,stem);
+       crook (z1,7/8w);
+       z3-z1=whatever*dir76;
+       y3=y1-interline;
+       crook (z3,7/8w);
+       z4-z1=whatever*dir76;
+       y4=y1-2interline;
+       crook (z4,7/8w);
+%      currentpicture:=currentpicture shifted (0,2stafflinethickness);
+       endchar;
+
+fet_beginchar(incr code,4/3interline#,5/3interline#+3interline#+2stafflinethickness#,0,"64th rest","-2","sixtyfourthrest");
+       save x,y;
+       x1=w-stem/6; y1=h-flare/4;
+       z2-z1=whatever*dir78;
+       y2=stem/2;
+       brush (z1,stem/2,z2,stem);
+       crook (z1,7/8w);
+       z3-z1=whatever*dir78;
+       y3=y1-interline;
+       crook (z3,7/8w);
+       z4-z1=whatever*dir78;
+       y4=y1-2interline;
+       crook (z4,7/8w);
+       z5-z1=whatever*dir78;
+       y5=y1-3interline;
+       crook (z5,7/8w);
+%      currentpicture:=currentpicture shifted (0,2stafflinethickness);
+       endchar;
+
+fet_beginchar(incr code,4/3interline#,5/3interline#+4interline#+2stafflinethickness#,0,"128th rest","-2","hundredtwentyeighthrest");
+       save x,y;
+       x1=w-stem/6; y1=h-flare/4;
+       z2-z1=whatever*dir80;
+       y2=stem/2;
+       brush (z1,stem/2,z2,stem);
+       crook (z1,7/8w);
+       z3-z1=whatever*dir80;
+       y3=y1-interline;
+       crook (z3,7/8w);
+       z4-z1=whatever*dir80;
+       y4=y1-2interline;
+       crook (z4,7/8w);
+       z5-z1=whatever*dir80;
+       y5=y1-3interline;
+       crook (z5,7/8w);
+       z6-z1=whatever*dir80;
+       y6=y1-4interline;
+       crook (z6,7/8w);
+%      currentpicture:=currentpicture shifted (0,2stafflinethickness);
+       endchar;
+
+fet_endgroup("rests");
+
index aa75cc4d160bef8cf9ec17743be7de74671a655b..c4bec4c8b996bd2ad373af3c38963b54792ad372 100644 (file)
@@ -17,6 +17,7 @@ stafflinethickness#:=0.4pt#;
 code:=-1;
 
 input bolletjes;
+input eindelijk;
 
 fet_endfont("font-en-tja");
 
index f7dcf17232a72006d05cfa06160fa2321c4adc34..f58aedfb62a1367455b03f0ef52dc64346b33a2f 100644 (file)
@@ -15,6 +15,7 @@ stafflinethickness#:=0.4pt#;
 code:=-1;
 
 input bolletjes;
+input eindelijk;
 
 fet_endfont("font-en-tja");
 
index 028c3face3f749a77e6ae86d8361577743a25180..b7472aab85005b0992b9f8e6ab913baae86dd76f 100644 (file)
@@ -51,6 +51,8 @@ Midi_track_parser::note_end (Mudela_column* col_l, int channel_i, int pitch_i, i
   // junk dynamics
   (void)aftertouch_i;
 
+  assert (col_l);
+
   for (PCursor<Mudela_note*> i (open_note_l_list_.top ()); i.ok (); i++) 
     {
       if ((i->pitch_i_ == pitch_i) && (i->channel_i_ == channel_i)) 
@@ -72,12 +74,13 @@ void
 Midi_track_parser::note_end_all (Mudela_column* col_l) 
 {
   // find 
-  for  (PCursor<Mudela_note*> i (open_note_l_list_.top ()); i.ok (); i++) 
+  assert (col_l);
+  for (PCursor<Mudela_note*> i (open_note_l_list_.top ()); i.ok (); i++) 
     {
       i->end_column_l_ = col_l;
       i.remove_p();
       // ugh
-      if  (!i.ok())
+      if (!i.ok())
        break;
     }
 }
@@ -96,6 +99,9 @@ Midi_track_parser::parse (Mudela_column* col_l)
   if (!eot())
     return 0;
 
+  // vangnet
+  note_end_all (col_l);
+
   Mudela_staff* p = mudela_staff_p_;
   mudela_staff_p_ = 0;
   return p;
@@ -265,7 +271,7 @@ Midi_track_parser::parse_event (Mudela_column* col_l)
            {
              next_byte ();
              unsigned useconds_per_4_u = get_u (3);
-             // $$ = new Mudela_tempo ( ($2 << 16) +  ($3 << 8) + $4);
+             // $$ = new Mudela_tempo ( ($2 << 16) + ($3 << 8) + $4);
              // LOGOUT (DEBUG_ver) << $$->str() << endl;
              Mudela_tempo* p = new Mudela_tempo ( useconds_per_4_u );
              item_p = p;
index 7a69984b9a618825f010908bea1cf632ad36c4f9..cc7bacdfa5ff3c711071e99e9488b20c5c405c81 100644 (file)
@@ -175,6 +175,7 @@ Mudela_note::duration_mom ()
 {
 // ugh
 //    return Duration_convert::dur2_mom (duration ());
+  assert (end_column_l_);
   return end_column_l_->at_mom () - at_mom ();
 }
 
diff --git a/tex/dyn10.tex b/tex/dyn10.tex
new file mode 100644 (file)
index 0000000..b63ddfb
--- /dev/null
@@ -0,0 +1,4 @@
+% generated at Thu Sep 25 01:22:50 1997 from out/dyn10.log
+% changes will be lost
+
+% dyn
index 7ec690ab1fd51d39f482f0595e1025501b4bdef4..049a3a59e7dc07a6da501999ffd5f5416f487ea7 100644 (file)
@@ -3,19 +3,11 @@
         \font\fontentja=font-en-tja16
 }
 \def\fettwentydefs{
-  \font\fontentja=font-en-tja20
+       \font\fontentja=font-en-tja20
 }
 
-
 % \def\fetdef#1#2{\def#1{\fetchar{#2}}}
 % ugh, linewidth, ugh, tablexx.ly balldims not used!
 \def\fetdef#1#2{\def#1{\lower.5\staffrulethickness\hbox{\fetchar{#2}}}}
 \def\fetchar#1{\fontentja\char#1}
-\fetdef\quartball{'002}
-\fetdef\halfball{'001}
-\fetdef\wholeball{'000}
-% \fetdef\breveball{'003}
-% \fetdef\longaball{'004}
-% \musicdef\quartball{'007}
-% \musicdef\halfball{'010}
-% \musicdef\wholeball{'011}
+\input font-en-tja20
diff --git a/tex/font-en-tja16.tex b/tex/font-en-tja16.tex
new file mode 100644 (file)
index 0000000..3e3f447
--- /dev/null
@@ -0,0 +1,19 @@
+% generated at Thu Sep 25 01:22:51 1997 from out/font-en-tja16.log
+% changes will be lost
+
+% font-en-tja
+% balls
+\fetdef\wholeball{0}
+\fetdef\halfball{1}
+\fetdef\quartball{2}
+\fetdef\breveball{3}
+\fetdef\longaball{4}
+
+% almostrests
+\fetdef\quartrest{5}
+\fetdef\eighthrest{6}
+\fetdef\sixteenthrest{7}
+\fetdef\thirtysecondrest{8}
+\fetdef\sixtyfourthrest{9}
+\fetdef\hundredtwentyeighthrest{10}
+
diff --git a/tex/font-en-tja20.tex b/tex/font-en-tja20.tex
new file mode 100644 (file)
index 0000000..42b2b50
--- /dev/null
@@ -0,0 +1,19 @@
+% generated at Thu Sep 25 01:22:52 1997 from out/font-en-tja20.log
+% changes will be lost
+
+% font-en-tja
+% balls
+\fetdef\wholeball{0}
+\fetdef\halfball{1}
+\fetdef\quartball{2}
+\fetdef\breveball{3}
+\fetdef\longaball{4}
+
+% almostrests
+\fetdef\quartrest{5}
+\fetdef\eighthrest{6}
+\fetdef\sixteenthrest{7}
+\fetdef\thirtysecondrest{8}
+\fetdef\sixtyfourthrest{9}
+\fetdef\hundredtwentyeighthrest{10}
+
index 290e711cb904970eec8c78f987600c1526f8b423..77ffb3bcec4d40cda12d8e721208c0248797e80c 100644 (file)
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % provide interface to musixtex fonts 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\musicdef\breveball{'040}
-\musicdef\longaball{'047}
+% \musicdef\breveball{'040}
+% \musicdef\longaball{'047}
+% \musicdef\quartball{'007}
+% \musicdef\halfball{'010}
+% \musicdef\wholeball{'011}
 \musicdef\halfrest{'074}
 \musicdef\wholerest{'075}
 \musicdef\breverest{'072}
 %% hmm
 \musicdef\outsidehalfrest{10}
 \musicdef\outsidewholerest{11}
-\musicdef\quartrest{62}
-\musicdef\eighthrest{63}
-\musicdef\sixteenthrest{64}
-\musicdef\thirtysecondrest{65}
-\musicdef\sixtyfourthrest{66}
-\musicdef\hundredtwentyeighthrest{67}
+\musicdef\quartrest{62}
+\musicdef\eighthrest{63}
+\musicdef\sixteenthrest{64}
+\musicdef\thirtysecondrest{65}
+\musicdef\sixtyfourthrest{66}
+\musicdef\hundredtwentyeighthrest{67}
 \musicdef\sharp{52}
 \musicdef\flat{50}
 \musicdef\natural{54}