lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Removes cross-staff beams from the collision grob array (issue443206


From: mtsolo
Subject: Re: Removes cross-staff beams from the collision grob array (issue4432063)
Date: Sun, 24 Apr 2011 12:04:26 +0000

On 2011/04/24 01:18:07, MikeSol wrote:
On 2011/04/24 01:03:23, hanwenn wrote:
>

http://codereview.appspot.com/4432063/diff/3001/lily/beam-collision-engraver.cc
> File lily/beam-collision-engraver.cc (right):
>
>

http://codereview.appspot.com/4432063/diff/3001/lily/beam-collision-engraver.cc#newcode110
> lily/beam-collision-engraver.cc:110: &&
!covered_grobs_[j].event_cause ())))
> rather than doing this kind of decision in the engraver, can you do
it in the
> typesetting backend itself?  You could make cross-staff beams ignore
just
> stems/beams and continue doing collisions for clefs, accidentals,
etc.

Would this need to be done in both beam-quanting.cc and beam.cc?

In general, I am reticent to make grob-by-grob exceptions to a
procedure that
should seemingly be grob-agnostic.

I have a semi-idea for how to fix this, but it'll take me a couple
days to make
it into a full idea.  The gist is to move the beam-collision-engraver
up to the
score level and then populate the covered-grob list based on the
beam's staves
by using grobs that share a staff symbol with a given stem around that
stem's
rank.  This way, cross-staff beams can take grobs from all staves to
which they
belong into consideration.

I have a test patch on:
http://codereview.appspot.com/4430063

More to come on the devel list...

http://codereview.appspot.com/4432063/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]