lilypond-devel
[Top][All Lists]
Advanced

[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


From: address@hidden
Subject: Re: Fixes slope errors from incorrect X extents in Beam::print. (issue 5293060)
Date: 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.
> 
> http://codereview.appspot.com/5293060/


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:

beam.cc
-) 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 
exactly)
---) peters-prolongation (uses the style from turn-of-the-century editions 
peters scores)

beam-quanting.cc
-) 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 
stuff work.

Take it for a spin!  I think you'll like your Scirabin example with it :)

Cheers,
MS


reply via email to

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