lilypond-user
[Top][All Lists]
Advanced

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

Re: Help for \beamExceptions


From: Richard Shann
Subject: Re: Help for \beamExceptions
Date: Thu, 03 Sep 2015 11:41:10 +0100

On Thu, 2015-09-03 at 10:54 +0200, David Kastrup wrote:
> Richard Shann <address@hidden> writes:
> 
> > On Wed, 2015-09-02 at 20:13 +0200, David Kastrup wrote:
> >> 
> >> > And there is a comment somewhere about using | to separate
> >> something,
> >> > I guess bars with the same \time signature (or, indeed different
> >> > ones).
> >> 
> >> No, it's always for exactly one time signature, but at the time it is
> >> called, LilyPond has no idea just how long a bar is and can't count it
> >> off itself.  So you need to separate rule patterns by |. 
> >
> > Ah, in that case I need a way of building up the list of beamExceptions,
> > so the user can define beaming rules for all the time signature changes
> > they use in the score.
> 
> There are separate commands for defining time-signature-specific
> exceptions rather than the currently active exception list.

I was just experimenting with something along those lines when your
email arrived:

#(override-time-signature-setting '(3 . 8) '())


I was thinking this might revert the 3/8 rules to the default, but I'm
not sure I've got it right yet. I got there from Simon Albrecht pointing
me to

scm/time-signature-settings.scm

reading which I understand default-time-signature-settings is set to an
alist that uses the time signature pair as a key and an alist as value,
in which inner alist one of the keys can be 'beamExceptions.
If this understanding is right, then I should be able to set!
default-time-signature-settings to a new value incorporating the user's
desired beamExceptions value before any \score {} blocks and the new
rules will then apply wherever the user has that time signature. I was
guessing that override-time-signature-setting would allow changing the
"inner" alist of default-time-signature-settings.
Let me know if I'm barking up the wrong tree here!

Richard


> 
> >   (make-music
> >     'PropertySet
> >     'value
> >     (list (list (quote end) (list 1/8 5 3))
> >           (list (quote end) (list 1/8 4 2)))
> >     'symbol
> >     'beamExceptions))
> >
> > Which I guess means that this is not creating a beaming rule specific to
> > those time signatures - can I augment the alist returned by
> > \beamExceptions to make it into a rule specific to the time signature
> > concerned? I guess I would know the answer to this if I could find out
> > what the alist holds initially, but my feeble attempt to elicit this via
> > \void \displayScheme #beamExceptions
> > gave me
> >
> > #<Music function #<procedure #f (music)>>
> >
> > which is the "music" function rather than the alist - how come these two
> > things appear to have the same name?
> 
> Convenience.  Just so that you don't need to remember two names.  As a
> context property, 'beamExceptions is just a symbol.  You could probably
> use something like
> 
> \applyContext #(lambda (c) (write
>                              (ly:context-property c 'beamExceptions)))
> 
> to dump the current beamExceptions at any place in the score.
> 





reply via email to

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