I wrote:
> I was imagining it. [...] it never actually says it *can't* be
> explicitly created.

It's in engraver-init.ly: “You cannot explicitly instantiate a
@code{Score} context”.

David Kastrup wrote:
> > Doing start_translation_timestep in mid-timestep is unclean, though,
> > and may confuse translators that expect it to be called at the
> > beginning.
>
> How would they know the difference?  There is nothing sent to an
> implicit context before it is created.  If it did not miss any piece
> of the action, where is the problem?

They could miss earlier events from that timestep — but if no
translators care about events from before their context was created,
that doesn't matter. If a translator announces something in
start_translation_timestep (is this allowed?), other translators would
hear it in mid-timestep.

> Part of the reason to use events for about anything is the ability to
> _record_ them and reply them, like the quote iterator does.

Does it replay (or even see) timestep boundaries?

> I think I find the "start_translation_timestep will occur before
> process_music" invariant pretty important

Yeah. The CG even says so, in the engraver tutorial:
“`start_translation_timestep ()' is called before any user information
enters the translators, i.e., no property operations (\set, \override,
etc.) or events have been processed yet.”

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to