How to delete a created Glissando without impact on line break?
Thomas Morley <[email protected]> Sun, 28 Jun 2026 13:43:38 +0200
| Newsgroups | gmane.comp.gnu.lilypond.devel |
|---|---|
| Message-ID | <CABsfGyVvbwsrKTtk9o67RM1u7fmH3CB6_=xMsn4nCa3izTWbHQ@mail.gmail.com> |
Hi,
currently I'm looking at
https://gitlab.com/lilypond/lilypond/-/work_items/6946 "glissando and
line break issue".
The problem seems to be: once a Glissando-grob is created, it can't be
suicided without causing linebreak issues.
The following very basic code-example may serve to illustrate it.
Actually this code creates a Glissando-grob and tries to delete it,
nothing more.
#(define-public My_glissando_engraver
(lambda (context)
(let ((glissando-event #f)
(start-glissando-line #f)
(stop-glissando-line #f)
(gliss-grob #f))
(make-engraver
(listeners
((glissando-event this-engraver event)
(set! glissando-event event)
(set! start-glissando-line #t)))
(acknowledgers
((note-column-interface this-engraver grob source-engraver)
(when stop-glissando-line
(ly:engraver-announce-end-grob this-engraver gliss-grob
(ly:context-property context 'currentMusicalColumn))
(ly:grob-suicide! gliss-grob)
(set! stop-glissando-line #f))
(when start-glissando-line
(set! gliss-grob
(ly:engraver-make-grob
this-engraver 'Glissando glissando-event))
(set! start-glissando-line #f)
(set! stop-glissando-line #t))))))))
\layout {
\context {
\Voice
\remove Glissando_engraver
\consists #My_glissando_engraver
}
}
\relative { <c'' f>2.\glissando a'4 \repeat unfold 64 g16 }
Whats wrong here resp. how to do it different?
Is there a bug somewhere else?
Any hints appreciated.
Thanks,
Harm