[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Is the description in IR for force-hshift incorrect?
From: |
Neil Puttock |
Subject: |
Is the description in IR for force-hshift incorrect? |
Date: |
Tue, 24 Mar 2009 22:46:20 +0000 |
Hi everybody,
The IR gives the following description for 'force-hshift:
`This specifies a manual shift for notes in collisions. The unit is
the note head width of the first voice note.'
Am I mistaken if I understand this to mean that any shifts are scaled
in terms of the noteheads in \voiceOne?
Every example I've tested points to the unit being the first head in
the lower voice (\voiceTwo). Consider the following snippet:
\relative c'' {
<< {
c4*4
\once \override NoteColumn #'force-hshift = #1
c4*4
c1
}
\\
{
a1
a1
\once \override NoteColumn #'force-hshift = #1
a4*4
}
>>
}
In the second bar, the upper voice is shifted to the right one
semibreve space, whereas the shifted lower voice in the third bar is
clearly moved the width of a filled notehead; both results imply the
unit to be the notehead in the lower voice.
Judging by the code in note-collision.cc, I can't imagine a situation
(at least in the polyphonic case) whereby the the upper voice will
determine the spacing increment; the following code always seems to
return the width of the first head in \voiceTwo:
375 Real wid = 0.0;
376 do
377 {
378 if (clash_groups[d].size ())
379 {
380 Grob *h = clash_groups[d][0];
381 Grob *fh = Note_column::first_head (h);
382 if (fh)
383 wid = fh->extent (h, X_AXIS).length ();
384 }
385 }
386 while (flip (&d) != UP);
Regards,
Neil
force-hshift.png
Description: PNG image
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Is the description in IR for force-hshift incorrect?,
Neil Puttock <=