On 14 Jan 2011, at 21:22, Reinhold Kainhofer wrote:
Here is a patch to create complex time signatures:
http://codereview.appspot.com/3992042/
Create compound time signatures with the \compoundMeter function.
The argument
is a Scheme list of lists. Each list describes one fraction, with
the last
entry being the denominator, while the first entries describe the
summands in
the enumerator. If the time signature consists of just one fraction,
the list
can be given directly, i.e. not as a list containing a single list.
For example, a time signature of (3+1)/8 + 2/4 would be created as
\compoundMeter #'((3 1 8) (2 4)), and a time signature of (3+2)/8 as
\compoundMeter #'((3 2 8)) or shorter \compoundMeter #'(3 2 8).
It is basically the same code as in the LSR snippet, just included
directly in
the lilypond code:
http://lsr.dsi.unimi.it/LSR/Item?u=1&id=743
Any comments?
It looks good. Another interesting variation is to sum it up in the
time signature, and write a courtesy decomposition above it and the
staff in small type. Somebody on the users list had made it. It would
look like
(4+2+3)
9
16
PS: I chose "compoundMeter", because such complex time signatures do
not only
specify the measure length, but also the beat structure (i.e. the
"meter").
That is also my interpretation.
Would it be better to call it "compoundTime" instead?
The time signature can be different from the meter. So compoundTime
might be reserved for a function that overrides the compoundMeter and
writes a different time signature but preserves the beaming, possibly
checking that it is courser (achieved by summing up subparts).
_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel