lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reverting Beat Grouping Commands


From: Carl D. Sorensen
Subject: Re: Reverting Beat Grouping Commands
Date: Sun, 5 Apr 2009 16:29:05 -0600



On 4/5/09 3:36 PM, "Trevor Daniels" <address@hidden> wrote:

> 
> 
> Carl D. Sorensen wrote Sunday, April 05, 2009 7:33 PM
> 
>> What if we scrapped the current auto-beam code completely, and
>> replaced it
>> with a structured beatGrouping, something like
>> 
>> ((denominator (ending-beatGroupings) (subdivide-beatGroupings))
>>  (denominator2 (ending-beatGroupings) (subdivide-beatGroupings)))
>> 
> 
> It definitely has merit!  Let's see if I understand it.
> The current (ie in 2.13.1) beam-ending rules are used
> only to prevent long beamed runs of 16th and 32nd beams.
> Your suggestion easily accommodates all these.  For example,
> in 9/4 time there are 16 rules to do this.  These could be
> replaced by the far simpler
> 
> \set beatGrouping =
>   #'( 8 (3 3 3) ())
>     (16 (4 4 4 4 4 4) ())
>     (32 (8 8 8 8 8 8) ()))

You're missing an opening parentheses, I think.

> 
> or rather the equivalent in scm/music-functions.scm.  We
> could even improve the default by using sub-divided beams,
> something we can't do at present.

So do you want to try to implement this, or do you want me
to work on it?  If you're interested, I'd just as soon have you do it.
But if you want me to do it, I'm willing.
> 
> I can't see anything this can't do.  If by 3/32 beams you
> mean beaming 32nd notes in threes, I think it can do this.

No, I don't mean beaming 32nd notes in threes.  In the current
auto-beam-settings, there is a beam-numerator, which can be something other
than 1 (although I don't know what it means to have the beam numerator be
something else; every beam I know of has a numerator of 1).  I just meant
that this plan would do away with the beam numerator, and the beam numerator
would always be assumed to be 1.

> For example, in 9/4 you'd need to modify the above to
> 
> \set beatLength = #(ly:make-moment 1 32)
> \set beatGrouping =
>   #'( 8 (12 12 12) ())
>     (16 (16 16 16 16 16 16) ())
>     (32 (3 3 3 3 3 3 3 3 3 3 3 3) ()))

This isn't the way I'd do it.  I would never change beatLength; for me,
beatLength remains the numerator of the time signature.  Also, for me, the
groupings for each beam type are always in the units of that beam type, so

\set beatGrouping =
#'(( 8 (6 6 6)())
   (16 (6 6 6 6 6 6)())
   (32 (3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3) ()))

> 
> There was a discussion some time ago about auto-
> beaming east-European rhythms.  See
> http://lists.gnu.org/archive/html/lilypond-user/2007-12/msg00032.html
> It's getting late now, so I'll leave this until tomorrow,
> but I wonder if your scheme would handle this?

I couldn't understand what the issue was in Hans's post.  I thought tuplets
were always beamed, and I don't know what subdivisions he wanted to have in
the quadruplets.

Carl





reply via email to

[Prev in Thread] Current Thread [Next in Thread]