lilypond-devel
[Top][All Lists]

## Re: TimeSignature with note in denominator

 From: Kieren MacMillan Subject: Re: TimeSignature with note in denominator Date: Sat, 13 Nov 2021 23:11:47 -0500

```Hi David,

> 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.

Well at least now you’ve asked the question you clearly meant to ask earlier,
in a way that someone other than you can figure out how to answer in the way
you’re expecting.  =)

> It will likely end up as (ly:make-duration 4 0 4/5)

That seems fine to me.

> but that has no unique printed representation different from
> (ly:make-duration 4)

Correction: Lilypond doesn’t, by default, give a “unique printed
representation” to (ly:make-duration 4 0 4/5) as compared with
(ly:make-duration 4). On the other hand, I am fully capable of making Lilypond
do so, i.e., formatting the denominator as a sixteenth note *with a '5'
[possibly in a bracket] below it*, which absolutely *is* a “unique printed
representation”, and will convey to the performer exactly the desired meaning.

> (ly:make-duration 4 0 4/5) and (ly:make-duration 4 0 8/10)
> are absolutely indistinguishable.

I can do the math to back-calc either of those into a note duration in order to
determine. So I guess here’s my [final] answer to your question: I’d like to
see (cons 8 20) replaced with whatever is easiest for the lexer / parser to
convert to and from and/or pass through to the time function(s) without losing
any critical information about the denominator duration.

Feel free to ask me for yet another answer to this question… but be warned that
I don’t know enough about the lexer or parser or Lilypond’s internal
representation of durations to give a more specific or nuanced or helpful