+ 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"));