[Top][All Lists]
[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
=============================================