|
From: | lilypond |
Subject: | Re: Issue 34 in lilypond: Grace synchronization |
Date: | Mon, 06 Feb 2012 23:55:07 +0000 |
Comment #20 on issue 34 by address@hidden: Grace synchronization http://code.google.com/p/lilypond/issues/detail?id=34I've had another musing. My proposal of using -inf as normal grace timing basically shifts just one problem class to another since some things need to happen before graces in other contexts, some after.
So I thought about this: we have a start-of-timestep callback in engravers, and event callbacks and end-of-timestep. Now what we actually want when a grace is in a parallel context but not in ours, is to have our start-of-timestep callback called before the grace in the other context starts its event callbacks, and our end-of-timestep called afterwards. And actually, if there is a preceding event in our own graceless context, its end-of-timestep is to be called _afterwards_ as well.
So with a grace, I tend to consider it reasonable to have a start-of-timestep for the next event in sequence called before the end-of-timestep of the preceding event in the same context is called when a grace occurs in a parallel context. Possibly (but less sure about that) even when the grace occurs in one's own context. The context-moment should likely reflect the grace timing, as if one had had a spacer grace in one's own voice.
That way typical start-of-timestep actions like creating a new context or establishing a new clef or setting context properties or so will happen before graces in parallel voices.
[Prev in Thread] | Current Thread | [Next in Thread] |