On Fri, Sep 10, 2010 at 11:52 AM, Nick Payne <nick.pa...@internode.on.net>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 lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user