lilypond-user
[Top][All Lists]
Advanced

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

Re: \stopStaff \startStaff bug


From: David Kastrup
Subject: Re: \stopStaff \startStaff bug
Date: Sat, 07 Jan 2023 17:58:14 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Jean Abou Samra <jean@abou-samra.fr> writes:

> Le 07/01/2023 à 17:11, Kieren MacMillan a écrit :
>> Could you explain this a bit more, please? This is a position I’ve
>> never quite understood about Issue #34: I would love to see an input
>> where I can’t determine the output with certainty just from the
>> input.
>
>
> Just take the example I gave earlier and remove the grace skips.
>
> \version "2.24.0"
>
> <<
>   \new Staff { \grace { c'8 d'8 } c'1 }
>   \new Staff {
>     \once \override Staff.TimeSignature.color = "red"
>     \once \override NoteHead.color = "red"
>     c'1
>   }
>>>
>
>
> (looks like the staves are swapped if you remove \new Staff...).
>
> Do the overrides occur before the graces?

Yes.

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

> Do they occur after?  In that case, the TimeSignature one has no
> effect, because the TimeSignature grob was created before the graces.
> The latter is the currently chosen interpretation.

With that interpretation, \once \override Staff.NoteHead.color would
color _all_ grace notes.  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.

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

-- 
David Kastrup



reply via email to

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