- finished_perc_ = perc_;
- typeset_perc ();
- perc_ = make_spanner ("PercentRepeat", repeat_->self_scm ());
- SCM col = get_property ("currentCommandColumn");
- perc_->set_bound (LEFT, unsmob_grob (col));
+ if (percent_)
+ typeset_perc ();
+
+ percent_ = make_spanner ("PercentRepeat", percent_event_->self_scm ());
+
+ Grob *col = first_command_column_;
+ percent_->set_bound (LEFT, col);
+
+ SCM count = percent_event_->get_property ("repeat-count");
+ if (count != SCM_EOL && to_boolean (get_property ("countPercentRepeats"))
+ && check_count_visibility (count))
+ {
+ percent_counter_
+ = make_spanner ("PercentRepeatCounter", percent_event_->self_scm ());
+
+ SCM text = scm_number_to_string (count, scm_from_int (10));
+ percent_counter_->set_property ("text", text);
+ percent_counter_->set_bound (LEFT, col);
+ Side_position_interface::add_support (percent_counter_,
+ percent_);
+ percent_counter_->set_parent (percent_, Y_AXIS);
+ }
+ else
+ percent_counter_ = 0;