- {
- current_spanner_
- = make_spanner ("DynamicTextSpanner",
- accepted_spanevents_drul_[START]->self_scm ());
-
- SCM text = get_property_setting (current_span_event_, "span-text",
- (start_type + "Text").c_str ());
- if (Text_interface::is_markup (text))
- current_spanner_->set_property ("text", text);
- }
+ {
+ current_spanner_
+ = make_spanner ("DynamicTextSpanner",
+ accepted_spanevents_drul_[START]->self_scm ());
+
+ SCM text = get_property_setting (current_span_event_, "span-text",
+ (start_type + "Text").c_str ());
+ if (Text_interface::is_markup (text))
+ current_spanner_->set_property ("text", text);
+ /*
+ If the line of a text spanner is hidden, end the alignment spanner
+ early: this allows dynamics to be spaced individually instead of
+ being linked together.
+ */
+ if (current_spanner_->get_property ("style") == ly_symbol2scm ("none"))
+ current_spanner_->set_property ("spanner-broken", SCM_BOOL_T);
+ }