[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fix Issue 2462. (issue 108280044 by address@hidden)
From: |
Keith OHara |
Subject: |
Re: fix Issue 2462. (issue 108280044 by address@hidden) |
Date: |
Sat, 05 Jul 2014 10:46:33 -0700 |
User-agent: |
Opera Mail/12.16 (Win32) |
On Fri, 04 Jul 2014 14:38:19 -0700, Janek Warchoł <address@hidden> wrote:
2014-07-04 23:26 GMT+02:00 Janek Warchoł <address@hidden>:
That's actually not what i want to do; I apologize for being unclear.
I *want* the columns to behave the same way in case of both
accidentals and lyrics (and everything else). The desired behaviour
is that changing min_distance shouldn't affect ideal distance.
Sensible, for the data object Springs. The special behavior when min_distance
is larger or within 0.3 of ideal is confusing. The fact that the special
behavior appears only after using merge_springs() makes things more confusing.
Notice that frax/springs keeps that special behavior, in Spring::length(). The
natural, force=0, length of a spring is *always* at least min_distance+0.3
Achieving this [desired, not-special] behaviour when columns arewide due to
lyrics is simple:
but there
are side effects (too tight spacing in some cases, for example in
beam-rest-extreme.ly) which i'm unable to fix.
Trace back and see what code uses that +0.3 to good effect, though probably by
accident.
Only spacing-spanner.cc uses Spring::merge_springs(), and when setting
'beam-rest-extreme.ly' it is used to 'merge' only one spring!
So one good effect is that accidentals are prevented from getting too close to
the previous note. That would be better handled with padding associated with
the accidental
<http://code.google.com/p/lilypond/issues/detail?id=3869>
You could limit the changes in one patch, if you like, by moving the "ideal =
max(idea, min_distance +0.3)" to the point where spacing-spanner.cc finds
min_distance to avoid collisions. A magic number is better than a magic number in a
mysterious place, and making the 0.3 a parameter is safer to do after we narrow down its
beneficial effect.
If merge_springs() behaves more simply, it might do a little better for
<http://code.google.com/p/lilypond/issues/detail?id=3887>
(I notice that the option 'average-spacing-wishes' is no longer checked; the
code seems to always average spacing between voices.)
Re: fix Issue 2462. (issue 108280044 by address@hidden), k-ohara5a5a, 2014/07/07
Re: fix Issue 2462. (issue 108280044 by address@hidden), janek . lilypond, 2014/07/11