lilypond-devel
[Top][All Lists]
Advanced

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

Re: Reverting Beat Grouping Commands


From: Trevor Daniels
Subject: Re: Reverting Beat Grouping Commands
Date: Mon, 27 Apr 2009 09:26:29 +0100


Neil Puttock wrote Sunday, April 26, 2009 4:31 PM


2009/4/26 Trevor Daniels <address@hidden>:

Just to recap, the advantage of \override over \set is that previously
overridden values can be recovered by \revert because they are
pushed onto a stack, whereas \unset simply restores the original
default value. Is that right?

Yes.

The problem with context properties is there's nowhere to store the
previous value

My knowledge of the internals is not sufficient to judge whether this is feasible or even possible, but is this [i.e. implementing a stack
fo context properties] an alternative approach
worth considering?

I'm sure it's possible, but it's way beyond my capabilities.

That means this is infeasible as a solution.

So we are left with two approaches:

a) Implement a pseudo-grob so we can use \override and \revert.

This would work, as Carl has demonstrated, but it muddies the
distinction between context and layout properties.

b) Implement special functions (as now) to change the auto-beaming
rules, so a pseudo-grob is not required

It would, in any case, be desirable to simplify the syntax of the user
interface, so some special functions at least will be provided.

For example, Graham suggested:

so what about
  \makeBeamGroupings #'(3 3 2)

and Carl replied:

So then we could have \makeBeamGroupings #'(3 3 2) translate into an autoBeamSettings rule for the current time signature. I like that idea a
lot!  Thanks!

So maybe we should implement all the user interface with special
functions along these lines, perhaps using

\makeAutoBeamRule  \revertAutoBeamRule

(I'd prefer push and pop rather than make and revert, but maybe
that's going too far)

and later

\makeAutoSubdivideRule  \revertAutoSubdivideRule

Trevor





reply via email to

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