Hello, I have tried the same idea with context properties, and it seems to work just as well as my previous approach with a static member. (To summarize: cross voice spanners and the voice they currently belong to are stored in a property of some context containing both voices, like Score. Each voice's engraver checks this property in its parent contexts during an engraving step, and acts on the spanners that currently belong to its voice.) Thanks again for the suggestion!
There is a detail I would like to clarify. David suggested allowing \= to optionally specify the parent context in which a cross-voice spanner's information is shared (although I am not sure how that would be done with a key-list, since I think the spanner id itself is a string). If this context is not specified, should it default to Score or Staff (or something else)? Also, I am trying to implement this by setting a property of the span event to the indicated context symbol; is that a reasonable approach? Nathan _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel