Hi, I am almost done moving multiple/cross-voice spanner code out of specific engravers into the Spanner_engraver class. I just want to make sure this approach is on the right track before finishing up and submitting the patch:
New instances of the engraver are created to handle spanners/events/announcements with particular id's. The instance initially created with the context will maintain a map/list of the additional child instances that are created. Instead of the listen_ or acknowledge_ functions in the engraver, a special function is called in Spanner_engraver when listening or acknowledging. This function then calls the listen_ or acknowledge_ function: * On just the engraver instance corresponding to the spanner-id, if this was indicated when the listener/acknowledger was added * On all engraver instances otherwise This does seem to allow each instance (and the engraver code) to only have to deal with one spanner. Please let me know of any improvements or concerns, thanks! Nathan _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel