Hello Andy, > I'm not sure if this is a bug or intentional behavior, but the following > example using NoteColumn.force-hshift illustrates the problem where I > have a dotted eigth followed by a sixteenth in one voice and then a > quarter in the other voice. In this arrangement, it seems that the > quarter note steals the dot from the eigth note.
It is neither a bug nor intentional. It is undefined behaviour. You are using
`force-hshift`. This (like `extra-offset`) is a property to tweak around
Lilypond’s default spacing procedures, with the risk of running into
collisions. In your case you are using this to shift the head to the left.
Since
usually heads don’t start at the left `DotColumn.positioning-done` assumes it
makes no sense to move Dots to the left. So the Dots more or less sit at
horizontal position 0, which is where that quarter just happens to be.
Using such tweaking interfaces like `force-hshift` means that spacing routines
might not work as intended anymore. Here it becomes your responsibility for
making sure spacing works out.
Sadly there is no such Dots property like `NoteColumn.ignore-collision` for
NoteHeads to make DotColumn ignore certain Dots.
Now how to solve this? Well, if all you want is for the dotted 8th to be left
of
the 4th, then simple use the proper interface of the NoteCollision grob:
\once\override Staff.NoteCollision.prefer-dotted-right = ##f
After all, Lilypond doing this is a feature, so rather simply turn said feature
off.
If you want to rather use `force-hshift` then add something like
\once\override Dots.extra-offset = #'(-2 . 0)
to move the Dots to where you want them.
Cheers,
Tina
signature.asc
Description: This is a digitally signed message part.
