- if (rest_ev_ && !mmrest_
- && stop_moment_ > now_mom ())
- {
- mmrest_ = make_spanner ("MultiMeasureRest", rest_ev_->self_scm ());
-
- if (text_events_.size ())
- {
- for (int i = 0; i < text_events_.size (); i++)
- {
-
- Music* e = text_events_[i];
- Spanner *sp
- = make_spanner ("MultiMeasureRestText", e->self_scm () );
- SCM t = e->get_property ("text");
- SCM dir = e->get_property ("direction");
- sp->set_property ("text",t);
- if (is_direction (dir))
- sp->set_property ("direction",dir);
-
- numbers_.push (sp);
- }
-
- /*
- Stack different scripts.
- */
- Direction d = DOWN;
- do {
- Grob *last =0;
- for (int i=0; i <numbers_.size (); i++)
- {
- if (scm_int2num (d) == numbers_[i]->get_property ("direction"))
- {
- if (last)
- Side_position_interface::add_support (numbers_[i], last);
- last = numbers_[i];
- }
- }
- } while (flip (&d) != DOWN);
- }
- else
- {
- Spanner *sp
- = make_spanner ("MultiMeasureRestNumber", rest_ev_->self_scm () );
- numbers_.push (sp);
- }
-
- for (int i =0 ; i < numbers_.size (); i++)
- {
- Side_position_interface::add_support (numbers_[i], mmrest_);
- numbers_[i]->set_parent (mmrest_, Y_AXIS);
- }
-
- start_measure_
- = ly_scm2int (get_property ("currentBarNumber"));
- }