X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fstem-engraver.cc;h=2f2eaf82daedf380d0b53cd1505be4ff1ca9016f;hb=8eed539b0de1e13bd22ff02599ba0aa9135fb6d3;hp=45c777fb04091e61574ba5ccd444cea96c1c658b;hpb=d2762a4f1add2bb04d6fc34d3c7ae03eeb7d500f;p=lilypond.git diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index 45c777fb04..2f2eaf82da 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -91,7 +91,7 @@ Stem_engraver::make_stem (Grob_info gi, bool tuplet_start) for a note head is always <= 2. */ Stream_event *ev = gi.event_cause (); - Duration *dur = Duration::unsmob (ev->get_property ("duration")); + Duration *dur = unsmob (ev->get_property ("duration")); int tremolo_flags = intlog2 (requested_type) - 2 - (dur->duration_log () > 2 ? dur->duration_log () - 2 : 0); @@ -124,7 +124,7 @@ Stem_engraver::acknowledge_rhythmic_head (Grob_info gi) Stream_event *cause = gi.event_cause (); if (!cause) return; - Duration *d = Duration::unsmob (cause->get_property ("duration")); + Duration *d = unsmob (cause->get_property ("duration")); if (!d) return; @@ -158,7 +158,8 @@ Stem_engraver::acknowledge_rhythmic_head (Grob_info gi) Stem::add_head (stem_, gi.grob ()); if (Stem::is_normal_stem (stem_) - && Stem::duration_log (stem_) > 2) + && Stem::duration_log (stem_) > 2 + && !(unsmob (stem_->get_object ("flag")))) { Item *flag = make_item ("Flag", stem_->self_scm ()); flag->set_parent (stem_, X_AXIS); @@ -173,7 +174,7 @@ void Stem_engraver::kill_unused_flags () { for (vsize i = 0; i < maybe_flags_.size (); i++) - if (Grob::is_smob (maybe_flags_[i]->get_parent (X_AXIS)->get_object ("beam"))) + if (unsmob (maybe_flags_[i]->get_parent (X_AXIS)->get_object ("beam"))) maybe_flags_[i]->suicide (); }