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 01:18:07 +0000

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.

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



reply via email to

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