lilypond-devel
[Top][All Lists]
Advanced

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

Re: [GSoC] Implement cross-voice dynamic spanners (issue 304160043 by ad


From: David Kastrup
Subject: Re: [GSoC] Implement cross-voice dynamic spanners (issue 304160043 by address@hidden)
Date: Sat, 13 Aug 2016 16:53:50 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Nathan Chou <address@hidden> writes:

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

The "maintain a map/list of the additional child instances" bit is of
course the most relevant.  Each specific engraver source file should
have to bother as little as possible, optimally making the
"spanner-id-ization" a fairly trivial and mechanical replacement.

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

The general description seems fine to me.  The interesting thing will be
to see how you factored the stuff.

-- 
David Kastrup



reply via email to

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