X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fstem-engraver.cc;h=2f2eaf82daedf380d0b53cd1505be4ff1ca9016f;hb=06dfb050e6536ceeff882b4ee872e9d59bbae110;hp=62c0974f9f3a04627b807c70f0d76581fadcfb14;hpb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;p=lilypond.git diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index 62c0974f9f..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 (); } @@ -236,11 +237,13 @@ ADD_ACKNOWLEDGER (Stem_engraver, rhythmic_head); ADD_TRANSLATOR (Stem_engraver, /* doc */ - "Create stems and single-stem tremolos. It also works" + "Create stems, flags and single-stem tremolos. It also works" " together with the beam engraver for overriding beaming.", /* create */ + "Flag " "Stem " + "StemStub " "StemTremolo ", /* read */