On Jul 24, 2011, at 11:29 PM, Neil Puttock wrote:

> On 23 July 2011 15:48,  <mts...@gmail.com> wrote:
> 
>> (a) is currently impossible to calculate in all circumstances, and (c)
>> would require a code dup.  I think by making these available as
>> properties, the user can then use this data to fix the problem.  In the
>> example given in Issue 36, I would personally rotate the stencil
>> downwards, and this patch would give me all the data necessary to create
>> an override for Beam #'rotation.
> 
> This is too specific to hairpins.  Most grobs collide with beams when
> they're cross-staff, so a more generic solution is required.
> 

We may want to just fix issue 36 via something in the docs- you're absolutely 
right about the many collisions, and it is easy enough to create a Scheme 
engraver that acknowledges beams and spanners and adds cross staff beam to a 
grob array of the spanner than can be subsequently accessed to rotate/move/etc. 
 Were there one obvious solution to the problem, I'd advocate incorporating it 
into LilyPond, but as there is no clear way to deal with these collisions, 
perhaps a section in the documentation "Dealing with collisions" that says 
something to the effect of "LilyPond does its best to avoid collisions between 
objects.  However, often there is more than one solution available to collision 
avoidance - white out, moving, rotating, etc..  Rather than taking any one of 
these actions automatically, LilyPond provides the user tools to make these 
decisions with respect to any given collision."  Then, show the whiteout 
solution, custom engraver solution, etc..

Cheers,
MS
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to