lilypond-user
[Top][All Lists]
Advanced

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

Re: Automatic beaming global settings


From: James Worlton
Subject: Re: Automatic beaming global settings
Date: Fri, 10 Sep 2010 12:05:59 -0500

On Fri, Sep 10, 2010 at 11:52 AM, Nick Payne <address@hidden> wrote:
On 10/09/10 23:35, James Worlton wrote:
Hello,

I'm trying to define the set of default automatic beamings for a score. The new beaming function is nice, but it won't let me set multiple rules in a global variable. Here is what I'm trying to do--I have a rule for 4/4 and a rule for 3/4 that limits beaming to a quarter note:

\version "2.13.32"
global = {
   \overrideTimeSignatureSettings
       #'Score
       #'(4 . 4)  % time signature fraction
       #'(1 . 4)  % base moment fraction
       #'(1 1 1 1)    % beatStructure
       #'()       % beamExceptions

   \overrideTimeSignatureSettings
       #'Score
       #'(3 . 4)  % time signature fraction
       #'(1 . 4)  % base moment fraction
       #'(1 1 1)    % beatStructure
       #'()       % beamExceptions %}
}

music = \relative c' {
   \time 4/4
   \repeat unfold 4 { c8 c c c c c c c }
   \time 3/4
   \repeat unfold 4 { c8 c c c c c }
}

\score {
   \new Staff {
       \global
       \music
   }
   \layout { }
}

The problem is that with just one of those rules define in \global, everything is fine. With the 2 definitions, only the last one takes effect. I tried putting them in separate variables (\globalFour and \globalThree) and then calling both in the \new Staff before \music, but that didn't work either.

Is there a way to do this?

This seems to work:

\version "2.13.32"

global = \set beamExceptions =
   #'((end . (((1 . 8) . (2 2 2 2))
               ((1 . 8) . (2 2 2)))))

revertBeaming = \set beamExceptions = #'()

Indeed it does. Actually you can simplify the rule to:
\set beamExceptions =
        #'((end . (((1 . 8) . (2 2 2)))))
and that covers both 4/4 and 3/4.

I was a bit fuzzy on the beamExceptions before, now I'm beginning to see the light. Thanks!

James

reply via email to

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