- lastrest_p_->set_elt_property ("measure-count",
- gh_int2scm (cur - start_measure_i_));
- mmrest_p_ = 0;
+ int num = cur - start_measure_;
+ last_rest_->set_grob_property ("measure-count", gh_int2scm (num));
+
+ SCM sml = get_property ("measureLength");
+ Rational ml = (unsmob_moment (sml)) ? unsmob_moment (sml)->main_part_ : Rational (1);
+ if (ml >= Rational (2))
+ {
+ last_rest_->set_grob_property ("use-breve-rest", SCM_BOOL_T);
+ }
+
+ mmrest_ = 0;
+ numbers_.clear ();
+
+ Grob * last = last_numbers_.size() ? last_numbers_[0] : 0;
+ if (last && last->get_grob_property ("text") == SCM_EOL)
+ {
+ SCM thres = get_property ("restNumberThreshold");
+ int t = 1;
+ if (gh_number_p (thres))
+ t = gh_scm2int (thres);
+
+ if (num <= t)
+ last->suicide();
+ else
+ {
+ SCM text
+ = scm_number_to_string (gh_int2scm (num), SCM_MAKINUM (10));
+ last->set_grob_property ("text", text);
+ }
+ }