From: Han-Wen Nienhuys Date: Sat, 17 Feb 2007 23:23:50 +0000 (+0100) Subject: Fix #301. X-Git-Tag: release/2.11.19-1~1 X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=commitdiff_plain;h=26f8d7dd82ea8a9d601bfb43ba1a3808e3423281;p=lilypond.git Fix #301. Clear stopped_tuplets_ and new_tuplets_ twice. --- diff --git a/input/regression/skiptypesetting-tuplet.ly b/input/regression/skiptypesetting-tuplet.ly new file mode 100644 index 0000000000..3aa6e17777 --- /dev/null +++ b/input/regression/skiptypesetting-tuplet.ly @@ -0,0 +1,22 @@ + +\header{ + + texidoc = "Tuplet brackets are also skipped with +@code{skipTypesetting}." + +} + + +\version "2.10.19" +\paper { + ragged-right = ##T +} + +\new Staff \relative c' { + \set Score.skipTypesetting = ##t + \times 2/3 { c8 c c } \times 2/3 { c c c } + \times 2/3 { c c c } \times 2/3 { c c c} + \set Score.skipTypesetting = ##f + d1 \break + c +} diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index 888f5ccb81..7d97443e1d 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -78,7 +78,7 @@ Tuplet_engraver::listen_tuplet_span (Stream_event *ev) { /* discard duplicates. - */ + */ if (new_tuplets_[i].stop_moment_ == d.stop_moment_) return; } @@ -87,13 +87,13 @@ Tuplet_engraver::listen_tuplet_span (Stream_event *ev) } else if (dir == STOP) { - if (tuplets_.size ()) - { - stopped_tuplets_.push_back (tuplets_.back ()); - tuplets_.pop_back (); - } - else - ev->origin ()->warning (_f ("No tuplet to end")); + if (tuplets_.size ()) + { + stopped_tuplets_.push_back (tuplets_.back ()); + tuplets_.pop_back (); + } + else if (!to_boolean (get_property ("skipTypesetting"))) + ev->origin ()->warning (_f ("No tuplet to end")); } else ev->origin ()->programming_error ("direction tuplet-span-event_ invalid."); @@ -196,6 +196,10 @@ void Tuplet_engraver::start_translation_timestep () { last_tuplets_.clear (); + /* + May seem superfluous, but necessary for skipTypesetting. + */ + new_tuplets_.clear (); } void