lilypond-devel
[Top][All Lists]
Advanced

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

Re: Create Score context before starting iteration. (issue 44860045)


From: dak
Subject: Re: Create Score context before starting iteration. (issue 44860045)
Date: Fri, 03 Jan 2014 19:49:28 +0000

On 2014/01/03 19:07:55, Devon Schudy wrote:
David Kastrup wrote:
>

https://codereview.appspot.com/44860045/diff/60001/input/regression/initial-contexts.ly#newcode10
> input/regression/initial-contexts.ly:10: %%and iteration can't skip
time
> without it.
> This comment is a bit of a non-sequitur: time is kept in the Global
> context, so it could get skipped.

Hmm, \skip successfully skips time, but doesn't update
measurePosition, because Timing_translator doesn't exist yet, so the
barlines are in the wrong places.

Ugh.  Ok, that's bad.


https://codereview.appspot.com/44860045/diff/60001/lily/global-context.cc#newcode148
> lily/global-context.cc:148: find_create_context (default_child_, "",
> SCM_EOL);
> This precludes \new Score \with ..., quite a no-no.

\new Score creates the context in construct_children, so that still
works.

That sounds shaky enough to warrant a good explanation in comments.

Something like { \skip 4 \new Score ... } would fail, though.
Should that work?

Excellent question.  Could be used for putting some delay into the MIDI
before the score starts.  But whether that _should_ work in that manner?
 No idea.  What when the Timing_translator is moved to Staff level?  It
would seem like nothing makes sense but having MeasurePosition start at
\new Staff when a staff is started after other staves.  In analogy to
that, "should that work" might indeed warrant a tentative "yes",
starting with a measurePosition of 0.

[on calling start_translation_timestep for new translators]
> Isn't that sufficient to have the Score context created in time?
> Without requiring the other fixes?

It doesn't create it in time, but it does start the Score translators
properly when they're created late — but it still doesn't start
Score_performer correctly, because it's a Translator_group, not a
translator. However, the only Translator_group per_timestep
initialization is creating Score_performer::audio_column_, so if
Audio_column goes away, there's nothing left to do there.

This is really headache material.

https://codereview.appspot.com/44860045/

reply via email to

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