- if (repeat_sign_type_ == MEASURE)
- {
- 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;
- }
- else if (repeat_sign_type_ == DOUBLE_MEASURE)
- {
- Item *double_percent = make_item ("DoublePercentRepeat", percent_event_->self_scm ());
-
- SCM count = percent_event_->get_property ("repeat-count");
- if (count != SCM_EOL && to_boolean (get_property ("countPercentRepeats"))
- && check_count_visibility (count))
- {
- Item *double_percent_counter = make_item ("DoublePercentRepeatCounter",
- percent_event_->self_scm ());
-
- SCM text = scm_number_to_string (count,
- scm_from_int (10));
- double_percent_counter->set_property ("text", text);
-
- Side_position_interface::add_support (double_percent_counter,
- double_percent);
- double_percent_counter->set_parent (double_percent, Y_AXIS);
- double_percent_counter->set_parent (double_percent, X_AXIS);
- }
-
- /* forbid breaks on a % line. Should forbid all breaks, really. */
- context ()->get_score_context ()->set_property ("forbidBreak", SCM_BOOL_T);
-
- /* No more processing needed. */
- repeat_sign_type_ = UNKNOWN;
- }
+ 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 (!scm_is_null (count) && to_boolean (get_property ("countPercentRepeats"))
+ && check_repeat_count_visibility (context (), 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);
+ percent_counter_->set_parent (percent_, X_AXIS);
+ }
+ else
+ percent_counter_ = 0;