Nathan Chou <starry...@gmail.com> writes:

> 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).

Right.  Maybe it should rather be a key?  That would also make
comparison generally faster than string comparisons.

> If this context is not specified, should it default to Score or Staff
> (or something else)?

Nothing at all?  Namely don't look anywhere else unless asked for?

> 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?

Probably.

-- 
David Kastrup

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

Reply via email to