On 2024-03-22 5:30 pm, Michael Bret wrote:
Then, it should be added that transposing your first fix (namely, BarLine.bar-extent = #'(0 . 1) and transparent = ##t) DOES solve the issue WITH “Bar_engraver” consisted. How does that make sense? I probably don’t get what "Span_bar_stub_engraver getting tripped up by the Bar_engraver” entails. It might be useful to keep it in mind, in order to identify cases where the fix messes up something.
In reviewing the code for Span_bar_stub_engraver, it intentionally does not create stubs for contexts that have the Bar_engraver. But the stubs are not specifically needed if you have an actual BarLine grob. That is why my earlier workaround worked.
Neither Lyrics nor ChordNames consist the Bar_engraver, so they rely on Span_bar_stub_engraver. And the issue for ChordNames was the lack of Pure_from_neighbor_engraver.
Dynamics is interesting because it does consist the Bar_engraver, so it needs to be handled a little differently. Of course, there are some elements of Dynamics such as hairpins that normally are acceptable to span across measures. So, we would need to be careful that any changes to Dynamics does not break how people expect it to work.
-- Aaron Hill