lilypond-user
[Top][All Lists]
Advanced

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

edition-engraver and partcombine


From: Urs Liska
Subject: edition-engraver and partcombine
Date: Tue, 16 Dec 2014 17:25:08 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

Hi all,

I have problems getting the edition-engraver to run properly, but I think the underlying issue is general enough so others may help too. Well, initially it went quite well, but now I see a problem with the partcombiner.

IISC the edition engraver accesses the voices *after* the partcombiner does his job (I think so because the partcombiner merges voices when the input is parsed (???) while the edition-engraver works when for example the measure numbers are already known). So it is clear that I can't access individual voices that have been merged to \partcombineChords. And I think I can't address the original music variables independently either.

But that's not what I'm writing for.
I banged my head against the wall because the edition engraver didn't seem to be able to access the voices anymore in a given context, all that worked was addressing the staff (which proves that the basic set-up is correct). Now I realized that the edition engraver produces a log file, and that gave me the clue to why the addressing didn't work anymore (although not about the underlying reason). It seems LilyPond created new voices implicitly along the way of the piece, and therefore I'd have to address them not by "Voice.A" anymore but by "Voice.B" or ".G" etc.

From the measure numbers in the log I see that the spawning of new Voices is related to the partcombiner. Basically my score works by concatenating music variables to each "part". But here I experiment with temporary part combinations. There are four violoncello parts, originally engraved on individual staves. The idea is for selected sections to temporarily merge voices on fewer staves because that's musically clearer. So (pseudo-code) violoncelloI may look like

vc = {
  \one
  \two
  \partcombine
    \threeI
    \threeII
  \four
}

I have the impression that LilyPond creates a whole set of new voices when the \partcombine section happens, and this is what makes the voice list for that staff go up to "V" in the attached log.


So I think in order to get that to work smoothly I'd need either of the following solutions:

- talk LilyPond into not starting new Voices each time (or at least reusing old voices) - enable the edition-engraver to address voices by their name instead of their index
  (I think the voice names stay the same in the partcombiner)

Any ideas would be greatly appreciated.
Urs



reply via email to

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