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
<<attachment: force-hshift.png>>
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel