Re: slurs anchored at bar lines

"C. Stroppel" <[email protected]> Sat, 25 Jul 2026 18:13:21 +0200
Newsgroups gmane.comp.gnu.lilypond.devel
Message-ID <[email protected]>
Hi all,

First of all, I don't want to steer the discussion away from Werner's=20
original question. I'd just like to share a few thoughts in the hope=20
that they might inspire a broader discussion.

Werner's question made me wonder whether there might be a more general=20
architectural topic behind this particular engraving issue.

As far as I understand, formats such as MEI (and perhaps Finale=20
internally) are able to preserve not only the musical semantics but also=
=20
layout information. This made me wonder whether it would be useful for=20
LilyPond to expose the final layout of each Grob after the layout=20
process through a stable rendering cache or API.

Such a representation could, for example, provide the final position,=20
bounding box, color, and other layout properties of every Grob. If these=
=20
properties could also be overridden before the final output is=20
generated, it might solve not only special engraving problems like slurs=
=20
ending at a bar line, but also support a number of other use cases.

For example:

* musicological editions that align LilyPond output with scans of=20
historical manuscripts,
* preserving layout information when importing formats such as MEI,
* future importers from projects such as Robert Patterson's Finale DOM,
* interactive editors that need access to the final graphical=20
representation,
* educational material where corresponding musical objects are=20
intentionally kept vertically aligned across several systems or=20
examples, even if LilyPond would normally space them differently.

Perhaps Point-and-Click already computes or stores much of this=20
information internally. If so, would it make sense to expose it through=20
a stable interface?

I realize that this is a much broader topic than the current discussion.=
=20
I am not proposing a particular implementation. I am simply wondering=20
whether a general layout layer could address several seemingly unrelated=
=20
requirements instead of introducing individual solutions for each of them.

I would be very interested to hear whether something along these lines=20
has been discussed before, or whether there are fundamental reasons why=20
such an approach would not fit LilyPond's architecture.

Best regards,

Christian