Store separation-item in tie, and use that iso. bound when broken.
Conflicts:
lily/tie-formatting-problem.cc
lily/tie.cc
--- /dev/null
+\header {
+ texidoc = "Broken tie lengths are not affected by clefs
+in other staves."
+}
+
+\version "2.10.0"
+
+\layout {
+ ragged-right = ##t
+}
+
+<<
+ \new Staff \relative c'''{ e1 ~ \break e }
+ \new Staff \relative c{ \clef bass a \clef treble cis }
+>>
if (!wait)
heads_to_tie_.clear ();
+ Grob *sep = unsmob_grob (get_property ("breakableSeparationItem"));
for (vsize i = 0; i < ties_.size (); i++)
- typeset_tie (ties_[i]);
-
+ {
+ if (sep)
+ ties_[i]->set_object ("separation-item", sep->self_scm ());
+
+ typeset_tie (ties_[i]);
+ }
ties_.clear ();
tie_column_ = 0;
}
Y_AXIS, -dir);
}
while (flip (&updowndir) != DOWN);
-
+
head_extents_[key].set_empty ();
for (vsize i = 0; i < head_boxes.size (); i++)
{
for (vsize i = 0; i < ties.size (); i++)
{
Item *it = dynamic_cast<Spanner*> (ties[i])->get_bound (d);
-
+ if (it->break_status_dir ())
+ {
+ Item *sep
+ = dynamic_cast<Item*> (unsmob_grob (ties[i]->get_object ("separation-item")));
+ if (sep && sep->get_column () == it->get_column ())
+ it = sep;
+ }
+
bounds.push_back (it);
}
"dash-period "
"details "
"direction "
+ "separation-item "
+ "head-direction "
"line-thickness "
"quant-score "
"staff-position "
"thickness "
+
);
+
")
(note-heads ,ly:grob-array? "List of note head grobs")
(note-head ,ly:grob? "A single note head")
+ (separation-item ,ly:grob? "A separation item.")
(side-support-elements ,ly:grob-array? "the support, a list of grobs.")
(spacing-wishes ,ly:grob-array? "List of note spacing or staff spacing objects.")
(stems ,ly:grob-array? "list of stem objects, corresponding to the notes that the arpeggio has to be before.")