lilypond-devel
[Top][All Lists]
Advanced

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

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"

\header {
        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 {
        }
    }













PNG image


reply via email to

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