Le 07/04/2022 à 11:44, Werner LEMBERG a écrit :
Did I miss something?
Whoops, big problem at line breaks ...
This is ingenious :-) Thanks *a lot* for this solution. In my tests
it seems to work fine
You're welcome.
Two comments.
* I *strongly* vote for polishing and documenting this so that it can
be added to LilyPond. It's an invaluable feature IMHO, greatly
enhancing Lyrics.
Well, I'm afraid you can't 'vote' for someone else doing volunteer
work :-) Right now, I'm struggling to get my work on break substitution
out, which has been brewing for four months. After that ... I have
a list of LilyPond TODO items. Currently the length of that list is 24 :-)
So I can enqueue it on the list, but don't expect me to work on it
anytime soon. On the other hand, by all means feel free to work yourself
on polishing and integrating it :-)
* You have redefined the `LyricHyphen` stencil. AFAICS, this change
could be directly integrated into `ly:lyric-hyphen::print`, right?
Doing so would allow users to change the stencil by themselves if
necessary. Otherwise I vote for introducing a property
`hyphen-formatter` for this job.
Yes, it can. That said, it remains sort of a crutch. Although there are
not many solutions in current LilyPond (and my approach is not an outlier
in the code base either), I'm not very happy with this use of
after-line-breaking.
Without trying right now, I think I can easily find edge cases involving
ly:side-position-interface::move-to-extremal-staff (with bar numbers /
rehearsal marks / tempo marks / volta brackets) that would break the snippet
without this stencil override. Having it means catering for edge cases in
drawing the stencil at least, but I have not investigated whether there are
currently any X-extent callbacks that could manage to trigger
outside-staff positioning
for example, which could make for odd spacing. In short: I think it
should work
OK in non-esoteric cases, although I would have to look more closely to
be sure.
Jean