I think it's because the 2 clashing notes are in the same voice, and therefore 
any shift would apply to each equally.  Try making your bassOneToTrebleTwo use 
voiceFour.

==
Phil Holmes


  ----- Original Message ----- 
  From: Frederick Bartlett 
  To: lilypond-user@gnu.org 
  Sent: Monday, November 21, 2011 3:37 PM
  Subject: Why can't I force an hshift?


  Hi!

  I'm setting part 2 of BWV142 in a piano-vocal version (Petrucci PDF, p. 3), 
and am having trouble getting the voices to print correctly in the piano part 
when they change staves. In 'bassOneMusic' below, the g at the end of m6 and 
the fis beginning m7 should both be shifted a bit, but my use of force-hshift 
is not having any effect.

  What am I doing wrong?

  Thanks!
  Fred


  %%% extracted short sample
  \version "2.14.1"

  bassOneToTrebleTwo = { \change Staff = "treble" \voiceTwo  }
  trebleTwoToBassOne = { \change Staff = "bass" \voiceOne }
  hR = { \once \override NoteColumn #'force-hshift = #0.5 }

  global = {
    \key c\major
    \time 4/4
    \override Hairpin #'to-barline = ##f
    \mergeDifferentlyDottedOn
  }

  trebleOneMusic = \relative c''' {
    a8 e fis a g!4 e4 ~ | % 6 % end sys 3
    e dis e r | % 7
  }

  trebleTwoMusic = \relative c'' {
    c8 c c b16 a b4 b | % 6 % end sys 3
    c b <g b>8 e e e | % 7
  }

  bassOneMusic = \relative c' {
    e8 a, a a e'4 \bassOneToTrebleTwo \hR g | % 6 % end sys 3
    \hR fis2 \trebleTwoToBassOne e8 e d! [ c16 b ] | % 7
  }

  bassTwoMusic = \relative c' {
    a4. g!16 fis g4. fis16 e | % 6 % end sys 3
    a8 [ g16 fis ] b8 b, e8 c' b [ a16 gis ] | % 7
  }

  \score {
    <<
      \new PianoStaff <<
        \new Staff = "treble" \with {
  %%%        \override RestCollision #'positioning-done = 
#merge-rests-on-positioning
        } <<
          \new Voice = "treble1" << \voiceOne \global \trebleOneMusic >>
          \new Voice = "treble2" << \voiceTwo \global \trebleTwoMusic >>
        >>
        \new Staff = "bass" \with {
  %%%        \override RestCollision #'positioning-done = 
#merge-rests-on-positioning
        } <<
          \clef bass
          \new Voice = "bass1" << \voiceOne \global \bassOneMusic >>
          \new Voice = "bass2" << \voiceTwo \global \bassTwoMusic >>
        >>
      >>
    >>
    \layout {
      \context {
        \Staff
      }
    }
  }


  -- 
  The things that make us happy make us wise.
      -- John Crowley, Little, Big



------------------------------------------------------------------------------


  _______________________________________________
  lilypond-user mailing list
  lilypond-user@gnu.org
  https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to