X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftuplet-engraver.cc;h=7d97443e1d3db2ffac3ce03ae60ce2fb602c606f;hb=1fa4c73e647c2b3ea2c0b337b58e7699eb7170a2;hp=c25d2a9a4e6f547ac42cfc76a334aa5011730fb8;hpb=f9214bac21e9926dc3248416f58190c98c4167a9;p=lilypond.git diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index c25d2a9a4e..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."); @@ -105,7 +105,7 @@ Tuplet_engraver::process_music () /* This may happen if the end of a tuplet is part of a quoted voice. */ - Moment now = now_mom(); + Moment now = now_mom (); for (vsize i = tuplets_.size (); i --; ) { if (tuplets_[i].stop_moment_ == now) @@ -196,6 +196,10 @@ void Tuplet_engraver::start_translation_timestep () { last_tuplets_.clear (); + /* + May seem superfluous, but necessary for skipTypesetting. + */ + new_tuplets_.clear (); } void @@ -215,7 +219,10 @@ Tuplet_engraver::Tuplet_engraver () ADD_ACKNOWLEDGER (Tuplet_engraver, note_column); ADD_TRANSLATOR (Tuplet_engraver, - /* doc */ "Catch TupletSpannerEvent and generate appropriate bracket ", + + /* doc */ + "Catch tuplet events and generate appropriate bracket.", + /* create */ "TupletBracket " "TupletNumber ",