lilypond-devel
[Top][All Lists]
Advanced

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

Re: Make sure slurs actually avoid stafflines. (issue 15400049)


From: janek . lilypond
Subject: Re: Make sure slurs actually avoid stafflines. (issue 15400049)
Date: Wed, 23 Oct 2013 21:07:23 +0000

Reviewers: lemzwerg, Trevor Daniels, Keith, hanwenn, dak,

Message:
On 2013/10/23 04:22:22, Keith wrote:

https://codereview.appspot.com/15400049/diff/1/lily/slur-configuration.cc
File lily/slur-configuration.cc (left):


https://codereview.appspot.com/15400049/diff/1/lily/slur-configuration.cc#oldcode62
lily/slur-configuration.cc:62:
> but the function was broken: it only moved slurs in one direction

The commit message makes it sound like there was a blunder in the
direction that
the old code moved the slur.  I don't see any such problem.

It looks like the old code intentionally moved the middle of the slur
always in
the direction of the slur, so the curvature would increase.  It simply
didn't
move far enough, because the curve does not move as far as the control
points.

Uh, how had you came to this conclusion?  It's absurd.  Take this
example:

\relative c'' {
  c8( b a2) c8( b)
  \slurUp
  d,2( f)
  a2 c
}

Here's how these slurs look with the correcting function turned off
altogether - none is crossing the staffline:
http://lilypond.googlecode.com/issues/attachment?aid=36280006000&name=no-correction.png&token=I4nuTyt1y5gR8lDgjQPipN-8Hm8%3A1382562402092&inline=1

They are just a bit too close to the staffline, that's all.  They should
be flattened, but the previous version of the algorithm decided that
such slurs should have their curvature increased, which resulted in
this:
http://lilypond.googlecode.com/issues/attachment?aid=36280006001&name=previous-correction.png&token=PeJAER3pHxyZQAqN_3vKl4F2fUY%3A1382562402092&inline=1

Can you tell me in what way this made any sense?  Making the slurs even
more curved would make them even more ugly.

Also, please look at the example in our essay:
http://lilypond.org/doc/v2.17/Documentation/essay/automated-engraving#improvement-by-benchmarking
Note that Baerenreiter puts the slur in the 2nd measure under the
staffline, just as i want it to be.

On to the inline comments.

Description:
Make sure slurs actually avoid stafflines.

Until now, slurs were pretending that they were avoiding stafflines,
but the function was broken: it only moved slurs in one direction
(sometimes making the collision signifincantly worse).

This commit makes sure that the correction is applied in appropriate
direction and that slur thickness is taken into account. Additionally,
the amount of correction is now user-settable.

Please review this at https://codereview.appspot.com/15400049/

Affected files (+87, -18 lines):
  M lily/include/slur-score-parameters.hh
  M lily/slur-configuration.cc
  M lily/slur-score-parameters.cc
  M lily/slur.cc
  M scm/layout-slur.scm





reply via email to

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