Carl Sorensen <c_soren...@byu.edu> writes: > On 11/13/21, 1:09 PM, "David Kastrup" <d...@gnu.org> wrote: > > Carl Sorensen <c_soren...@byu.edu> writes: > > > I have not been a strong contributor to this thread. And I have not > > been a strong advocate for the time signatures with a notehead in the > > denominator. I think all of those time signatures can be expressed > > just as well as a compound meter. > > > > HOWEVER, > > > > In looking at this, is seems the lexer (and the propery > > timeSignatureFraction) are not semantically correct. > > > > Although the time signature looks like a fraction, it is not. A > > fraction has numbers in the denominator and the numerator (and > > strictly speaking, a fraction properly has integers in the numerator > > and denominator -- if they are not integers, it's a quotient, not a > > fraction, IIUC). And the time signature has an integer in the > > "numerator" and a duration in the "denominator". > > I don't get your point. Are you objecting to the use of the word > "fraction" or what is your complaint? The representation is a pair of > integers, not a rational number, so \time 4/4 and \time 2/2 are > different things. > > Yes. The numerical representation of traditional time signatures is a > pair of integers. But the "numerator" can be any integer. While the > "denominator" can also be any integer, it doesn't really represent an > integer. It represents a duration; a fraction of a whole note.
A time signature is written with numbers, not durations. > > I'm not sure it is worth the work to get semantically correct, but > > semantically, \time 4/4 should not be a fraction of two integers; it > > should be a pair of a count and a duration. > > > > And if we had semantically correct time signature entry, > > Here you are talking about the _entry_ rather than the names used > internally. So what is your beef with the _entry_? > > I can't enter \time 3/2., even though 2. is a valid duration. 3 But 2. is not a valid time signature. > > Kieren's wish for a different display for the duration would be > > relatively straightforward, > > Here you make a statement that somehow your objection to entry or > internal namings, once recognised, magically makes other possibilities > appear. I don't see it. > > If the entry is a duration, But it isn't and has never been. > and timeSignatureFraction is a pair consisting of an integer and > duration, then it's trivial to get the current output by using > ly:duration->string for the bottom number on the time signature, and > it's also trivial to get a note representing the duration as the > bottom element of the time signature. There is /* Todo: should make typecheck? OTOH, Tristan Keuris writes 8/20 in his Intermezzi. */ in lily/time-signature-engraver.cc Your refactoring desire does not seem to leave room for that. -- David Kastrup