bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

stemlets disrupt flat beams over rests


From: Marcus Macauley
Subject: stemlets disrupt flat beams over rests
Date: Thu, 13 Jan 2005 00:52:15 -0500

I've noticed an inconsistency when using stemlets for beam groups
containing a single note at the beginning or end, and one or more rests.
Namely, the beams will slant in the direction of the rest, rather than
being drawn flat as they should when one note is present.


As far as I can tell, this behavior happens if:

* stemlets are enabled by:
\override Stem #'stemlet-length = #0.75

* and the beam group contains a single note and one or more rest, where
the single note falls at the beginning or end of the beam group

* and the single note lies on or within the first ledger line on either
side of the staff (e.g. bass clef between middle C and A above the
staff, inclusive)


As far as I can tell, this behavior does not happen if:

* stemlets are not enabled

* or the single note falls somewhere in the middle of a beam group

* or the single note lies beyond the first ledger line on either side of
the staff (e.g. treble clef below middle C or above A above the staff)


As far as I can tell, this behavior is unaffected by:

* the number of rests in the beam group (I tried 1 to 3)

* the width of the beam group

* whether 8ths, 16ths, or a combination are used in the beam group

* changing the value of Stem #'stemlet-length (I also tried 0.5)


If anyone knows any temporary workarounds for this, I'd appreciate it;
otherwise, I hope to see a fix implemented soon!

Also on my wish list, somewhat related to the stemlet fix:

1) The ability to manually adjust the end points of a beam (either by
specifying stem length or by specifying an up/down tweak)

2) The ability to specify how close rests may come to stemlets or beams
(I would prefer a wee bit closer, but this should be at the user's
discretion), and to override this manually if desired (sometimes you
want to make exceptions). As an alternative to the latter, the ability
to move individual rests up/down relative to their position after
beaming (or relative to their default position on the staff) without
affecting beam adjustments (see 1).

Thanks a lot,
Marcus Macauley

P.S. Two example files, not comprehensive but demonstrating the basic
problem, follow:

======= stemlets.ly =======
\version "2.5.3"
\include "english.ly"
violin = \relative c'{
  \set Staff.instrument = "Violin"
  \time 12/16
  fs2. e g, c
  af' f' cf d,
  df' ef, a,
}

bassoon = \relative c'{
  \set Staff.instrument = "Bassoon"
  \clef bass
  \override Stem #'stemlet-length = #0.75
  r4. r8. r16[ r bf-.] |
  r4. r8[ r a'16-. r] |
  r4. r8. ef16[-. r r] |
  r4. r8[ df,16-. r r8] |
  r4. r16[ d'-. r] r8. |
  r4. cf16[-. r r] r8. |
  r8. r16[ r f,-.] r4. |
  r8[ r af16-. r] r4. |
  r8. c16-.[ r r] r4. |
  r8[ g'16-. r r8] r4. |
  r16[ e-. r] r8. r4. |
}

\score {
  \new StaffGroup <<
    \new Staff \violin
    \new Staff \bassoon
    >>
  \layout { }
}
======= end =======

======= stemlets2.ly =======
\version "2.5.3"
\include "english.ly"
violin = \relative c'{
  \set Staff.instrument = "Violin"
  \time 12/16
  fs2. e g, c
  af' f' cf d,
  df' ef, a,
}

bassoon = \relative c'{
  \set Staff.instrument = "Bassoon"
  \clef bass
  \override Stem #'stemlet-length = #0.75
  r4. r8.[ r16 r bf-.] |
  r4. r8[ r a'16-. r] |
  r4. r8.[ ef16-. r r] |
  r4. r8[ df,16-. r r8] |
  r4. r16[ d'-. r r8.] |
  r4. cf16[-. r r r8.] |
  r8.[ r16 r f,-.] r4. |
  r8[ r af16-. r] r4. |
  r8.[ c16-. r r] r4. |
  r8[ g'16-. r r8] r4. |
  r16[ e-. r r8.] r4. |
}

\score {
  \new StaffGroup <<
    \new Staff \violin
    \new Staff \bassoon
    >>
  \layout { }
}
======= end =======





reply via email to

[Prev in Thread] Current Thread [Next in Thread]