From 6ea234295056cc74e1a813271bf6f748973c4306 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer Date: Mon, 25 Feb 2008 18:32:46 +0100 Subject: [PATCH] Show TupletBrackets also on single notes While tuplet brackets should not be printed for tuplets consisting of only one note (e.g. a note with tremolo!), the tuplet number still needs to be printed and can not be ignored. Since the tuplet number also uses the dimensions calculated by the tuplet bracket, the tuplet bracket at least needs to calculate it's theoretical size, too, even though it will not be printed for single-note tuplets. The check to kill zero-length tuplet brackets has thus been moved from calc_positions to print in Tuplet_bracket. Signed-off-by: Reinhold Kainhofer --- lily/tuplet-bracket.cc | 16 +++++----------- lily/tuplet-number.cc | 10 ---------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc index cfae0b9865..956da75f3d 100644 --- a/lily/tuplet-bracket.cc +++ b/lily/tuplet-bracket.cc @@ -280,8 +280,12 @@ Tuplet_bracket::print (SCM smob) else if (bracket == ly_symbol2scm ("if-no-beam")) bracket_visibility = !par_beam; + /* Don't print a tuplet bracket if no control-points were calculated or the tuplet + does not span any time, i.e. a single-note tuplet */ SCM cpoints = me->get_property ("control-points"); - if (scm_ilength (cpoints) < 2) + if (scm_ilength (cpoints) < 2 || + robust_scm2moment (me->get_bound (LEFT)->get_column ()->get_property ("when"), Moment (0)) + == robust_scm2moment (me->get_bound (RIGHT)->get_column ()->get_property ("when"), Moment (0))) { me->suicide (); return SCM_EOL; @@ -686,16 +690,6 @@ Tuplet_bracket::calc_positions (SCM smob) { Spanner *me = unsmob_spanner (smob); - /* - Don't print if it doesn't span time. - */ - if (robust_scm2moment (me->get_bound (LEFT)->get_column ()->get_property ("when"), Moment (0)) - == robust_scm2moment (me->get_bound (RIGHT)->get_column ()->get_property ("when"), Moment (0))) - { - me->suicide (); - return SCM_EOL; - } - Real dy = 0.0; Real offset = 0.0; calc_position_and_height (me, &offset, &dy); diff --git a/lily/tuplet-number.cc b/lily/tuplet-number.cc index 22d857bdd2..78697ca4b1 100644 --- a/lily/tuplet-number.cc +++ b/lily/tuplet-number.cc @@ -35,16 +35,6 @@ Tuplet_number::print (SCM smob) return SCM_EOL; } - /* - Don't print if it doesn't span time. - */ - if (robust_scm2moment (tuplet->get_bound (LEFT)->get_column ()->get_property ("when"), Moment (0)) - == robust_scm2moment (tuplet->get_bound (RIGHT)->get_column ()->get_property ("when"), Moment (0))) - { - me->suicide (); - return SCM_EOL; - } - SCM stc_scm = Text_interface::print (smob); Stencil *stc = unsmob_stencil (stc_scm); -- 2.39.2