lilypond-user
[Top][All Lists]
Advanced

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

Re: note refusing to shift - collisions resulting


From: Mats Bengtsson
Subject: Re: note refusing to shift - collisions resulting
Date: Wed, 24 Jun 2009 16:16:16 +0200
User-agent: Thunderbird 2.0.0.21 (X11/20090318)

It would have been much easier to answer your question if you had included a complete example that could be ran directly through LilyPond.

However, I spent some extra minutes to add the necessary surrounding code and to guess what octaves you want the different voices in. Then, I could quickly try out what the problem was. The following version of your code is hopefully close to what you want to do. The problem was that you used the <<{...} \\ {...}>> construct in the middle of your polyphony, which internally translates into new Voice contexts that have the settings corresponding to \voiceOne and \voiceTwo, respectively. I changed this to explicitly create a new Voice context where needed and to use \voiceFour instead of the (implicitly given) \voiceTwo in the lower of these two voices, to get the result.

Please read section 3.2.2 "Explicitly instantiating voices" of the Learning Manual to better understand what happens here. Note also that trying to set force-hshift is almost never the best solution in these situations. Rather, it's the \shiftOn, \shiftOnn, ... (which implicitly are set by \voiceThree, \voiceFour, ...) that do the job in a better way.

\version "2.12"
\new Staff \relative c''<<
\new Voice{ \voiceOne

f8 [ g e d ] < e c g >2 |
\bar "||"
< e c-1 a-2 >4 < f c a > ^"C I" g8-4 [f e-0 f] |
e4 a e b' |}

\new Voice {
\voiceThree

< b, g >2 \once \override Voice.Rest #'X-offset = #2.5 g4\rest e |
<<
% \voiceFour \stemUp \shiftOn
{ s2 c'4 s4 }
\new Voice { \voiceFour s2 a2 } | >>
< c-1 a-2 >2 < d-1 b-2 > |
}

\new Voice {
\voiceTwo

b2 c |
a4 g f2 |
e e |
}
>>


   /Mats

Tom Cloyd wrote:
I'm getting NOWHERE trying to resolve a note collision problem, and cannot see the problem. I have three voices and the middle (voice three) is the issue:

Snippet:
[\voiceOne]

 f8 [ g e d ] < e c g >2 |
 \bar "||"
 < e c-1 a-2 >4 < f c a > ^"C I" g8-4 [f e-0 f] |
 e4 a e b' |

[\voiceThree]

 < b g >2 \once \override Voice.Rest #'X-offset = #2.5 g4\rest e |
 <<
 \voiceFour \stemUp \shiftOn
 { s2 \once \override NoteColumn #'force-hshift = #1.5 c'4 s4 } \\
 { s2 a2 } |  >>
 < c-1 a-2 >2 < d-1 b-2 > |

[\voiceTwo\

 b c |
 a4 g f2 |
 e e |

The error message I'm getting:

quiet_mountain_song.ly:248:7: warning: ignoring too many clashing note columns
 a4 g
      f2 |

Any suggestions? Nothing I've tried has gotten that quarter note c to move and stop colliding. I can't see why the problem is showing in voice two at all, as well. The issue is with the upper voices.

THANKS for any help!

Tom



--
=============================================
        Mats Bengtsson
        Signal Processing
        School of Electrical Engineering
        Royal Institute of Technology (KTH)
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463                         
       Fax:   (+46) 8 790 7260
        Email: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================





reply via email to

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