[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Makes parameters for hairpin rotation available in Scheme (issue4809
Re: Makes parameters for hairpin rotation available in Scheme (issue4809051)
Mon, 25 Jul 2011 09:17:53 +0200
On Jul 24, 2011, at 11:29 PM, Neil Puttock wrote:
> On 23 July 2011 15:48, <address@hidden> 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..