Hi,

after working on the arrowed accidentals I thought I'd give the
missing flags for 128th notes a try, which I believe were requested a
while ago (see issue 508). As always, comments are welcome.

Regards,
Max
From c5bff1e8dbf1313661d647756b5f6c58f731c0db Mon Sep 17 00:00:00 2001
From: Maximilian Albert <maximilian.alb...@gmail.com>
Date: Sun, 21 Dec 2008 00:20:24 +0100
Subject: [PATCH] Add 128th flags

---
 mf/feta-banier.mf    |   79 ++++++++++++++++++++++++++++++++++++++++++++++++++
 scm/define-grobs.scm |    4 +-
 2 files changed, 81 insertions(+), 2 deletions(-)

diff --git a/mf/feta-banier.mf b/mf/feta-banier.mf
index 729dd1d..f593c6f 100644
--- a/mf/feta-banier.mf
+++ b/mf/feta-banier.mf
@@ -247,6 +247,45 @@ fet_beginchar ("64th Flag (up)", "u6");
 fet_endchar;
 
 
+fet_beginchar ("128th Flag (up)", "u7");
+	save flare, hip_depth_ratio, hip_width, foot_depth, foot_width_ratio;
+	save flagspace, total_depth, flag_count;
+
+	flag_count = 5;
+	flare = .85 staff_space;
+	flagspace# = .93 staff_space#;
+	hip_depth_ratio = .72;
+	hip_width# = upflag_width# - hip_thickness# / 2;
+	total_depth# = 6.25 staff_space#;
+	foot_width_ratio = .8;
+
+	(flag_count - 1) * flagspace# + foot_depth# = total_depth#;
+
+	define_pixels (hip_width, foot_depth);
+	define_whole_vertical_pixels (flagspace);
+
+	set_char_box (0, hip_width# + right_upflag_space#,
+		      total_depth# + foot_thickness# / 2, stemthickness# / 2);
+
+	draw_flag ((0, -(flag_count - 1) * flagspace), flare,
+		   (hip_width, foot_depth),
+		   hip_depth_ratio, foot_width_ratio,
+		   hip_thickness, foot_thickness, 1);
+
+	add_flag (flagspace, flare, .97, 1.00, 1.3,
+		  hip_thickness, foot_thickness);
+	add_flag (flagspace, flare, 1.00, 1.00, 1.25,
+		  hip_thickness, foot_thickness);
+	add_flag (flagspace, flare, 1.00, 1.00, 1.25,
+		  hip_thickness, foot_thickness);
+	add_flag (flagspace, flare, 0.95, 1.05, 1.25,
+		  hip_thickness, foot_thickness);
+
+	draw_square_block ((-0.5 stemthickness_rounded, 0),
+			   (0, -5 staff_space_rounded));
+fet_endchar;
+
+
 fet_beginchar ("8th (down)", "d3");
 	save flare, hip_depth_ratio, hip_width, foot_depth, foot_width_ratio;
 	save flagspace, total_depth, flag_count;
@@ -468,4 +507,44 @@ fet_beginchar ("64th (down)", "d6");
 	y_mirror_char;
 fet_endchar;
 
+
+fet_beginchar ("128th (down)", "d7");
+	save flare, hip_depth_ratio, hip_width, foot_depth, foot_width_ratio;
+	save flagspace, total_depth, flag_count;
+
+	flag_count = 5;
+	flare = .8 staff_space;
+	flagspace# = .9 staff_space#;
+	hip_depth_ratio = .85;
+	hip_width# = downflag_width# - hip_thickness# / 2;
+	total_depth# = 5.25 staff_space#;
+	foot_width_ratio = .98;
+
+	(flag_count - 1) * flagspace# + foot_depth# = total_depth#;
+	define_pixels (hip_width, foot_depth);
+	define_whole_vertical_pixels (flagspace);
+
+	set_char_box (0, hip_width# + right_downflag_space#,
+		      total_depth# + foot_thickness# / 2, stemthickness# / 2);
+
+	draw_flag ((0, -(flag_count - 1) * flagspace), flare,
+		   (hip_width, foot_depth),
+		   hip_depth_ratio, foot_width_ratio,
+		   hip_thickness, foot_thickness, 0);
+
+	add_flag (flagspace, flare, .97, 1.20, 1.175,
+		  hip_thickness, foot_thickness);
+	add_flag (flagspace, flare, .97, 1.10, 1.175,
+		  hip_thickness, foot_thickness);
+	add_flag (.98 flagspace, flare, .91, 1.05, 1.2,
+		  hip_thickness, foot_thickness);
+	add_flag (.98 flagspace, flare, .91, 1.05, 1.2,
+		  hip_thickness, foot_thickness);
+
+	draw_square_block ((-0.5 stemthickness_rounded, 0),
+			   (0, -5 staff_space_rounded));
+
+	y_mirror_char;
+fet_endchar;
+
 fet_endgroup ("flags");
diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm
index 4009f6e..c7059d0 100644
--- a/scm/define-grobs.scm
+++ b/scm/define-grobs.scm
@@ -1641,8 +1641,8 @@
 	(details
 	 . (
 	    ;; 3.5 (or 3 measured from note head) is standard length
-	    ;; 32nd, 64th flagged stems should be longer
-	    (lengths . (3.5 3.5 3.5 4.5 5.0))
+	    ;; 32nd, 64th, 128th flagged stems should be longer
+	    (lengths . (3.5 3.5 3.5 4.5 5.0 6.0))
 
 	    ;; FIXME.  3.5 yields too long beams (according to Ross and
 	    ;; looking at Baerenreiter examples) for a number of common
-- 
1.5.4.3

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to