I tried removing all but one or two property calls from the file
that was taking so long to process (see my previous post), and
it seems that it is indeed the way lily handles \property calls
that's eating up so much memory. It only took about ten minutes
to process, instead of 80 minutes.
I've given this matter some thought. Lily's beauty is in the
fact that she does have \property calls to adjust or change her
default behaviour on the fly. This is vitally important to
users who want to produce professional quality scores. One
needs the flexibility to change stem directions, positions of
slurs, placement of dynamics, tie directions, and so on. A
score is too much an expression of a piece of music's
personality for "default behaviour" to cover more than a tiny
sampling of works.
For example, in my "problem" score (for piano), there are four
voices, but in many instances, one or more of them fall silent
for a few bars. For reasons of clarity and aesthetics, it just
doesn't make sense for, say, the soprano voice, whose stems
mostly go up, to have its stems go up when the alto voice is
silent. Neither does it make sense for the tenor's slurs to go
up all the time and the alto's to go down; in a number of
places, they clash. In some places, the default slur attachment
works fine, but in others, the slurs need to go stem-to-stem.
And dynamics have to be placed "by hand" in order to fall in
convenient places between the staves.
All of these things are handled by \property calls, and those
calls are the heart and soul of music typesetting. But if those
same calls gobble up memory to the point that the program
becomes unuseable, then it seems the memory consumption issue
simply must be addressed.
I'd love to post an example of the score I'm working on, to
demonstrate my problem, but to be honest, I have yet to generate
the dvi file of a fully corrected version. Maybe in a few
months, when my hard disk stops thrashing (if it doesn't wear
out from the overwork), I'll be able to.
Meantime, a couple of problems in 1.3.75, which perhaps have
been corrected.
1. Tenuto marks, when they're directly over or under a stem,
should be centred on the stem, not the note (as they
currently are in 1.3.75).
2. The tenuto marks currently have the same weight as ledger lines.
They should be heavier.
3. Tenuto marks, when they're under notes that fall on ledger
lines, are not equidistant from all the notes. They're
closer to notes that fall _on_ the ledger line, and further
away from notes that fall in the spaces.
4. 1.3.75's treatment of slurs that carry over from the end of
one line to the next is not good. The general motion of the
slur (i.e. up or down) is not respected, and the slurs clash
with the clefs.
Lastly, what does the error message "Degenerate bow: infinite
steepness required" mean?
--
PTPi
Peter Schaffter
15, chemin Brunette, RR2 CP 406
Ste-C�cile-de-Masham (Qu�bec)
CANADA J0X 2W0
A confirmed GNU/Linuxer. Sorry, I don't do Windows.