- dot_p_ = new Dots;
- rest_p_->dots_l_ =dot_p_;
- announce_element (Score_element_info (dot_p_,0));
+ dot_ = make_item ("Dots", SCM_EOL);
+
+ Rhythmic_head::set_dots (rest_, dot_);
+ dot_->set_parent (rest_, Y_AXIS);
+ dot_->set_property ("dot-count", scm_int2num (dots));
+ }
+
+ Pitch *p = unsmob_pitch (rest_event_->get_property ("pitch"));
+
+ /*
+ This is ridiculous -- rests don't have pitch, but we act as if
+ our nose is bleeding.
+ */
+ if (p)
+ {
+ int pos = p->steps ();
+ SCM c0 = get_property ("middleCPosition");
+ if (scm_is_number (c0))
+ pos += scm_to_int (c0);
+
+ rest_->set_property ("staff-position", scm_int2num (pos));