lilypond-devel
[Top][All Lists]

## Re: patch: auto-beaming for mixed duration

 From: Eric Bullinger Subject: Re: patch: auto-beaming for mixed duration Date: Wed, 08 Jan 2003 21:02:20 +0100 User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20021120 Netscape/7.01



I don't understand what the code is supposed to do.  If I try your
example below, I get exactly the same output as the ps you send.  Do
miss something, or can you give a better example?


The code takles the Bug described in

http://lilypond.org/stable/Documentation/user/out-www/lilypond/Setting-automatic-beam-behavior.html#Setting%20automatic%20beam%20behavior "It is not possible to specify beaming parameters that act differently in different parts of a measure. This means that it is not possible to use automatic beaming in irregular meters such as 5/8."


With the present auto-beaming, I can only specify the length of the first beam, all others have the same length (implemented via a modulo operation). Especially for odd length measures, I would like to be able to beam differently automatically,
   e.g in 5/8, [a8 b]  [c  d  e].

With the patch, the user can specify each position a beam should end, so for the above example, these are 2/8 and 5/8, \property Voice.autoBeamSettings \override #'(end * * 5 8) = #(make-moment 12 8)
(where 12 = 2*5 +2 specifies twice the position 2 to get a number >=5 )
but not 2/8 and 4/8 achieved  by using

\property Voice.autoBeamSettings \override #'(end * * 5 8) = #(make-moment 2 8)

I hope I have made the point clearer.
Eric

\version "1.4.10.jcn1"

composer = "Eric Bullinger"
footnotes = ""
tagline = "Lily was here 1.5.6.eb1"
title = "auto-beam-engraver test"
}

%%\include "MomBar_part.ly"

%%%%%%%%%%%%%%%%%%%%%%%%

notesOne = \notes \relative c''{
\key c \major
\time 5/8
\property Voice.autoBeamSettings \override #'(end * * 5 8) = #(make-moment 2 8)

c8 d e f e \bar "||"}

notesTwo = \notes \relative c'{
\key c \major
\time 5/8
\property Voice.autoBeamSettings \override #'(end * * 5 8) = #(make-moment 12 8)

c d e f e \bar "||"}

%%%%%%%%%%%%%%%%%%%%%%%%%%

\score{ \notes
\context GrandStaff <
\context Staff = sOne <
\context Voice = vOne <
\voiceOne
\notesOne
>
\context Voice = vTwo <
\voiceTwo
\notesTwo
>
>
>
\paper {
}
}