lilypond-devel
[Top][All Lists]
Advanced

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

Re: Extend Beam::shift_region_to_valid() to also take into account colli


From: Han-Wen Nienhuys
Subject: Re: Extend Beam::shift_region_to_valid() to also take into account collisions. (issue4239047)
Date: Mon, 28 Feb 2011 10:08:12 -0300

On Mon, Feb 28, 2011 at 8:21 AM, address@hidden
<address@hidden> wrote:
>> fixed.
>>
>> http://codereview.appspot.com/4239047/
>
> Several of the tests that I've been running work better with this new version 
> - large collisions are now handled no problem.
>
> The only things that don't work properly are the organ example as well as the 
> two attached examples.  Is there any way to prevent the beam collision from 
> pulling these up?

See attached.  This was done with

      \override Stem #'details #'beamed-extreme-minimum-free-lengths
      = #'(0.3 0.2)

> I see a code dup for the covered grobs code in beam.cc and beam-quanting.cc.  
> I believe that this sort of thing can be brought into beam.cc without ever 
> being part of the quanting.  Ideally, the covered grobs should extracted only 
> in beam.cc, and the quanting should be passed numerical information about the 
> results of these calculations rather than having to redo them.  This will 
> allow you as well to have collision-related properties for the beams that, 
> when tweaked, will likely handle many of the results below.

This would save a tiny amount of computation, with lots of extra
complexity.  Remember that all property computations are cached
anyway, so there are few calculations really being redone.

There could be an argument to collapse common code into a shared
function, but not sure if that will be practical.  Maybe you could try
a patch to see if it makes sense.

--
Han-Wen Nienhuys - address@hidden - http://www.xs4all.nl/~hanwen

Attachment: z.preview.png
Description: PNG image

Attachment: stacked.preview.png
Description: PNG image


reply via email to

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