On Wednesday, 20 October 1999, drarn writes:
> I really like the way lilypond does beam slant (except when the stems
> are extended). Great algorhythm :-) at work. In the length of stems,
> however, there are peculiarities.
Yes. It's tough to get it Right, about as tough as slur-like symbols.
> You should have some sort of limit on how short the stems can get, to
> avoid the common engraver's mistake of snugging up a notehead to the
> beams. How about a default minimum of 2.5 linespaces of stem extension
> beyond beams?
See ly/params.ly:
Ideal lengths:
stem_length1 = 5.;
stem_length2 = 4.;
stem_length3 = 3.;
Minimum lengths:
minimum_stem_length1 = 3. ;
minimum_stem_length2 = 2.5;
minimum_stem_length3 = 2.0;
3.0 staff positions for eighth beam, 2.5 for 16th...
> It is customary to shorten the stems of very high and very low notes on
> a single staff when they point away from center. I am amazed and puzzled
> that lilypond does not do this. If the default stem length were
Again, ly/params.ly:
%{
stems in unnatural (forced) direction should be shortened,
according to [Roush & Gourlay]. Their suggestion to knock off
a whole staffspace seems a bit drastical: we'll do half.
%}
forced_stem_shorten0 = 1.0;
but you can do 2.0, if you like. Problem is that difference between
normal and shortened stems is ugly. Engravers decided upon context
whether to shorten stems. I don't think that this:
> shortened gradually from the first leger line (3.5 linespaces) to the
> fourth leger line (2.5 linespaces--an elegant minimum, allowing for
will do, because (non-beamed) stems should have discrete lengths.
> beams) it would not only improve the general appearance but often make
> space for another line of music on a page. I don't know whether any
> other software does this, but engravers used to. Not doing it is the
> main deficiency of typeset music, IMHO. I think it would be a good
> selling point, so to speak, and would it be so difficult to implement?
> :-)
We'd first have to know what exactly we want. Maybe we could shorten
by .5 staffspace if forced, and shorten by 1.0 staffspace if forced *and*
notehead outside of staff, for example. Hmm, now that I write this,
maybe we should have a list of shorten-values, for each staff position,
or even a scm function. One day...
Jan.
--
Jan Nieuwenhuizen <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien/ | http://www.lilypond.org/