[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Partcombine
From: |
Reinhold Kainhofer |
Subject: |
Re: Partcombine |
Date: |
Wed, 1 Jun 2011 13:04:08 +0200 |
User-agent: |
KMail/1.13.6 (Linux/2.6.38-8-generic; KDE/4.6.2; i686; ; ) |
Am Dienstag, 31. Mai 2011, 22:18:49 schrieb Nels Daily:
> > I'm not top posting.
>
> "Partcombine" function will not show the second voice in measure 11.
> Here's the code:
That's a bug in the partcombiner (one of many...). I think a bug report is
suitable so that it doesn't get lost.
Attached is a stripped down example.
A short analysis of the bug:
The disappearing notes start after a multi-measure rest, which did start
earlier than a multi-measure rest in the first voice. The part-combiner walks
through the score as following:
1) In the first measure, only mI is playing, so it starts a solo (mII has a
multi-measure rest) and uses only the music events from mI
2) In the second measure both voices have a multi-measure rest, the solo of mI
has ended. As mII has a multi-measure rest already going on, the part-combiner
needs to take the multi-measure rest from mI (the part-combiner is not able to
split up a multi-measure rest!)
3) In the third measure, mII has a rest, so the first quarter is still detected
as unisilence (thus the rest from mI is still used). Now, as there is already
a whole measure rest going on, lilypond ignores the following notes.
Note that there are some other bugs in the part-combiner that can be seen with
this example:
-) If one replaces the r4 with a b4 in measure 3, then the notes are displayed
(marked as "Solo II", but the whole-measure rest from mI is displayed, too.
-) If one adds a measure "c1" to both voices, the "r4" in mI is wrongly
printed as a full-measure rest (rests in unisilence are taken from the second
voice, unless voice one had a solo ending before the rest, like in the
original example)
-) If one adds any note after the "R1*2" in mI, then the notes are correctly
printe.
As Xavier already mentioned, there is a workaround to force the partcombiner
to use a particular combining strategy. (Also note that the first quarter eight
rest in the third measure of your original example is printed as if there were
two voices present... Also in this case you need to tell the part-combiner
that the rest should be a solo, too. Don't worry, the "Solo" text will still
be printed on the first note, not on the rest).
Cheers,
Reinhold
> \version "2.13.63-1" % necessary for upgrading to future LilyPond
> versions.
>
> hornthree = \relative c' {
> \time 2/4
> R2*2 r8 e16 r r8 e16 r r8 cis16 r r8 e16 r
> R2*2 r8 e16 r r8 e16 r r8 d16 r r8 e16 r R2*6
> }
>
> hornfour = \relative c' {
> \time 2/4
> R2*10
> %% These notes don't appear!!! %%
> r8 b~ b b~ b b~ b b~ b b~ b b~ b b~ b b
> }
>
> \score {
>
> << {
> \partcombine \hornthree \hornfour
> } >>
>
> }
>
>
> _______________________________________________
> bug-lilypond mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-lilypond
--
------------------------------------------------------------------
Reinhold Kainhofer, address@hidden, http://reinhold.kainhofer.com/
* Financial & Actuarial Math., Vienna Univ. of Technology, Austria
* http://www.fam.tuwien.ac.at/, DVR: 0005886
* LilyPond, Music typesetting, http://www.lilypond.org
pc.pdf
Description: Adobe PDF document
pc.ly
Description: Text Data
- Re: Partcombine, Xavier Scheuer, 2011/06/01
- Re: Partcombine,
Reinhold Kainhofer <=