Hi again Harm,

I've been thinking about this some more.  Specifically, I've noticed that
adding the beam widths and the spaces between the beams doesn't seem to add
up precisely to the total extent of the beam.  The result is that the size
of the bracket is off -- noticeably so in the first beamed group.

I don't know why this is the case.  (I hope that somebody with more
expertise could answer this.)

If you use stencil extents, however, you can avoid the problem entirely and
simplify the function:

\version "2.14.2"

#(define (stencil-plus-bracket grob)
 (let* ((beam (ly:beam::print grob))
        (beam-extent-Y (ly:stencil-extent beam Y))
        (bracket (ly:bracket Y
                   (cons (car beam-extent-Y)
                         (cdr beam-extent-Y))
                   0.05 0.4)))

   (ly:stencil-add
     beam
     (ly:stencil-in-color
       (ly:stencil-translate
         bracket
         (cons -1 0))
       1 0 0))))

\relative c' {
  \stemUp
  \override Beam #'stencil = #stencil-plus-bracket
  f'32 [f f f]
  f16 [f f f]
  f64 [f f f]
}

-David
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to