- abbrev_p_ = new Abbreviation;
- announce_element (Score_element_info (abbrev_p_, abbrev_req_l_));
- abbrev_p_->abbrev_flags_i_ =intlog2 (t) - (durlog_i>? 2);
+ tremolo_p_ = new Item (get_property ("StemTremolo"));
+ Stem_tremolo::set_interface (tremolo_p_);
+
+ announce_grob (tremolo_p_, tremolo_req_l_);
+ /*
+ The number of tremolo flags is the number of flags of
+ the tremolo-type minus the number of flags of the note
+ itself.
+ */
+ int tremolo_flags = intlog2 (requested_type) - 2
+ - (duration_log > 2 ? duration_log - 2 : 0);
+ if (tremolo_flags < 0)
+ tremolo_flags = 0;
+ tremolo_p_->set_grob_property ("tremolo-flags",
+ gh_int2scm (tremolo_flags));