Comment #12 on issue 3560 by [email protected]: Completion_heads_engraver with
\scaleDurations
http://code.google.com/p/lilypond/issues/detail?id=3560
Well, the problem is that you'll have a1*5 behave one way, and a1*9/8*5
another (for a five measure note in 9/8 time). I just don't see that we
can draw a safe dividing line here, and tuplets _are_ being done using
scaled time (see the new regtest). If you mix tuplets with other scalings,
sometimes whole factors arise, sometimes not.
In addition, currently the completion_heads_engraver messes with a note's
scale factor whenever it crosses a boundary but leaves it intact when it
doesn't. So if you write
\new Voice \with {
\remove "Note_heads_engraver"
\consists "Completion_heads_engraver"
}
{ r16*2 \repeat unfold 15 c8*2 r16*2 }
The results are fabulously inconsistent.
Which of the two appended results would you rather have? Unscaled
durations can't express arbitrary rational numbers. That's a limitation of
musical notation. With scaled durations (like tuplets), the visual
appearance no longer matches the actual musical duration. If the
Completion_heads_engraver reverses this mismatch, but only sometimes,
depending on whether a note crosses some boundary or not, does not really
deliver useful value.
I certainly agree with Keith that the listed use cases would be "nice to
have". But seeing the price tag makes me shelve them.
We would need an actual _switch_ for the completion engravers to flip
between behaviors, and if you flipped that switch to the "lazy long
durations" setting, syncopated tuplets are impossible. We might provide
settings, but I don't think that a default setting that treats c1*3/2*3
differently from c1*3/2*4 is a reasonable idea for specifying this kind of
duration, and never mind that c1*3/2*1, not crossing any boundary at all,
will look different _again_.
Attachments:
ddd.preview.png 6.3 KB
eee.preview.png 6.6 KB
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings