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. > 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. > 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, 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. One only needs to set a property to decide whether to use a number or a notehead for the duration (just like right now we can set numericTimeSignature #f to get C instead of 4/4 > Anyway, like I said earlier, I'm not sure that it's worth changing the > internals since they work so well for the lilypond core functionality > (traditional western music), but I noticed the semantic error as I > read this thread. What do you want to change? Entry or internals? And how so? If the change were to be made, it would be to change both entry and internals. Both would use a pair of values; the first being an integer and the second being a duration. Like I said, I'm not at all sure it's worth doing. But it does capture the semantics better than the fraction. 2/2, 4/4, 3/4, and 6/8 are all time signatures. And all of them represent a complete measure. But two of these fractions equal 1, and two don't. Numeric time signatures don't work like fractions; the fraction is just a convenient mnemonic for us. And I'm not asking for it, as I'm not willing to do it. To me there are things that are much higher priority than this. I just (for the first time today) realized how the "fraction" analogy for a time signature really doesn't carry through very well. Carl