On Fri, Sep 10, 2010 at 11:52 AM, Nick Payne <[email protected]>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
_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user