|
From: | Aaron Hill |
Subject: | Re: (scheme-)engraver in 2.20/21 |
Date: | Thu, 24 Sep 2020 04:40:43 -0700 |
User-agent: | Roundcube Webmail/1.4.2 |
On 2020-09-24 2:51 am, Jan-Peter Voigt wrote:
Hi all,after some other very involving projects I can now refocus on lilypond :-)I probably missed a change in 2.20/21. If I create a scheme-engraver the"start-translation-timestep" slot is not called, if the "initialize" slot has been called in this particular timestep. If this the intended behaviour I appreciate it because it is consistent. The "start-trans.." slot wasn't called before for instant voices, but for regular installed contexts. So now I have to finish "initialize" of the engraver with "start-trans..." in any case. So my question is if this is intended and not likely to change? Sorry, if I missed discussion about this! I have a demo below, where you can see that "start-trans..." is not called, if "initialize" has been called before in the same timestep.
It would seem that initialize/finalize are primarily concerned with the lifetime of the context whereas (start|stop)-translation-timestep deal with moving from one moment to the next in music. As such I do not see these things as related, so what would be the reason for initialize to trump start-translation-timestep?
I am curious more about the statement that start-translation-timestep was not "called before for instant voices, but for regular installed contexts". Do you have a MWE that demonstrates this behavior? Running the code you already provided against 2.18.2 and 2.19.55 (both via lilybin.com), and 2.20.0 locally show the call to start-translation-timestep after initialize for all three contexts.
-- Aaron Hill
[Prev in Thread] | Current Thread | [Next in Thread] |