From 56852db5bbe953c74386437fe9ca596540e684f5 Mon Sep 17 00:00:00 2001 From: Bertrand Bordage Date: Thu, 23 Jun 2011 01:27:12 +0200 Subject: [PATCH] New breve rest with ledger lines --- lily/rest.cc | 3 ++- mf/feta-rests.mf | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lily/rest.cc b/lily/rest.cc index 9b85523f80..c064e5a980 100644 --- a/lily/rest.cc +++ b/lily/rest.cc @@ -80,7 +80,7 @@ string Rest::glyph_name (Grob *me, int balltype, string style, bool try_ledgers) { bool is_ledgered = false; - if (try_ledgers && (balltype == 0 || balltype == 1)) + if (try_ledgers && (balltype == -1 || balltype == 0 || balltype == 1)) { Real rad = Staff_symbol_referencer::staff_radius (me) * 2.0; Real pos = Staff_symbol_referencer::get_position (me); @@ -90,6 +90,7 @@ Rest::glyph_name (Grob *me, int balltype, string style, bool try_ledgers) could bemore generic, but hey, we understand this even after dinner. */ + is_ledgered |= (balltype == -1) && (pos <= -rad - 3 || pos >= +rad + 1); is_ledgered |= (balltype == 0) && (pos >= +rad + 2 || pos < -rad); is_ledgered |= (balltype == 1) && (pos <= -rad - 2 || pos > +rad); } diff --git a/mf/feta-rests.mf b/mf/feta-rests.mf index 4f27080179..1e416d36d3 100644 --- a/mf/feta-rests.mf +++ b/mf/feta-rests.mf @@ -125,6 +125,24 @@ fet_beginchar ("breve rest", "M1"); draw_staff (-2, 2, 0); fet_endchar; +fet_beginchar ("breve rest (outside staff)", "M1o"); + set_char_box (0, breve_rest_x#, + ledgerlinethickness# / 2, breve_rest_y#); + + draw_block ((0, 0), (breve_rest_x, breve_rest_y)); + + pickup pencircle scaled ledgerlinethickness; + + y5 = y6 = breve_rest_y; + lft x5 = -b - breve_rest_y / 2; + rt x6 = w + breve_rest_y / 2; + + draw_gridline (z5, z6, ledgerlinethickness_rounded); + draw_gridline ((x5, 0), (x6, 0), ledgerlinethickness_rounded); + + draw_staff (-2, 2, 3); +fet_endchar; + fet_beginchar ("Quarter rest", "2"); save alpha, yshift, height; -- 2.39.2