Re: Completion Heads with forced/cautionary accidentals
David Poon <[email protected]> Mon, 2 Mar 2026 16:32:40 -0800
| Newsgroups | gmane.comp.gnu.lilypond.bugs |
|---|---|
| Message-ID | <CA+FepaYhP4p8pGVL8LX7XU7z+NLxVNxqDCMfYPNzj-eSMJt7QA@mail.gmail.com> |
--00000000000003b711064c13d868
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Is it worth noting here that footnotes also double up when marking a note
that gets tied across the barline? It's separate from accidentals, but
surely similar in that the completion heads engraver is creating a
duplicate note and applying attached objects to both?
\footnote #'(1 . 1) "I'm seeing double" cis\breve
\layout {
\context {
\Voice
\remove Note_heads_engraver
\consists Completion_heads_engraver
}
}
-David
On Sun, 1 Mar 2026 at 20:51, Werner LEMBERG <[email protected]> wrote:
>
> [Replying only to bug-lilypond]
>
>
> Hello Tina,
>
>
> sorry for the very late reply.
>
> > I=E2=80=99ve found weird behaviour with the completion heads engraver
> > wrt. to forced accidentals:
>
> Please add images to such e-mails, which makes it quicker and easier
> to follow.
>
> > %%%
> > \new Voice \with {
> > \remove Note_heads_engraver
> > \consists Completion_heads_engraver
> > } { cis''!1*3 }
> > %%%
>
> See attached image.
>
> > What is happening here is that forced/cautionary accidentals work by
> > setting an event/grob property (for which then the accidental
> > engraver checks).
> >
> > But the Competion heads engraver creates all note heads from copies
> > of the same event, which means that indeed the above would be
> > equivalent to
> >
> > %%%
> > { cis''!1~ cis''!1~ cis''!1 }
> > %%%
> >
> > This I think is almost never what we=E2=80=99d actually want to see.
>
> Agreed.
>
> > Since I currently use the Completion heads engraver for a project I
> > wrote a patch which simply sets the forced-accidental/cautionary
> > properties to #f after creating a note head, meaning the properties
> > would be true at most until the first note head.
> >
> > This is probably not a good fix, but I don=E2=80=99t understand the cod=
e
> > well enough to quickly come up with a better solution for now.
> >
> > Leaving this here for discussion
> >
> > 1. Surely this is to be seen as a bug?
>
> Yes. This is issue #4011.
>
> https://gitlab.com/lilypond/lilypond/-/issues/4011
>
> > 2. What would be a good fix? Potentially it would make sense to have
> > an Accidental event attached to the note head or something? [...]
>
> Please add your comments and suggestions this issue!
>
>
> Werner
>
>
--00000000000003b711064c13d868
Content-Type: image/png; name="=?UTF-8?B?U2NyZWVuc2hvdCAyMDI2LTAzLTAxIGF0IDkuMTYuNTA=?=
=?UTF-8?B?4oCvUE0ucG5n?="
Content-Disposition: attachment;
filename="=?UTF-8?B?U2NyZWVuc2hvdCAyMDI2LTAzLTAxIGF0IDkuMTYuNTDigK9QTS5wbmc=?="
Content-Transfer-Encoding: base64
Content-ID: <f_mm8qb3f40>
X-Attachment-Id: f_mm8qb3f40
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
6fuvHwg/0HKQcbD2kMWhysO0w6X1SP20+v6G7IbuxpTGrqawppZm7+bDRxyO7DxqcrTimPaxZccp
xxccHzxRfGLgpOhk36msU49aJrbcOZ18+mprTGvHmfAz584Gnz3dxmw7cc7n3NHzXuebLjAuNFx0
v1jf7tZ++He33w93uHfUX/K41Njp2dncNabr+GW/y6euBF45e5V99eK1yGtd1xOu37yRdqP7Ju/m
s1t5t17dLrr9+c6cu4S7pffU75XfN7hf9YfNH3Xd7t3HHgQ+aH8Y9/DOI+6jF48LHn/pWfCE+qT8
qfHT6mfOz472Bvd2Ph/3vOeF6MXnvpI/Nf6sfGn98tBf/n+19yf397wSvxp8veSN3pudb13ftgxE
D9x/l//u8/vSD3ofdn1kfGz7lPTp6ecpX0hf1n21+dr8Lfzb3cH8wUERR8yRfQpgsKGZmQC83gkA
NQUAGtyfUcbJ938yQ+R7VhkC/wnL94gyg18utfD7PaYPft3cAGDfdrj9gvpqaQBEUwGI9wSoi8tw
G9qryfaVUiPCfcCW2K8Z+Rng35h8z/lD3j+fgVTVFfx8/hc/xHw7oSI1egAAAIplWElmTU0AKgAA
AAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAA
AACQAAAAAQAAAJAAAAABAAOShgAHAAAAEgAAAHigAgAEAAAAAQAAAX6gAwAEAAAAAQAAANAAAAAA
QVNDSUkAAABTY3JlZW5zaG90dTah/QAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAdZpVFh0WE1MOmNv
bS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1w
dGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiBy
ZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9l
eGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjA4PC9leGlmOlBpeGVs
WURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjM4MjwvZXhpZjpQaXhl
bFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6
VXNlckNvbW1lbnQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4
bXBtZXRhPgoCNVgfAAAAHGlET1QAAAACAAAAAAAAAGgAAAAoAAAAaAAAAGgAABgAYhoo7AAAF8xJ
REFUeAHsnQd8FEUbxh+KNOWjqPQuIB8hICAlgdBDCBAIvUiVXgWUXqUpTUF6lZYIAYLUhACh99Bj
KCFUFZAiiCJFyMc7fHPe3u0d7S65nXvn95PbKbs7+3/W5y67M+8kiX9yJx6cmAATYAJMwG0IJGHj
dxut+UKZABNgAoIAGz/fCEyACTABNyPAxu9mgvPlMgEmwATY+PkeYAJMgAm4GQE2fjcTnC+XCTAB
JsDGz/cAE2ACTMDNCLDxu5ngfLlMgAkwATZ+vgeYABNgAm5GgI3fzQTny2UCTIAJuLXxP336FHFx
F1CgwAd8JzABJsAE3IaA2xr/w4cP8UmLDlgVuhY/rg5G3To13UZ0vlAmwATcm4BbGv+ff/6FwHrN
sTVyh1A/Q4b0OHFsL3LkyObedwNfPRNgAm5BwO2M/86du/Dzr4+DBw9rBG7YoC5WhCzSlHGGCTAB
JqAiAbcz/hYtOyIoOERXyy2b16BqlYq6dVzIBJgAE1CFgFsZ/5q1G8UjHlviVa7kg8it62xVczkT
YAJMQAkCbmP8t2//Dg/Psrh27bpd4aIObkfJkh/ZbcOVTIAJMAEjE3Ab4+/bbygmTpr6Qq2aNK6P
ZT8seGE7bsAEmAATMCoBtzD+J0+eIEeuwjZ/7WfJkhnfTRmH1m0649Gjx4g9cwR58+Y2qqbcbybA
BJiAXQJuYfxh4ZtRs1YjXRBNmzTA9GkTkTFjBtSq3RgbwyIwbGh/fDlioG57LmQCTIAJGJ2AWxh/
s+btsGz5Kiut6Fd+j+6dTOXjxk/GgIEjULx4URyJ2mkq5w0mwASYgEoE3ML4s2QriOvXf9Po1rNH
Z0yZ/LWmbMPGTagd0ESUXbkUwxO6NHQ4wwSYgCoElDf+Bw8eIM07WREfH2/SzK96VWxYH4JkyZKZ
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
--00000000000003b711064c13d868--