On 10/08/12 15:06, Reinhold Kainhofer wrote:
I haven't looked at the code, but I don't see a reason why it wouldn't
be possible to extend that to non-power-of-2 denominators.
Great! :-)
What's odd is that it already works for some cases, but not others -- examples
attached to the bug report here:
https://code.google.com/p/lilypond/issues/detail?id=2713
Double fractions and real numbers in the enumerator pose more problems,
because in these cases I have no idea how to determine the beat
structure... (e.g. in #'(1 4 3 8), eights are automatically beamed as c8
c[ c c c] c[ c c]. How would you beam #'(3.33332 8)? )
Well, I would not try and generalize it to arbitrary _real_ numbers, mainly
because I don't know of any application -- rational numbers should suffice.
(You might have to handle simple floating-point cases like e.g. 2.5/4, but
nothing more complex.)
In the case of rational numbers, what I would do is, in the case of e.g.
#'(4 2/3 4)
you have 4 quarter-notes (beamed as normal) followed by one (2/3)/4 which if you
calculate the fraction, works out as 1/6. So, you'd beam it as if it were,
#'((4 4) (1 6)). That latter case I think should already be handled by the
compound-meter beaming (again, see examples attached to bug report).
Basically it's equivalent to asking how you would beam the following musical
sequence:
c4 c c c \times 2/3 { c4 }
While I'm not certain, I think that approach should suffice for just about every
rational-number example, and it should suffice also for simple floating point
number cases (I can imagine people using .5 increments, I may even have seen it
somewhere, but I can't imagine anyone writing something like 2.66666/4).
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel