On 2020-08-11 2:15 am, Werner LEMBERG wrote:
Folks,


look at this example:

  { <e' c''>2\glissando <d' bes'> }

Due to the flat, the lower glissando line is far too short.  I
consider this a bug.

LilyPond already provides the `end-on-accidental` property (which is
set to #t by default).  For chords, however, this should be only
applied to glissando lines that actually have accidentals.

I think a fix should be added to the C++ code; unfortunately, this is
beyond my capabilities right now.  Is there a solution to circumvent
this temporarily?

%%%%
\version "2.20.0"

{
  \override Glissando.before-line-breaking =
  #(lambda (grob)
    (let* ((nh (ly:spanner-bound grob RIGHT))
           (acc (ly:grob-object nh 'accidental-grob)))
      (ly:grob-set-nested-property!
        grob
        '(bound-details right end-on-accidental)
        (ly:grob? acc))))

  <e' c''>2\glissando <d' bes'>
}
%%%%

-- Aaron Hill

Reply via email to