On Jul 22, 2011, at 12:24 PM, lilyp...@googlecode.com wrote: > > Comment #1 on issue 1772 by lilyli...@googlemail.com: > Completion_rest_engraver fails with fractional rests > http://code.google.com/p/lilypond/issues/detail?id=1772 > > As Neil Puttock reported Completion_heads_engraver behaves the same: > http://lists.gnu.org/archive/html/bug-lilypond/2011-07/msg00606.html > > I adapted his example a little bit: > % ---------------8<------------------ > \version "2.15.5" > << > % bad > \new Voice > \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } > { c''1*6/4 c''2 } > > % good > \new Voice > \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } > { c''1. c''2 } > > % ---------------8<------------------ > > Here one can see that both voices are correctly aligned horizontally, > although the durations of the "bad" example don't sum up correctly (-> the > value isn't only split up in wrong parts but completely wrong) > While this may be totally clear to everybody I thought it should be > explicitely stated here in the tracker. > > HTH > Urs >
Just a thought: it may be easier to fix this by scrapping the completion engravers entirely and having music functions that operate on music streams. For example: a4. a1 a2 a8 in the completion heads engraver becomes a4. a2 ~ a8 ~ a4. a2 a8 This would be a lot nicer as a4. a8 ~ a2 ~ a4. a2 a8 and even nicer as a4. a8 ~ a2 ~ a4. a8 a2 (in addition to completing heads, rearranging based on beat conventions à la autobeam engraver). A music function can glance ahead in time, see what the appropriate way to split would be, and then execute it. The autobeam engraver can be rewritten the same way. Cheers, MS _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond