- int type_i = prev_start_req_->type_i_;
- s->set_elt_property ("duration-log", gh_int2scm (intlog2 (type_i) - 2));
-
- s->set_beaming (s->flag_i (), LEFT);
- s->set_beaming ( s->flag_i (), RIGHT);
-
- /*
- URG: this sets the direction of the Stem s.
- It's amazing Mike:
-
- Stem:: type_i () ->first_head ()->get_direction () ->
- directional_element (me).set (d);
-
- */
- SCM d = s->get_elt_property ("direction");
- if (s->type_i () != 1)
- {
- int gap_i =s->flag_i () - ((s->type_i () >? 2) - 2);
- beam_p_->set_elt_property ("beam-gap", gh_int2scm(gap_i));
- }
- s->set_elt_property ("direction", d);
-
- if (Rhythmic_req* r = dynamic_cast <Rhythmic_req *> (info.req_l_))
- {
- beam_p_->add_stem (s);
- Moment stem_location = now_mom () -
- beam_start_mom_ + beam_start_location_;
- beam_info_p_->add_stem (stem_location,
- (r->duration_.durlog_i_ - 2) >? 1);
- }
+ string s = _ ("stem must have Rhythmic structure");
+ if (info.music_cause ())
+ info.music_cause ()->origin ()->warning (s);