Re: Fixes NoteColumn vs SpanBar collisions. (issue 5323062)
mike <at> apollinemike.com <mike <at> apollinemike.com>
2011-11-01 09:48:04 GMT
On Nov 1, 2011, at 12:52 AM, Keith OHara wrote:
>> This fixes the SpanBar regression ID'd by Phil.
> Well, not exactly. The failing regression test said:
> texidoc = "SpanBars participate in the horizontal collision system;
> the accidentals should not collide with the bar lines."
> This patch implements issue 1955, keeping accidentals, fingerings, etc.,
> from folding above/below bar lines at all. Thus this patch moves the
> accidental away from the extended bar line, whether there is a span bar
> or not (e.g., whether in a PianoStaff or ChoirStaff).
> So if we take this patch, we should probably change the regression test,
> as well, because the SpanBars will not actually be participating in the
> horizontal collision system.
> (e.g., if somebody does \remove "Bar_engraver", the accidental collides
> with the span bar again.)
Ah, I see - yes, you're right - will change in a new patch in a couple days.
The problem with SpanBars having Y-extents is that they can never have pure Y extents, as it is not possible
to figure out how high they'll be before line breaks.
One solution would be to create a BarStub grob that works like SpanBarStub but in Staves. Give it all the same
properties as the BarLine save the stencil. Then, have the extra-spacing-height callback apply to
BarStub and not BarLine.
But this seems a bit excessive - where are concrete cases that involve people removing the
Bar_line_engraver and, in these cases, can they accomplish the same thing by setting #'transparent = ##t ?