- SCM smp = get_property ("measurePosition");
- Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
- beam_start_location_ = mp;
- announce_element (Score_element_info (beam_p_, repeat_));
+ SCM smp = get_property ("measurePosition");
+ Moment mp
+ = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+ beam_start_location_ = mp;
+ announce_grob(beam_p_, repeat_->self_scm());
+ }
+ else if (!sequential_body_b_ && !stem_tremolo_)
+ {
+ int flags = intlog2 (note_head_i_ * repeat_->repeat_count ()) -2;
+ if (flags)
+ {
+ stem_tremolo_ = new Item (get_property ("StemTremolo"));
+ announce_grob(stem_tremolo_, repeat_->self_scm());
+ stem_tremolo_->set_grob_property ("flag-count",
+ gh_int2scm (flags));
+
+ }
+ }