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/

Reply via email to