Index: lily/accidental.cc |
diff --git a/lily/accidental.cc b/lily/accidental.cc |
index 0e81a6bea299105e2a66cf1459e2de6b8a03a588..de15b45010d0b445b753478d6613c3b399118218 100644 |
--- a/lily/accidental.cc |
+++ b/lily/accidental.cc |
@@ -37,7 +37,7 @@ static SCM |
get_extent (Grob *me, Axis a) |
{ |
Stencil *s = unsmob_stencil (Accidental_interface::get_stencil (me)); |
- |
+ |
if (s) |
return ly_interval2scm (s->extent (a)); |
return ly_interval2scm (Interval ()); |
@@ -143,7 +143,7 @@ Accidental_interface::accurate_boxes (Grob *me, Grob **common) |
TODO: add support for, double flat. |
*/ |
} |
- |
+ |
if (!boxes.size ()) |
boxes.push_back (b); |
@@ -162,6 +162,23 @@ Accidental_interface::print (SCM smob) |
{ |
Grob *me = unsmob_grob (smob); |
Grob *tie = unsmob_grob (me->get_object ("tie")); |
+ SCM br = me->get_property("break-reminder"); |
+ if (br != SCM_EOL) |
+ { |
+ if (! (tie && tie->original ())) |
+ { |
+ me->suicide (); |
+ return SCM_EOL; |
+ } |
+ } |
+ else |
+ { |
+ if (tie && tie->original ()) |
+ { |
+ me->suicide (); |
+ return SCM_EOL; |
+ } |
+ } |
joeneeman
2009/03/29 03:42:01
I'm a little confused about this. Depending on whe
|
if (tie && !tie->original () |
&& !to_boolean (me->get_property ("forced"))) |
@@ -177,7 +194,7 @@ SCM |
Accidental_interface::get_stencil (Grob *me) |
{ |
Font_metric *fm = Font_interface::get_default_font (me); |
- |
+ |
SCM alist = me->get_property ("glyph-name-alist"); |
SCM alt = me->get_property ("alteration"); |
SCM glyph_name = ly_assoc_get (alt, alist, SCM_BOOL_F); |
@@ -217,6 +234,7 @@ ADD_INTERFACE (Accidental_interface, |
/* properties */ |
"alteration " |
"avoid-slur " |
+ "break-reminder " |
"forced " |
"parenthesized " |
"restore-first " |