Hi Kieren,
See my “stylesheet” comment earlier in the thread: in a perfect world, a user
should be able to take any existing score and simply add
\override Score.TimeSignature.style = #'note-denom
and the output would be “as expected” — with a new function, a
search-and-replace (with possible “fancy” manipulation of the arguments) is
required every time the user wants to switch between styles. I personally
consider that inelegant, or at the very least suboptimal, especially when
Lilypond offers such a generous “global” context modification mechanism.
All that being said: The tide of resistance to finding the optimal
implementation is evident, so I think I’ll just give up and add a new function
in order to move the patch/feature forward.
Oh, please don't give up just yet! :-)
You can very well have both: A TimeSignature style that turns
old-fashioned \time 3/4 into "3 over a crotchet", and a vast
generalization of the \time machinery that also accepts durations, tied
combinations of durations etc. (and which, for simple durations like
4,8,16 etc., falls back to standard \time 3/4 behaviour).
Question: What should happen if TimeSignature.style = #'note-denom is
_not_ set, but the user does \time 4 { 8.~8 } ? Should this emit a
warning "can't display this in current style", or ... ?
Lukas