[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lilypond-devel
Subject:    Re: GOP2-3 - GLISS or not
From:       Joseph Rushton Wakeling <joseph.wakeling () webdrake ! net>
Date:       2012-08-10 16:33:42
Message-ID: 502537E6.6060302 () webdrake ! net
[Download RAW message or body]

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).


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic