]> git.donarmstrong.com Git - lilypond.git/blobdiff - mf/feta-noteheads.mf
Adds a little curve to harmonic note heads
[lilypond.git] / mf / feta-noteheads.mf
index d976b2df947dd3fcf00ca3aff66984e9eb6478eb..82abf14e54bf3fb3ede1de6caab4cb6609a0f1cc 100644 (file)
@@ -98,11 +98,6 @@ def draw_longa (expr up) =
        draw_outside_ellipse (1.80, 0, 0.707, 0);
        undraw_inside_ellipse (1.30, 125, 0.68, 2 stafflinethickness#);
 
-       set_char_box (stemthick#,
-                     width# + stemthick#,
-                     noteheight# / 2,
-                     noteheight# / 2);
-
        pickup pencircle scaled stemthick;
 
        % Longas of smaller design sizes should have their lines longer.
@@ -117,8 +112,12 @@ def draw_longa (expr up) =
                quanted_line_length := max (0.77, line_length);
        fi;
 
+
        final_line_length := quanted_line_length * staff_space;
 
+       save boxtop, boxbot;
+       define_pixels (boxtop, boxbot);
+
        if up:
                bot y1 = -final_line_length;
                top y2 = final_line_length;
@@ -129,6 +128,8 @@ def draw_longa (expr up) =
                x4 = x3;
                top y4 = h + 3.0 staff_space;
                y3 = y1;
+               boxtop# := staff_space# * (quanted_line_length + 3.0) - stemthick# ;
+               boxbot# := staff_space# * quanted_line_length;
        else:
                bot y1 = -d - 3.0 staff_space;
                top y2 = final_line_length;
@@ -139,11 +140,18 @@ def draw_longa (expr up) =
                x4 = x3;
                y4 = y2;
                bot y3 = -final_line_length;
+               boxtop# := staff_space# * quanted_line_length;
+               boxbot# := staff_space# * (quanted_line_length + 3.0) - stemthick# ;
        fi;
 
        draw_gridline (z1, z2, stemthick);
        draw_gridline (z3, z4, stemthick);
 
+       set_char_box (stemthick#,
+                     width# + stemthick#,
+                     boxbot#,
+                     boxtop#);
+
        labels (1, 2, 3, 4);
 enddef;
 
@@ -200,11 +208,6 @@ def draw_brevis (expr linecount, line_thickness_multiplier) =
        draw_outside_ellipse (1.80, 0, 0.707, 0);
        undraw_inside_ellipse (1.30, 125, 0.68, 2 stafflinethickness#);
 
-       set_char_box (stemthick# * linecount + gap# * (linecount - 1),
-                     width# + stemthick# * linecount + gap# * (linecount - 1),
-                     noteheight# / 2,
-                     noteheight# / 2);
-
        define_pixels (gap);
        pickup pencircle scaled stemthick;
 
@@ -220,6 +223,11 @@ def draw_brevis (expr linecount, line_thickness_multiplier) =
                quanted_line_length := max (0.77, line_length);
        fi;
 
+       set_char_box (stemthick# * linecount + gap# * (linecount - 1),
+                     width# + stemthick# * linecount + gap# * (linecount - 1),
+                     staff_space# * quanted_line_length,
+                     staff_space# * quanted_line_length);
+
        bot y1 = -quanted_line_length * staff_space;
        top y2 = quanted_line_length * staff_space;
        rt x1 - fudge = 0;