On Thu, 2015-09-03 at 10:54 +0200, David Kastrup wrote:
> Richard Shann <[email protected]> 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.
>
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user