X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftuplet-engraver.cc;h=369389200fe95e4e8dd97dea1b1c44dc2f273430;hb=37cfad99ea310993f6c3012330d0b56c390cd146;hp=1b75bf923cd8b9cd33ee4909dae2ed1784465061;hpb=d61cf3bbdb1c6670a127ba3baddf2f04d3e34fd3;p=lilypond.git diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index 1b75bf923c..369389200f 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2012 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -107,7 +107,7 @@ Tuplet_engraver::listen_tuplet_span (Stream_event *ev) tuplets_.pop_back (); } else if (!to_boolean (get_property ("skipTypesetting"))) - ev->origin ()->warning (_ ("No tuplet to end")); + ev->origin ()->debug_output (_ ("No tuplet to end")); } else ev->origin ()->programming_error ("direction tuplet-span-event_ invalid."); @@ -138,7 +138,7 @@ Tuplet_engraver::process_music () if (stopped_tuplets_[i].full_length_) { Item *col - = unsmob_item (stopped_tuplets_[i].full_length_note_ + = unsmob (stopped_tuplets_[i].full_length_note_ ? get_property ("currentMusicalColumn") : get_property ("currentCommandColumn")); @@ -155,7 +155,10 @@ Tuplet_engraver::process_music () stopped_tuplets_[i].bracket_->get_bound (LEFT)); } else - programming_error ("stopped tuplet bracket has neither left nor right bound"); + { + warning ("omitting tuplet bracket with neither left nor right bound"); + continue; + } } // todo: scrap last_tuplets_, use stopped_tuplets_ only. // clear stopped_tuplets_ at start_translation_timestep @@ -217,7 +220,8 @@ Tuplet_engraver::acknowledge_script (Grob_info inf) if (tuplets_[j].bracket_) { Item *i = dynamic_cast (inf.grob ()); - Tuplet_bracket::add_script (tuplets_[j].bracket_, i); + if (!i->internal_has_interface (ly_symbol2scm ("dynamic-interface"))) + Tuplet_bracket::add_script (tuplets_[j].bracket_, i); } } @@ -259,7 +263,7 @@ Tuplet_engraver::finalize () if (to_boolean (get_property ("tupletFullLength"))) for (vsize i = 0; i < last_tuplets_.size (); i++) { - Item *col = unsmob_item (get_property ("currentCommandColumn")); + Item *col = unsmob (get_property ("currentCommandColumn")); last_tuplets_[i]->set_bound (RIGHT, col); } }