Quoth Mats Bengtsson:
> Probably since the Voice context "1" created for the c, dies directly
> after that note, since there are no more events directly following the c.
> Then when the g appears, a new Voice context with the same name is
> created but since the earlier one with a same name has already been
> removed, you actually get a completely new context.
Oh! This is what I would have expected originally, but it seems to
directly contradict what is said in the manual, section 6.6.1 "Basic
polyphony"....
> The additional \context Voice = "1" {s1*2} just makes sure that the
> context is kept alive long enough.
I see. I think I'm now understanding the historical and programmatic
reasons for the "s1" construct (finally), but as a user I still find
them slightly confusing and very hacky. I'll see if I can come up with
something better. ;)
Updating my running summaries, the key thing to change is that the
existing context with a given name has to not only exist, but have a
temporal extent that includes the "now" position, in order to switch
into the existing context. Right?
> A better solution is perhaps to explicitly instantiate and name the
> context for the second voice:
No doubt, but my original reason for this was to make a certain sort of
lightweight annotation. Once I get my Scheme hacking up and running,
I'll probably do just this (although I would have run into the exact
same problem if the contexts were named...).
--
-=-Don [EMAIL PROTECTED]<http://www.blahedo.org/>-=-
Did you ever notice when you blow in a dog's face he gets mad at you?
But take him in a car he sticks his head out the window.
--Steve Bluestone
_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel