This is a great explanation of what really does make SCORE so nice, to name just a few reasons. No doubt there are more.
How does his discussion relate to LilyPond? Quite similarly, actually. LP's horizontal AND vertical spacing algorithms are excellent and flexible. Each element (called
graphical
objects, or "grobs" for short) has numerous position properties, all available to the user. Changing some values may allow LP to adjust its calculations (like X-offset, Y-offset, etc.), others are taken into account
after LP does its magic (i.e., extra-offset), causing the manual adjustments to have no change whatsoever on any other element on the page except the one the user wanted to change.
1)
Note Spacing. Normally, LP uses optical spacing so that consecutive notes "appear" the same distance apart, even if they might not actually be. This aids readability, of course. You can turn this off to make the spacing more uniform. You can also force the spacing to be exactly proportional to its duration (i.e. the horizontal space given to a whole note is the exactly the same as four quarter notes).
2)
Space Allotment. If an added accidental doesn't barge into the allotted "space" of other elements, then the horizontal spacing is not disturbed. This also means that various music elements are "kerned" where possible.
There are only two things I can think of that
really could use some improvement:
1)
Vertical flexibility of spanners within a system. For example, in a system of piano music, it is common to put the dynamics between the two staves. In LP, this is most easily done with a dedicated dynamics line. However, this
forces the dynamics to remain at the same vertical height which can cause the staves to be farther apart than necessary when part of the dynamics line can move up and the other down. This can be adjusted manually, but that's the only way if done with a dedicated dynamics line. I would love to see an implementation that allows for this flexibility automatically, just as there already is between staves, systems, etc.
2)
Lyric horizontal positioning. LP already does a pretty good job with this, but, like the vertical rigidity of a dedicated dynamics line, each lyric syllable is quite rigid in its horizontal placement. I think that if Lyrics could "flex" horizontally to favor the original note spacing, then this would be a tremendous leap forward. Again, you can manually adjust a syllable's horizontal placement, both with or without affecting other syllables.
So, the takeaway to all this is that I believe that under the hands of a knowledgeable user, LP is more than capable of beautifully handling challenging scores and giving the engraver a better starting place when manual edits are necessary.
P.S. Just for fun, here's LilyPond's
default output of the complex tuplet spacing example on Jeffrey Grossman's site:
- tuplets-LP-2.19.36.png (465.64 KiB) Viewed 11586 times