[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fixes slope errors from incorrect X extents in Beam::print. (issue 5
Re: Fixes slope errors from incorrect X extents in Beam::print. (issue 5293060)
Wed, 26 Oct 2011 20:40:27 +0200
On Oct 26, 2011, at 8:22 PM, address@hidden wrote:
> On 2011/10/26 15:41:12, MikeSol wrote:
>> All problems fixed and ready for a review.
> Thoroughly indecipherable.
Sorry if anything's unclear - your intuition from a previous e-mail was right
in that there was some broken code that was quanting broken beams incorrectly.
The ends of broken beams should be the reference points for quanting, not the
extremal normal stems Most changes are due to that.
What needs comments?
Here's a bit of a summary:
-) get_beam_segments is turned into a Scheme callback
-) the x-span of the Beam are stored in X-positions (calc_x_positions). these
are used everywhere that the span of the beam used to be calculated. the
slopes of broken beams were off before because x_spans were calculated 3
different ways in 3 different functions, and this standardizes it.
-) beam quanting can do three broken beam styles:
---) individual (old style)
---) strict-prolongation (new style, split beam slopes and offsets line up
---) peters-prolongation (uses the style from turn-of-the-century editions
-) don't pay attention to line 411ish (it has lots of printfs commented out -
if this is really distracting, I can get it out of the patch, but I don't like
retyping this stuff every time I have to hunt for errors)
-) account_for_extremal_hangover () and
update_x_span_after_extremal_hangover_compensation () are there to make sure
broken beams' quanting figures out y coordinates at the beam's extremes instead
of between the first and last normal slope (this is standard practice in all
major editions but thus far missing in LilyPond).
Everything else represents little modifications needed to make the new x-span
Take it for a spin! I think you'll like your Scirabin example with it :)
Re: Fixes slope errors from incorrect X extents in Beam::print. (issue 5293060), Carl . D . Sorensen, 2011/10/26