All,
Attached is a 12-measure LP file snippet with four treble-clef parts
plus piano reduction. The piano reduction works perfectly until it
encounters a temporary polyphonic passage (TPP). There are two in the
example, at mm.3-4 in the upper two voices and mm. 8-9 in the lower two
voices. As you can see on compiling it (2.16.2) the first two measures
are set in the piano reduction as expected, stems and rests in the right
places and directions; LP reports no errors.
Starting in m.5 however, LP reports collisions for rests/notes in the
upper voices and, as you can see, the stems no longer, as they were in
the first two measures, go the 'right' way, up for the upper part and
down for the lower part. The two lower voices continue to be set
correctly until they, too, have a TPP in mm.8-9, after which they also
are no longer set correctly and LP again reports collisions.
If I remove the TPP, the piano reduction is fine. I've tried using
\stemNeutral in various places and other things, but nothing changes in
the piano reduction.
The attached LP file has variables for both TPP and NoTPP, NoTPP has the
divisi removed. There is a \score section for TPP and NoTPP. Simply
shift the comments %{ %} to compile one score or the other.
Any help is appreciated.
Regards.
--
"There is only love, and then oblivion. Love is all we have
to set against hatred." (paraphrased) Ian McEwan
Guy Stalnaker I2@DOIT jstal...@wisc.edu
1210 West Dayton Street Room 3209 CSS Madison WI 53706
work 608.263.8035 fax 608.265.6681
\version "2.16.2"
\language "english"
\header {
title = "Post-Divisi Piano Reduction stem/rest collisions"
}
global = {
\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
\key bf \major
\time 3/4
\tempo 4 = 110
\clef "treble"
}
sopranoOneTPP = {
\global
ef'' d''4 c'' |
bf'2 r4 \bar "||" \time 4/4
<< { \voiceOne d''1 _~ | d''1 }
\new Voice = "sopOneDiv" { \voiceTwo r1 | a''1 \stemNeutral }
>> \oneVoice \stemNeutral \bar "||"
\key g \major \tempo 4 = 95
d''2 e''4 g'' |
fs''2. r4 |
e''4 d'' c'' b' |
a' r4 r2 |
r2 a''4 r4 |
g''2 d''4 b' |
c'' b' a' b' |
}
sopranoOneNoTPP = {
\global
ef'' d''4 c'' |
bf'2 r4 \bar "||" \time 4/4
d''1 _~ | d''1 \bar "||"
\key g \major \tempo 4 = 95
d''2 e''4 g'' |
fs''2. r4 |
e''4 d'' c'' b' |
a' r4 r2 |
r2 a''4 r4 |
g''2 d''4 b' |
c'' b' a' b' |
}
sopranoTwoTPP = {
\global
c''8 r8 bf'8 r8 a'8 r8 |
f'4 f' r4 | \time 4/4
<<
{ \voiceOne \stemDown r2 a'2 _~ | a'1 }
\new Voice = "sopTwoDiv" { \voiceTwo \stemUp r4 c''2. ^~ | c''1 }
>> \oneVoice \stemNeutral |
\key g \major
g'4 r8 g'8 g' a' b' ( c'' ) |
d''2. d''4 |
c''4 b' a' g' |
a'8 b' c'' d'' ef''2 ~ |
ef''2. r4 |
b' b' b' d'' |
a' b' c'' d'' |
}
sopranoTwoNoTPP = {
\global
c''8 r8 bf'8 r8 a'8 r8 |
f'4 f' r4 | \time 4/4
r2 a'2 ~ | a'1 |
\key g \major
g'4 r8 g'8 g' a' b' ( c'' ) |
d''2. d''4 |
c''4 b' a' g' |
a'8 b' c'' d'' ef''2 ~ |
ef''2. r4 |
b' b' b' d'' |
a' b' c'' d'' |
}
altoOneTPP = {
\global
g'8 r8 f'8 r8 ef'8 r8 |
d'4 d' r4 | \time 4/4
r2 r4 fs'4 ~|
fs'1 | \key g \major
b'4 b' c'' a' |
b'2. r4 |
g' fs' e' e' |
fs' r r
<< { \voiceOne \stemDown s4 | a'2. }
\new Voice = "altoOneDiv" { \voiceTwo \stemUp c''4 ^~ | c''2 }
>> \oneVoice \stemNeutral
r4 |
d'2 e'4 e' |
e' f' fs' g'4 |
}
altoOneNoTPP = {
\global
g'8 r8 f'8 r8 ef'8 r8 |
d'4 d' r4 | \time 4/4
r2 r4 fs'4 ~|
fs'1 | \key g \major
b'4 b' c'' a' |
b'2. r4 |
g' fs' e' e' |
fs' r r r |
a'2. r4 |
d'2 e'4 e' |
e' f' fs' g'4 |
}
altoTwoTPP = {
\global
ef'8 r8 f'8 r8 f8 r8 |
bf4 bf r | \time 4/4
r1 |
d'1 | \key g \major
g'4 g' f' f' |
e'2. r4 |
a4 b c' cs' |
d' r4 r2 |
<< { \voiceOne \stemDown r2 d'4 }
\new Voice = "altoTwoDiv" { \voiceTwo \stemUp r4 fs'2 }
>> \oneVoice \stemNeutral
r4 |
g r gs r |
a r d' g |
}
altoTwoNoTPP = {
\global
ef'8 r8 f'8 r8 f8 r8 |
bf4 bf r | \time 4/4
r1 |
d'1 | \key g \major
g'4 g' f' f' |
e'2. r4 |
a4 b c' cs' |
d' r4 r2 |
r2 d'4 r4 |
g r gs r |
a r d' g |
}
sopranoIStaffTPP = {
\new Staff { \sopranoOneTPP }
}
sopranoIIStaffTPP= {
\new Staff { \sopranoTwoTPP }
}
altoIStaffTPP = {
\new Staff { \altoOneTPP }
}
altoIIStaffTPP = {
\new Staff { \altoTwoTPP }
}
sopranoIStaffNoTPP = {
\new Staff { \sopranoOneNoTPP }
}
sopranoIIStaffNoTPP = {
\new Staff { \sopranoTwoNoTPP }
}
altoIStaffNoTPP = {
\new Staff { \altoOneNoTPP }
}
altoIIStaffNoTPP = {
\new Staff { \altoTwoNoTPP }
}
pianoReductionTPP = \new PianoStaff \with {
fontSize = #-1
\override StaffSymbol #'staff-space = #(magstep -1)
} <<
\new Staff \with {
\consists "Mark_engraver"
\consists "Metronome_mark_engraver"
\remove "Staff_performer"
} {
#(set-accidental-style 'piano)
<<
\sopranoOneTPP
\\
\sopranoTwoTPP
>>
}
\new Staff \with {
\remove "Staff_performer"
} {
#(set-accidental-style 'piano)
<<
\altoOneTPP \\
\altoTwoTPP
>>
}
>>
pianoReductionNoTPP = \new PianoStaff \with {
fontSize = #-1
\override StaffSymbol #'staff-space = #(magstep -1)
} <<
\new Staff \with {
\consists "Mark_engraver"
\consists "Metronome_mark_engraver"
\remove "Staff_performer"
} {
#(set-accidental-style 'piano)
<<
\sopranoOneNoTPP
\\
\sopranoTwoNoTPP
>>
}
\new Staff \with {
\remove "Staff_performer"
} {
#(set-accidental-style 'piano)
<<
\altoOneNoTPP \\
\altoTwoNoTPP
>>
}
>>
%{
\score {
<<
\new ChoirStaff
<<
\sopranoIStaffTPP
\sopranoIIStaffTPP
\altoIStaffTPP
\altoIIStaffTPP
>>
\pianoReductionTPP
>>
\layout { }
\midi { }
}
%}
\score {
<<
\new ChoirStaff
<<
\sopranoIStaffNoTPP
\sopranoIIStaffNoTPP
\altoIStaffNoTPP
\altoIIStaffNoTPP
>>
\pianoReductionNoTPP
>>
\layout { }
\midi { }
}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user