Comment #2 on issue 1630 by karin.hoethker: Completion heads engraver
produces duplicate ties
http://code.google.com/p/lilypond/issues/detail?id=1630
Here is a patch that fixes the bug (see attachment).
The problem was that the Completion_heads_engraver splits notes which are
then passed to the Tie_engraver. The Tie_engraver doesn't know about
splitting and therefore tries to apply the manual tie ~ too early. The
bugfix for 498 apparently solved this by adding the missing ties in the
Completion_heads_engraver. For one voice the double ties are not visible,
but for chords they are (as the example above shows).
The idea of the patch is to save the information that a note end was
created by an automatic split in the note representation and only process
ties in the Tie_engraver when not at an automatic split position. The
Completion_heads_engraver takes care of automatically generated ties itself.
This seems to work, but I would be curious if a lilypond expert can come up
with a solution that doesn't involve an extra parameter. I searched for a
way to determine from existing information in the Tie_engraver whether the
current event end had been generated by an automatic split or by user
input, but I couldn't find any.
The patch files were created for lilypond version 2.13.60.
The attached lilypond file test.ly contains various examples involving
ties, and pdfs created for version version 2.13.60 before and after the
patch. The pdf for version 2.12.3 shows that the triplet example broken in
2.13.60 used to work in 2.12.3 (but that is another bug). The patch also
fixes the problem that ties could not be used between chords (as in <f' a'
4 ~ <f' a' >4), but only within chords (as in <c'~ e'~ >4 <c' e' >4).
Attachments:
patch_and_tests_bug1630.zip 101 KB
_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond