lilypond-devel
[Top][All Lists]
Advanced

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

\partcombine and \lyricsto patch


From: Bret Whissel
Subject: \partcombine and \lyricsto patch
Date: Tue, 01 Feb 2005 16:12:02 -0500

The attached patches alter part-combine-iterator.cc and
new-lyrics-combine-music-iterator.cc so that \partcombine and \lyricsto
may be used together.

Properties "activeVoicePartOne" and "activeVoicePartTwo" are set to
indicate to which output channel the original part has been directed
(one of "one", "two", "shared", "solo", "null").  The lyric-combiner is
altered to look for a staff name if a voice name lookup fails, and then
tracks the appropriate "activeVoicePartXXX" property if the staff name
lookup succeeds.

If one wishes to set lyrics to the "soprano" voice, input might look
like the following:
<<
  \context Staff = "treble" {
    \set Staff.printPartCombineTexts = ##f
    \partcombine \vcsoprano \vcalto
  }

  \lyricsto "treble.1" \new Lyrics \texta

  \context Staff = "lower" {
    \set Staff.printPartCombineTexts = ##f
    \partcombine \vctenor \vcbass
  }
>>

where \lyricsto "treble.1" indicates the first part-combined part on the
staff named "treble" ("treble.2" would set the voice to the alto part).
The associatedVoice property may be changed, as before, with the added
behavior that "treble.1" and "treble.2" may also be specified.

Problems:  This code works, but it is only well-behaved on the first
part-combined staff.  Subsequently attempting to set lyrics to one of
the voices on the "lower" staff (in this example) exhibits strange
behavior.  I haven't figured out why yet:  some fundamental
mis-understanding on my part, I'm sure.

This patch also changes the unison behavior for part-combined voices:
two stems are displayed  (instead of the previous behavior where a
single stem would be engraved).  I have not yet figured out how to pass
properties into the part-combiner which would set one behavior or the
other.  (I've been busily type-setting music for the past month: when
the deadline for this project has passed, I'll have a bit more leisure
time to learn more about lilypond.)

CVS was not working for me, so I'm attaching files patched against
v2.5.10.  I apologize, but I either had to send this in now, or wait
several more weeks before I had time to work on this again.

And finally, much as I would like to be at the LAD conference, I've got
rehearsals and performances that same week.  My LilyPond boondoggle will
have to wait for another time.  (It's been too long since I've had a
decent beer... ;)

Bret

Attachment: lyric-pc.patch
Description: lilypond lyric/part-combine patch

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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