Hey everybody, I'm having a problem with noteheads in different voices
colliding, and I can't seem to fix it.  I tried the standard fix from the
notation:  \once \override NoteColumn #'force-hshift = # , which worked fine
in a test case I did, but for some reason has zero effect in the document.
Here's the local code:

    << { \voiceOne a2.~a2.~a2. } \new Voice = "altbit"
       { \voiceTwo fis2^\markup{ \put-adjacent #0 #-1 \sgr \dynamic "f  " }
fis4
         \once \override NoteColumn #'force-hshift = #7.5 gis2 gis4 a2 s4 }
>>

I've also attached the entire code as well as a picture of my output.  Is
this a bug I should report, or am I doing something wrong?

Thanks,
Glendan
\version "2.12.2"


%Globals

global = { \time 3/4 \key a \major \dynamicUp \mergeDifferentlyDottedOn }

dim = \markup { \italic dim. }
rit = \markup { \italic rit. }
grl = \markup { \fontsize #1.5 \bold Girls }
boy = \markup { \fontsize #1.5 \bold Boys }
all = \markup { \fontsize #1.5 \bold \caps All }
sgr = \markup { \fontsize #0.7 \bold Girls }
sal = \markup { \fontsize #0.8 \bold \caps All }
dwn = \once \override Stem #'neutral-direction = #down
up  = \once \override Stem #'neutral-direction = #up

#(set-default-paper-size "letter")
#(set-global-staff-size 17.0)

% Functions

#(define (my-callback grob)
  (let* ((orig (ly:grob-original grob))    ;; have we been split?
         (siblings (if (ly:grob? orig)     ;; if yes, get the split pieces (our 
siblings)
                       (ly:spanner-broken-into orig) '())))

    (if (and (>= (length siblings) 2)
             (eq? (car (last-pair siblings)) grob))
        (ly:grob-set-property! grob 'direction UP))
    (ly:tie::print grob)))

breakTieUp = \override Tie #'stencil = #my-callback



% Soprano Voice

sopmI = \relative a' 
  { \partial 4 a4^\grl \p | a2 a4 | cis2 d4 e2\< (fis4\! | e2) e4^\dim a,2 a4 | 
cis2 d4 e2\< (fis4\! | e2.) \break 
    
    e2\p fis4 | e2 d4 | cis2. (a2) a4 | b2 b4 cis2 b4 a2 \< (b4 | cis2) cis4\! 
\break 
    
    e2 fis4 | e2\> d4\! | cis2.^\dim a2 a4 | b2 b4 cis2 b4 a2 \< (b4 \! | 
cis2.) \break
    
    fis,2\f fis4 | gis2 gis4 | a2.\< (e'2.\! ) | cis2^\dim d4 | b2 b4 
\cadenzaOn a2\fermata \cadenzaOff \bar "||" }

sopmII = \relative e''
  { \partial 4 r4^\boy | R2. | r2 fis4 | e2 d4 | cis2 b4 cis2. | r2 fis4 | e2 
d4 cis4. (b8) a4 \break 
    
    b4. (cis8 a4 b2) r4 | r2 e4 | cis2. (d4. cis8) d4 | gis,4 cis cis | cis2 b4 
| a2 fis'4\break
    
    b,4. (cis8 a4 b2) r4 | r2 e4 | cis2. | d4. cis8 d4 | gis, cis cis | cis2 b4 
| a2 gis4 \break
    
    fis2 r4 | r4 cis' cis | cis4. (b8) a4 | b2. | e2 fis4 | e2 d4 | \cadenzaOn 
cis2\fermata \cadenzaOff \bar "||" }

sopmIII = \relative a''
  { \partial 4 r4^\grl | r2 a4\f | a4. (gis8) fis4 | e4. d8 cis4 | \up b2 (gis4 
| a2) a'4~a4. gis8 fis4 | e2 cis4 | b2\fermata r4 \break

    e2^\markup{ \put-adjacent #0 #-1 \boy \dynamic "p " } fis4 | e2 d4 | cis2. 
a2. | \up b2 \up b4 | cis2 b4 | a2 (\up b4 | cis2) d4 ~ 
    
    \(d4. \melisma cis8\) \melismaEnd \dwn b4 | e2.~e2 e4 | a2.~a4. gis8 fis4 | 
e2 d4 | cis2. b2. \break
    
    a2.~a2.~a2. | e'2.^\markup{ \put-adjacent #0 #-1 \sal \dynamic "f  " } 
(cis2) cis4 | b2 b4 | a2. (gis2.) 
    
    a2\ff a'4 | a4. (gis8 fis4 | e2) d4 | cis2 gis4 
  % a2^\markup{ \put-adjacent #0 #1 \dynamic "ff  " \all }
      
      a2 a'4 | a4. (gis8 fis4 | e2) d4 \break
    
    cis2 (gis4 | a2 d4) | cis2 fis4 | fis2 (e4) | cis2. d2. (cis2) cis4 \dwn 
b2.\mp \break
    
    e2.^\markup{ \put-adjacent #0 #-1 \all \dynamic "f  " } (d2) cis4 | b2 b4 
cis2.^\rit ~ cis2. 
      
      b2^\dim b4 cis2 b4\fermata \breathe 
    % b2^\markup { \put-adjacent #0 #-1 \all \italic "dim. " }
      
      a2. ~ (a2 \up b4 cis2.\fermata ) \bar "|." }



% Alto Voice

altmI = \relative e'
  { \partial 4 e4 | fis2 e4 | a4. (gis8) fis4 | e2 (a4 | gis2) a4 | fis2 e4 | 
a4. (gis8) fis4 | e2 (a4 | gis2.) \break
    
    a2 a4 | gis2 b4 | cis2. (a2) a4 | a2 a4 | a2 gis4 | a2.~a2 a4 \break
    
    a2 a4 | gis2 b4 | cis2. a2 a4 | a2 a4 | a2 gis4 | a2.~a2. \break
    
    fis2 fis4 | fis2 eis4 | fis2. (gis2.) | a2 a4 | a2 gis4 \cadenzaOn a2 
\cadenzaOff \bar "||" }

altmII = \relative d''
  { \partial 4 r4 | R2. | r2 d4 | cis4. (b8) a4 | a2 gis4 | a2. r2 d4 | cis4. 
(b8) a4 | a4. (gis8) fis4 \break
    
    gis4 r a ~ (a4. gis8) fis4 | e2. (a2) gis4 | fis2.~fis4 eis eis | fis2 gis4 
| a2 a4 \break
    
    gis4 r a | a4. (gis8 fis4 e2.) | a2 gis4 | fis2. (fis4) eis eis | fis2 gis4 
| fis2 eis4 \break
    
    fis4 fis fis | gis2 gis4 | a2. (e'2.) | cis2 d4 | b2 b4 | \cadenzaOn 
a2\fermata \cadenzaOff \bar "||" }

altmIII = \relative a'
  { \partial 4 a4\f | a2 a4 | cis2 d4 | e2 (fis4 e2.) a,2 a4 | cis2 (d4) | e2 
fis4 | e2\fermata r4 \break
    
    cis4. (\dwn b8) a4 | gis2 e4 | a2. a2. | fis2. gis2. | a2. a2 r4 \break
    
    e'2 fis4 | e2 d4 | cis2. a2 a4 | b2 b4 | cis2 b4 | a2. ~ \breakTieUp { a2.~ 
\break }
    
    << { \voiceOne a2.~a2.~a2. } \new Voice = "altbit" 
       { \voiceTwo fis2^\markup{ \put-adjacent #0 #-1 \sgr \dynamic "f  " } 
fis4 
         \once \override NoteColumn #'force-hshift = #7.5 gis2 gis4 a2 s4 } >>
    
      \oneVoice e'2.^\sal (cis2) cis4 | b2 b4 | a4 (cis) dis e2. \break
    
    e,2.\ff ~ (e4 a) \up b | cis4. (\dwn b8) a4 | a2 \up b4 | e,2. ~ (e4 a) \up 
b | cis4. (\dwn b8) a4 \break
    
    a2 (\up b4 | e,2 a4) | cis2 b4 | cis2. cis2 (a4) | b2. (a2) a4 gis2.\mp 
\break
    
    gis2.\f (fis2) a4 | a2 gis4 a2.^\rit | a2.^\dim ~ a2 a4 | a2 gis4\fermata 
\breathe | e2. (a2.^^ ~ a2.\fermata ) \bar "|." }



% Tenor Voice

tenmI = \relative c'
  { \partial 4 cis4\p | d2 cis4 | e2 fis4 | cis2\< (d4\! | b2) cis4^\dim d2 
cis4 | e2 fis4 | cis2\< (d4\! | fis2.) \break
    
    e2\p a4 e4. (fis8) gis4 | a2.~a2 fis4 | fis2 fis4 e4. (fis8) d4 | cis2\< 
(d4 | e2) fis4\! \break
    
    e2 a4 e4.\> (fis8) gis4\! | a2.^\dim a2 fis4 | fis2 fis4 e4. (fis8) d4 | 
cis2\< (d4\! | e2.) \break
    
    cis2\f cis4 | b2 b4 | cis2\< (d4\! e2.) | a2^\dim a4 | fis2 e4 \cadenzaOn 
cis2\fermata \cadenzaOff \bar "||" }

tenmII = \relative a
  { \partial 4 a4 | a2 a4 | cis2 d4 | e2 (fis4 e2) e4 | a,2 a4 | cis2 d4 | e2 
(fis4 e2.) \break
    
    e2 fis4 | e2 d4 | cis2. a2 a4 | b2 b4 cis2 b4 | a2 (b4 cis2) d4 \break
   
    e2 fis4 | e2 d4 | cis2. a2 a4 | b2 b4 | cis2 b4 | a2 (b4 cis2.) \break
    
    fis2 fis4 | fis2 eis4 | fis fis fis | gis2 gis4 | a2 
    
    << {\voiceOne a4 gis4. (fis8) gis4 a2\fermata} \new Voice = "tenIIhalf" 
{\voiceTwo d,4 e2 e4 a,2} >> \bar "||" }

tenmIII = \relative f'
  { \partial 4 r4 | r2 fis4\f | e2 d4 | cis4. b8 a4 | e'2. fis2 fis4 | e2 (d4) 
| cis2 fis4 | gis2\fermata r4 \break
    
    a4.\p (gis8) fis4 | \up b2. (e,2) e4 (fis2) a4 ~ (a4. gis8) fis4 | e2 d4 | 
cis2 d4 | e2 a4 \break
    
    gis2 gis4 | a2 gis4 | a2 a4 | cis2. fis,2 a4 | a4. (fis8) gis4 | a2 e4 | 
eis2 eis4 \break
    
    << { \hideNotes fis2 s4 | fis2 eis4 | fis2 fis4 | gis2 \unHideNotes } 
       \new Voice { \voiceTwo fis2. ~ 
                    \once \override Tie #'control-points = #'((1.3 . -2.1)(4.3 
. -4)(9.4 . -4)(13.0 . -2.1)) fis2.~fis2. } 
       \new Voice { \voiceOne s2. fis2^\markup{ \put-adjacent #0 #-1 \sgr 
\dynamic "f  " } eis4 |fis2 cis'4 | gis2 } >>
    
      \oneVoice gis4^\sal | a2.~a2 gis4 | a2. (e2.)
    
    a,2\ff a4 | cis2 d4 | e2 (fis4) | e2 r4 | a,2 a4 | cis2 d4 | e2 (fis4) 
\break
    
    e2 d4 | cis2 a'4 | a4. gis8 fis4 | gis2. (a2. fis2) gis4 | e2 fis4 gis2.\mp 
\break
    
    R2.     R2.   | R2.   | R2.^\rit
  % e2.\f ~ e2 e4 | e2 e4 | e2.^\rit 
    
    a2.^\dim (fis2) fis4 | e2 d4\fermata \breathe | cis2. ~ (cis2 d4 
e2.\fermata ) \bar "|." }



% Bass Voice

basmI = \relative a
  { \partial 4 a4 | a2 a4 | a2 a4 | a2.~a2 a4 | a2 a4 | a2 a4 | a2. (e2.) \break
    
    cis'2 d4 | e2 e4 | a2. (fis2) fis4 | d2 d4 | e2 e4 | a,2.~a2 fis'4 \break 
    
    cis2 d4 | e2 e4 | a2. fis2 fis4 | d2 d4 | e2 e4 | a,2.~a2. \break
    
    a2 a4 | gis2 gis4 | fis2 (fis'4 e2.) | a2 fis4 | d2 e4 | \cadenzaOn a,2 
\cadenzaOff \bar "||" }

basmIII = \relative d'
  { \partial 4 r4 | r2 d4\f | a2.~a2 a'4 | gis2 e4 | fis4. e8 d4 | a2. a2 a4 | 
e'2\fermata r4 \break
    
    R2. R2. a,2.\p (fis2) fis'4 | d2. e2. | a,2 a4 | a'4. (gis8) fis4 \break
    
    e2 d4 | cis2 b4 a2. | fis'2. d2. e2. | a,2. gis2. \break 
    
    << { \hideNotes fis'4 fis fis | cis2 cis4 | fis2 fis4 | e2 s4 \unHideNotes }
       \new Voice { \voiceTwo fis,2.~fis2.~fis2. }
       \new Voice = "basbit" { \voiceOne s4 fis'^\markup{ \put-adjacent #0 #-1 
\sgr \dynamic "f  " } fis cis2 cis4 | fis,2 fis'4 e2. } >> 
    
      \oneVoice a2^\sal fis4 | d2 e4 fis2. | e2\ff d4 \break
    
    cis2. a2.~a2.~a4 e'4 d4 | cis2. (a2.~a2) a4 \break
    
    a2. (a'4.) gis8 fis4 | e2 d4 | cis2. (fis2. b,2.^\dim | cis2) d4 e2.\mp 
\break
    
    cis2.\f (d2) d4 | e2 e4 | a,2.^\rit (fis'2.) | d2^\dim d4 | e2 e,4\fermata 
\breathe | a2.~a2.~a2.\fermata \bar "|." }



% Lyrics

verseOne = \lyricmode 
  { In dul -- ce ju -- bi -- lo, __ Let us our ho -- mage show; __ 
    Our hearts' joy re -- clin -- eth In prae -- ce -- pi -- o, __
    And like a bright star shin -- eth Ma -- tris in gre -- mi -- o. __
    Al -- pha es et O, __ Al -- pha es et O! }


verseThreeSop = \lyricmode
  { O Pa -- tris ca -- ri -- tas, O Na -- ti le -- ni -- tas! __ 
    Deep were __ we stain -- èd Per no -- stra cri -- mi -- na; __
    But thou hast for us gain -- èd Coe -- lo -- rum gau -- di -- a. 
    O that we __ were there, O that we were there! }

verseThreeAlt = \lyricmode
  { O Pa -- tris ca -- ri -- tas, O Na -- ti le -- ni -- tas! 
    Deep -- ly were __ we stain -- èd Per no -- stra cri -- mi -- na; 
    But thou, __ thou hast gain -- èd Coe -- lo -- rum gau -- di -- a. 
    O that we were there, __ O that we were there! }

verseThreeTen = \lyricmode
  { O Pa -- tris ca -- ri -- tas, __ O Na -- ti le -- ni -- tas! __ 
    Deep -- ly were we stain -- èd Per no -- stra cri -- mi -- na; __
    But thou hast for us gain -- èd Coe -- lo -- rum gau -- di -- a. __
    O that we were there, O that we were there, that we __ were there! }

verseFourSop = \lyricmode
  { U -- bi __ " sunt" gau -- di -- a, where, __ If __ that they be not there?
    There are an -- gels sing -- ing No -- va can -- ti -- ca, __ 
    There __ the bells __ are ring -- ing In Re -- gis cu -- ri -- a:
    O __ that we were there! __ There are an -- gels sing -- ing,
    There the bells __ are ring -- ing In Re -- gis cu -- ri -- a:
    O __ that we were there, __ O that we were there! __ }

verseFourAlt = \lyricmode
  { U -- bi sunt gau -- di -- a, __ If that they __ be not there?
    There are an -- gels sing -- ing, an -- gels sing -- ing,
    There the bells are ring -- ing In Re -- gis cu -- ri -- a:
    O __ that we were there, were there!
    There __ are an -- gels sing -- ing,
    There __ the bells are ring -- ing In Re -- gis __  cu -- ri -- a:
    O __ that we were there, O __ that we were there! __ }
    
abit = \lyricmode { O that we were there, }

verseFourTen = \lyricmode
  { U -- bi sunt gau -- di -- a, where? If that they __ be not there?
    There are an -- gels, __ there __ are an -- gels sing -- ing can -- ti -- 
ca,
    The bells are ring -- ing In Re -- gis cu -- ri -- a, in cu -- ri -- a:
    O that we were there, were there, __ were there! __ 
    There are an -- gels sing -- ing, There the bells are ring -- ing, 
    the bells are ring -- ing In Re -- gis cu -- ri -- a:
    O __ that we were there, __ O that we were there! __ }

verseFourBas = \lyricmode
  { U -- bi, __ u -- bi sunt gau -- di -- a, where, if not there?
    There __ are an -- gels sing -- ing,
    There the bells are ring -- ing, there In Re -- gis cu -- ri -- a:
    O that we, that we were there, O that we were there!
    There are an -- gels, __
    There the bells __ are ring -- ing In Re -- gis cu -- ri -- a:
    O __ that we were there, __ O that we were there! __ }



\paper{

  left-margin = 0.75\in
  print-page-number = ##t
  after-title-space = 25\mm

}


\header{ 
  
  title = \markup { \center-column { \null \null \null "In Dulce Jubilo" } }
  subtitle = \markup { \center-column { \null \line { \normal-size-sub 
\normal-text { PPF Christmas Show Arrangement } } 
                                        \null \null } }
  composer = "German traditional carol                    "
  arranger = \markup { \italic arr. "R. L. de Pearsall                    " }
  poet = "Trans. R. L. Pearsall" 
  
}

\score{

  \new ChoirStaff

    << \new Staff << \new Voice = "sopI" { \global \voiceOne \sopmI } 
                     \new Voice = "altI" { \voiceTwo \altmI } 
                     \new Lyrics \lyricsto "sopI" { \verseOne } >>
     
       \new Staff << \new Voice = "tenI" { \global \voiceOne \tenmI } 
                     \new Voice = "basI" { \voiceTwo \basmI } >>
    >>
  
  \layout { \context {\Lyrics \override VerticalAxisGroup #'minimum-Y-extent = 
#'(-2.0 . 3.5) }
            \context {\Score  \override BarLine #'hair-thickness = #1.2 }
            bottom-margin = 1\in
            line-width = 7\in
  }
}

\pageBreak

\score{

  \new ChoirStaff
  
    << \new Staff << \new Voice = "sopII"  { \global \sopmII } \new Lyrics 
\lyricsto "sopII" { \verseThreeSop } >>
       \new Staff << \new Voice = "altII"  { \global \altmII } \new Lyrics 
\lyricsto "altII" { \verseThreeAlt } >>
       \new Staff << \new Voice = "tenII"  { \global \tenmII } \new Lyrics 
\lyricsto "tenII" { \verseThreeTen } >>
    >>

  \layout { \context { \Lyrics \override VerticalAxisGroup #'minimum-Y-extent = 
#'(-0.75 . 2.5) }
            \context { \Score  \override VerticalAlignment #'max-stretch = #9.0 
                               \override BarLine #'hair-thickness = #1.2 }
            \context { \Staff  \override TimeSignature #'stencil = ##f 
                               \override StaffSymbol #'staff-space = #(magstep 
-1)  fontSize = #-1 }
            \context { \Voice  \override NoteColumn #'ignore-collision = ##t }
            \context { \Lyrics fontSize = #-1 }
            top-margin = 0.5\in
            bottom-margin = 1.0\in
            line-width = 7\in
  }
}

\score{

  \new ChoirStaff
  
    << \new Staff << \new Voice = "sopIII"  { \global \sopmIII } \new Lyrics 
\lyricsto "sopIII" { \verseFourSop } >>
       \new Staff << \new Voice = "altIII"  { \global \altmIII } \new Lyrics 
\lyricsto "altIII" { \verseFourAlt }
                                                                 \new Lyrics 
\lyricsto "altbit" { \abit } >>
       \new Staff << \new Voice = "tenIII"  { \global \tenmIII } \new Lyrics 
\lyricsto "tenIII" { \verseFourTen } >>
       \new Staff << \new Voice = "basIII"  { \global \basmIII } \new Lyrics 
\lyricsto "basIII" { \verseFourBas } >>
    >>

  \layout { \context { \Lyrics \override VerticalAxisGroup #'minimum-Y-extent = 
#'(-0.75 . 1.5) }
            \context { \Score  \override VerticalAlignment #'max-stretch = #9.0 
                               \override BarLine  #'hair-thickness = #1.2 
                               \override BarLine #'thick-thickness = #4.0 }
            \context { \Staff  \override TimeSignature #'stencil = ##f 
                               \override StaffSymbol #'staff-space = #(magstep 
-1)  fontSize = #-1 }
            \context { \Voice  \override NoteColumn #'ignore-collision = ##t }
            \context { \Lyrics fontSize = #-1 }
            indent = #0
            top-margin = 0.5\in
            bottom-margin = 1.0\in
            line-width = 7\in
  }
}

<<attachment: NoteClash.jpg>>

_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to