On 11/13/21, 4:05 PM, "David Kastrup" <d...@gnu.org> wrote:
Kieren MacMillan <kie...@kierenmacmillan.info> writes: > Hi David, > >> It doesn't answer the question. > > Did my explicit answer in the other email (i.e., “one > quintuplet-sixteenth-note”) not suffice? No. You propose replacing (cons 3 4) as a time signature designation with (cons 3 (ly:make-duration 2)). You have failed to give any indication of what you want to see (cons 8 20) replaced with. What if the time signature description were (cons 3 '(2 0 1/1)) or '((rep 3) (dur_param (2 0 1/1))? LilyPond does not have something like a 1/20th duration. Regarding durations, what occurs inside of \tuplet 5/4 and \tuplet 10/8 is completely indistinguishable: "tupletism" is not a part of durations. So I repeat: what duration in LilyPond do you want to use to represent the denominator in 8/20 ? 1/20th here is neither a 5-tuplet nor a 10-tuplet: it represents a fraction of a whole note, not a particular of several possible note values. It will likely end up as (ly:make-duration 4 0 4/5) but that has no unique printed representation different from (ly:make-duration 4), and (ly:make-duration 4 0 4/5) and (ly:make-duration 4 0 8/10) are absolutely indistinguishable. The alist I proposed above would be able to distinguish between 4/5 and 8/10. Even if I don't have the details right yet, I'm certain that they can be made right. Instead of storing the duration, it stores the parameters used to create the duration. I don't know if it's a good idea, but it is an idea. Carl