Le 07/01/2023 à 17:58, David Kastrup a écrit :
In that case, the NoteHead one has no effect, because \once applies to the next time step only, and the next time step is for a grace note another voice.The recovery action of \once should likely occur after the next _local_ timestep.
OK, that is an interesting idea, although I would personally find ...
With that interpretation, \once \override Staff.NoteHead.color would color _all_ grace notes.
... this somewhat confusing.
An alternative would be to try to involve \context ... constructs in the grace fixup decisions, in which case NoteHead.color and Staff.NoteHead.color would lead to different timings of the result.
That would presumably lead to { \once \override NoteHead.color = ... \once \override Staff.NoteHead.color = ... ... } getting the events reordered so that the Staff.NoteHead override starts before graces and the NoteHead one starts after, which I would definitely find surprising. Either way, stuff like \version "2.24.0" articulations = { <>\< \after 8 \! s4 } \new Voice << { \grace b8 c'8 d'8 } \articulations >> would have its output changed in a way that I would consider unwanted.
So what do you do for an arbitrary \once \override? Especially if there is a Scheme engraver that might decide to create this grob at any time?\once \override is not a grob.
Well, I meant the grob type that \once \override is modifying.
OpenPGP_signature
Description: OpenPGP digital signature