lilypond-devel
[Top][All Lists]
Advanced

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

Re: Uses horizontal skylines in accidental placement (issue 6489086)


From: address@hidden
Subject: Re: Uses horizontal skylines in accidental placement (issue 6489086)
Date: Fri, 7 Sep 2012 23:54:12 +0300

On 7 sept. 2012, at 10:11, address@hidden wrote:

> The output looks very nice, even with half-sharps, reverse flats, etc.
> The patch makes compilation take 6% longer (depending on accidental
> density).
> 
> The reverse flats don't get any extra space around their stems, but I
> haven't find a case where they need it,  because they are placed in the
> same order as regular flats so they do not nest.
> 
> Maybe it would be cleaner to have a blanket rule that the skylines
> always enclose the 'spine' of the glyph, assuming the spine has
> x-coordinate zero, by merging a box of dimensions
> 0.4* X-extent()  by  Y-extent ()
> into the skylines.

Good call - that'll speed things up.

> 
> 
> 
> 
> http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc
> File lily/accidental.cc (right):
> 
> http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode86
> lily/accidental.cc:86: * suicide, so it is not pure.
> Is this the book of Leviticus ?   The completion of the concept is "...,
> but we use this function /before/ line-breaking"
> 

I will see if I can make it more New-Testament sounding...I hope my old hebrew 
school teachers aren't reading this thread.

> http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode101
> lily/accidental.cc:101: if (glyph_name == "accidentals.flat"
> Since this is such a special case, it would be nicer to encode the extra
> space around a flat's stem as a non-printing the glyph outline --- if we
> can interest anyone with sufficient MetaFont competence.

Your 0.4 suggestion above makes a lot of sense - I'll just do that for now.

> 
> http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode110
> lily/accidental.cc:110: Real left = (*sky)[LEFT].max_height ();
> Doesn't matter much for the current flat symbol, but in general you
> don't want to merge in a box that goes this far left.

Ok.

> 
> http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode111
> lily/accidental.cc:111: Real right = (*sky)[RIGHT].average_height () *
> 0.75;
> A fraction of max_height() is easier to visualize than average_height.

Ok.

> 
> http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode113
> lily/accidental.cc:113: Real up = (*sky)[RIGHT].right ();
> Maybe just use extent(Y_AXIS)?
> 
> http://codereview.appspot.com/6489086/diff/12001/lily/accidental.cc#newcode116
> lily/accidental.cc:116: Skyline_pair merge_with_me (boxes, Y_AXIS);
> Is it feasible to just merge with the right-hand skyline of the pair?

Yes - will do.

> 
> http://codereview.appspot.com/6489086/




reply via email to

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