Comment #7 on issue 2584 by [email protected]: please make partcombine merge slurs
http://code.google.com/p/lilypond/issues/detail?id=2584

The description of the patch states that the partcombiner can produce the following kind of patterns:
{ c(( d)) } or { c(( d) } or { c( d)) }
I have a hard time swallowing that we should consider all that valid input without the need of a warning. In particular, if
{ c(( d) }
is supposed to be valid, and
{ c(( f) e) }
is also supposed to be valid, then there is no way whatsoever to guess whether
{ c(( f))( e) }
is supposed to be reduced to
{ c( f)( e) }
or
{ c(( f)( e)) }

So I think that this _can't_ reliably be fixed in the slur engraver alone. Instead we need to make the partcombiner produce sane patterns given sane input. The patterns that currently come out of it _can't_ be interpreted without ambiguity.

The slur engraver current has to work with garbage-in from the partcombiner, and it has changed the cases where it produces garbage-out. Since the partcombiner never produced anything but garbage, I have a hard time picturing this as a regression. It is just that we now deal differently with a problem that is impossible to solve given the unchanged output of the partcombiner.


Reply via email to