I am considering allowing context definitions to express that no more than one 
of a certain child is accepted.  This is the currently implicitly the case for 
Score as a child of Global.

I thought a syntax something like this would work:

        \accepts “Zinnia”  % any number of Zinnias is accepted
        \accepts 1 “Peony” % at most one Peony is accepted

A user asking specifically for a \new Peony when one already exists gets a 
warning.

If a Peony is required as an intermediate context when creating a new 
descendant, and the Peony already exists, it is used silently.  This grace 
would not extend to limits > 1.

I would expect the initial implementation to reject any limit > 1.  Allowing 
larger numbers is an obvious direction for extension, but I don’t know whether 
there is a use case for it.

I’m not sure yet that I want to go through with this just to eliminate a small 
amount of special code for Global/Score, but I’m warming up to it.  If there 
are related concerns you would like me to consider, please voice them.

Regards,
— 
Dan


_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to