On 2020/02/06 14:29:55, Dan Eble wrote: > The reviewers are turning the first question I asked around and asking it back > to me. I don't know if this is useful without other stuff I've been working on. > That's why I've posted it for review. I thought that you (well, mainly I > thought that David K.) might know of some corner of LilyPond where delaying a > \set (or similar thing) until the end of the current time step would be useful.
Sorry for turning the question back, but I would really like the problem defined before we try solving it. More code means more maintenance liability, so unless it either solves a problem, or it simplifies the existing system, it would be a net negative. The description says: change something at the end of the timestep. For almost all properties (and in particular for the fingeringOrientations which your example uses), changing it at the end of the current timestep is equivalent to changing it at the start of the next, which is functionality we already have. Also, if you really wanted this, couldn't you embed the property in a Music expression, and then have an engraver catch that expression, and then execute the property assignment at its stop_translation_timestep() ? You could even do that in a scheme engraver. David mentions \cadenzaOff in the issue tracker. I think you could fix the behavior inside the Timing_engraver without requiring a new construct (although, if we did this, we'd probably upset bar numbering across existing scores.) I hope I am not demoralizing you; by getting this working, you show mastery of advanced LilyPond internals, which is a great achievement! https://codereview.appspot.com/581600043/