"Keith OHara" <k-ohara5...@oco.net> writes: > On Sun, 26 Apr 2015 05:37:14 -0700, Dan Eble <d...@faithful.be> wrote: > >>> I think \context...{} segments make a better implementation of >> \partcombine than re-routing outlets in the part-combine-iterator.cc >> >> I believe that would work, but it looks less tidy than keeping the >> original part intact and wrapping it in a context which moves >> between Voice contexts. > > ... c4 } \context Voice = "one" { d4 ... > is only slightly less tidy than > ... c4 \change Voice = "one" d4 ... > > If you were thinking of a separate sequence of {... s1 \change Voice = "one" > s2...} in parallel with the part, then the \change method could be more tidy. > > The wrapping context, though, means that we have to explicitly specify Voice > in any overrides that should carry through to the combined part > \partcombine { c'4 d'4 } {\slurDashed g'4( b') } > \partcombine { c'4 d'4 } {\override Voice.Slur.dash-definition = #'((0 1 0.4 > 0.75)) g'4( b') }
Huh. I changed the definition of "Bottom" context at one time to one that does not have a \defaultchild rather than one that does not have an actual child. So I'd expect a Bottom override to arrive in a Voice when emitted in a SubVoice that is accepted by Voice as long as Voice still has no \defaultchild. But that does not happen. One could argue that this may be a bug, and that every context in the current parentage that considers itself "Bottom" should be affected by Bottom overrides. At least that seems like it would make for more useful behavior with regard to extending the context hierarchy. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel