bool no_vertical_start = orig_span && !broken_first_bracket;
bool no_vertical_end = orig_span && !broken_last_bracket;
+ extract_grob_set (me, "bars", bars);
+ Grob *endbar = bars.size () ? bars.back () : 0;
+ SCM glyph = endbar ? endbar->get_property ("glyph-name") : SCM_EOL;
+
+ string str;
+ if (scm_is_string (glyph))
+ str = ly_scm2string (glyph);
+ else
+ str = "|";
+
+ no_vertical_end
+ |= (str != ":|"
+ && str != "|:"
+ && str != "|."
+ && str != ":|:"
+ && str != ":|.|:"
+ && str != ":|.:"
+ && str != ".|");
+
if (no_vertical_end || no_vertical_start)
{
Drul_array<Real> edge_height = robust_scm2interval (me->get_property ("edge-height"),
if (volta_bracket_)
Volta_bracket_interface::add_bar (volta_bracket_, i.item ());
if (end_volta_bracket_)
- {
- Volta_bracket_interface::add_bar (end_volta_bracket_, i.item ());
- Grob *endbar = i.grob();
- SCM glyph = endbar ? endbar->get_property ("glyph-name") : SCM_EOL;
-
- string str;
- bool no_vertical_end = false;
- if (scm_is_string (glyph))
- str = ly_scm2string (glyph);
- else
- str = "|";
-
- SCM vertical_end_allow_list = get_property ("voltaAllowEndLineOnGlyphs");
- if (ly_cheap_is_list (vertical_end_allow_list))
- { // checks based on user settable property
- bool match_not_found = true;
- while (scm_is_pair (vertical_end_allow_list) && match_not_found)
- {
- if (str == robust_scm2string (scm_car (vertical_end_allow_list), "* invalid *"))
- match_not_found = false;
- vertical_end_allow_list = scm_cdr (vertical_end_allow_list);
- }
- no_vertical_end |= match_not_found;
- }
-
- if (no_vertical_end)
- {
- Drul_array<Real> edge_height = robust_scm2interval (end_volta_bracket_->get_property ("edge-height"),
- Interval (1.0, 1.0));
-
- if (no_vertical_end)
- edge_height[RIGHT] = 0.0;
-
- end_volta_bracket_->set_property ("edge-height", ly_interval2scm (edge_height));
-
- }
- }
+ Volta_bracket_interface::add_bar (end_volta_bracket_, i.item ());
if (volta_spanner_)
Side_position_interface::add_support (volta_spanner_, i.grob ());
"VoltaBracketSpanner ",
/* read */
- "voltaAllowEndLineOnGlyphs "
"repeatCommands "
"voltaSpannerDuration "
"stavesFound ",
repeatCountVisibility = #all-repeat-counts-visible
- voltaAllowEndLineOnGlyphs = #'(
- ":|" "|:" "||:" "|." ":|:" ":|.|:" ":|.:" ".|"
- "S|:" ":|S" ":|S." ".S|:" ":|S|:" ":|S.|:" )
-
timeSignatureSettings = #default-time-signature-settings
timeSignatureFraction = 4/4
for repeated bass figures.")
(vocalName ,markup? "Name of a vocal line.")
- (voltaAllowEndLineOnGlyphs ,list? "A list of glyphs where the
-volta end hook will be drawn.")
(voltaSpannerDuration ,ly:moment? "This specifies the maximum
duration to use for the brackets printed for @code{\\alternative}.
This can be used to shrink the length of brackets in the situation