The following example produces heavy tie collisions:

  <c1 d f g> ~ <c d f g>

I think the following algorithm handles ties between chords
gracefully:

  For an up-tie, first check the left chord.  If the start note is the
  lower note of a second interval, shorten the tie.  Then check the
  right chord.  If the end note is the upper note of a second
  interval, shorten the tie if the next higher hote is the lower note
  of a second interval, and the distance to it is smaller than a
  fifth.

Here the mirror rule for down-ties:

  First check the left chord.  If the start note is the lower note of
  a second interval, shorten the tie if the next lower note is the
  higher note of a second interval, and the distance to it is smaller
  than a fifth.  Then check the right chord.  If the end note is the
  upper note of a second interval, shorten the tie.

Still missing is the case of broken ties where the ties in the new
staff have to cross the accidentals...

PNG image

Reply via email to