lilypond-user
[Top][All Lists]
Advanced

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

Re: auto-beaming


From: Trevor Daniels
Subject: Re: auto-beaming
Date: Thu, 19 Mar 2009 09:04:11 -0000

Hi

This is almost but not quite possible. You have to use beam-ending rules to obtain different beaming for different note durations (rather than beat-grouping rules, which apply to all note durations).

In 2.12 the beam-ending rules are

   ((end * * 2 4) . ,(ly:make-moment 1 4))
   ((end 1 32 2 4) . ,(ly:make-moment 1 8))
   ((end 1 32 2 4) . ,(ly:make-moment 3 8))

These end all beams at the half-bar (1/4 moment) and 32nd beams at the quarter bar (1/8 and 3/8 moments).

You want:

8th note beams to end only at bar end, so you need to revert the first rule and add one to end these beams at bar end.

16th note beams to end at the 1/4 moment, so you need to add a rule to do this.

32nd note beams also to end at the 1/4 moment (only), so you need to revert the
last two rules and add two more to do this.

Here's how to code it:

#(revert-auto-beam-setting '(end * * 2 4) 1 4)
#(revert-auto-beam-setting '(end 1 32 2 4) 1 8)
#(revert-auto-beam-setting '(end 1 32 2 4) 3 8)
#(override-auto-beam-setting '(end 1 8 2 4) 2 4)
#(override-auto-beam-setting '(end 1 16 2 4) 1 4)
#(override-auto-beam-setting '(end 1 32 2 4) 1 4)

To subdivide the beams at 8th notes you need to set the beatLength to 1/8 and subdivideBeams to #t:

\set beatLength = #(ly:make-moment 1 8)
\set subdivideBeams = ##t

Unfortunately, this will also subdivide 16th beams too. This is what I meant by "not quite possible". You would need to turn subdivideBeams on and off as required.

Note that this will change in 2.13 - the revert commands will not be necessary as these beam-ending rules have been removed.

HTH

Trevor



----- Original Message ----- From: "David Bobroff" <address@hidden>
To: <address@hidden>
Sent: Thursday, March 19, 2009 7:17 AM
Subject: auto-beaming


I'm trying to work out some auto-beaming modifications.

In 2/4 time I want:

4 8th notes beamed
4 16th notes beamed
8 32nd notes beamed with a subdivision at the 8th note level

Is this possible? I understand that I'll need to revert some beaming rules in auto-beam.scm. Frankly, I get a bit lost when working out which rules need to be reverted. First, I just need to know if my auto-beaming wish can be made to happen.

-David


_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user






reply via email to

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