[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: TimeSignature with note in denominator
From: |
Aaron Hill |
Subject: |
Re: TimeSignature with note in denominator |
Date: |
Fri, 12 Nov 2021 22:00:59 -0800 |
User-agent: |
Roundcube Webmail/1.4.9 |
On 2021-11-12 5:57 pm, Kieren MacMillan wrote:
so I again (perhaps naïvely) hope that
\time \note-denom 3/4
and
\time \note-denom #'(3 . 4)
could both work.
As David said, those are precisely the same thing. A fraction is one of
the primitive tokens our lexer presents to the parser. This becomes a
number pair in the Scheme world. So for all intents, it is simply too
late in the process to distinguish 3/4 and #'(3 . 4).
The point of the helper I proposed is that it makes it clear that the
user is to provide a number followed by a duration. In this way, there
is no confusion (for the user or the program), although it means you
cannot use a slash to separate the fraction as one might want to do.
It should be possible for the helper to accept a single fraction as
well, so both of these usages could work:
%%%%
\time \note-denom 6/8 ;; slash means simple numeric fraction
\time \note-denom 2 4. ;; no slash means scalar and duration
%%%%
Consider the following function signature:
%%%%
#(define (fraction-or-duration? arg) (or (fraction? arg) (ly:duration?
arg)))
note-denom =
#(define-scheme-function
(scalar fraction-or-duration)
((number? 1) fraction-or-duration?)
; ...
)
%%%%
But is \note-denom doing anything useful for the simple case? Users
would probably just want to say \time 6/8 directly and cut out the
middle man. The only need for something like \note-denom would be in
the 2/4. scenario where we cannot, at the moment, input 2/4. as a
fraction and need some syntactic wrapping.
Follow-up question: Is there any reason it can’t be a prefixed helper
function? i.e.
\note-denom \time #'(3 . 4)
which takes the time-signature-music as its input, and outputs
adjusted time-signature music?
Functions can accept ly:music? and you can drill down to determine if it
contains TimeSignatureMusic and modify its properties. The only issue
is that currently \time (and TimeSignatureMusic) require the denominator
to be a number. You can convert 2/4. to its logical equivalent of 6/8
but key information is lost. \note-denom cannot magically recover the
original intention to be able to render the signature as the user
wanted.
-- Aaron Hill
- Re: TimeSignature with note in denominator, (continued)
- Re: TimeSignature with note in denominator, Jean Abou Samra, 2021/11/12
- Re: TimeSignature with note in denominator, Kieren MacMillan, 2021/11/12
- Re: TimeSignature with note in denominator, Kieren MacMillan, 2021/11/12
- Re: TimeSignature with note in denominator, Kieren MacMillan, 2021/11/12
- Re: TimeSignature with note in denominator, Aaron Hill, 2021/11/12
- Re: TimeSignature with note in denominator, David Kastrup, 2021/11/12
- Re: TimeSignature with note in denominator, Aaron Hill, 2021/11/12
- Re: TimeSignature with note in denominator, Kieren MacMillan, 2021/11/12
- Re: TimeSignature with note in denominator, Aaron Hill, 2021/11/12
- Re: TimeSignature with note in denominator, Kieren MacMillan, 2021/11/12
- Re: TimeSignature with note in denominator,
Aaron Hill <=
- Re: TimeSignature with note in denominator, Kieren MacMillan, 2021/11/13
- Re: TimeSignature with note in denominator, Aaron Hill, 2021/11/13
- Re: TimeSignature with note in denominator, David Kastrup, 2021/11/13
- Re: TimeSignature with note in denominator, Aaron Hill, 2021/11/13
- Re: TimeSignature with note in denominator, Kieren MacMillan, 2021/11/13
- Re: TimeSignature with note in denominator, David Kastrup, 2021/11/13
- Re: TimeSignature with note in denominator, Lukas-Fabian Moser, 2021/11/13
- Re: TimeSignature with note in denominator, Kieren MacMillan, 2021/11/13
- Re: TimeSignature with note in denominator, Lukas-Fabian Moser, 2021/11/13
- Re: TimeSignature with note in denominator, Kieren MacMillan, 2021/11/13