Le Dec 9, 2011 à 3:19 PM, David Kastrup a écrit :
> The changes you are doing operate in the pure spacing domain, yet they
> don't get accounted for in line breaking. Right or wrong?
>
All of the pure-from-neighbor changes take place before line breaking happens.
They change the distances of the springs, and thus they are taken into account
in line breaking.
> So your local improvements in horizontal spacing are done at the cost of
> suboptimal spacing distributed over the whole line. Right or wrong?
I still don't see what you mean - could you give me a .ly example of what this
would look like?
> The larger the local improvements are, the larger the line-wide
> detriments become. Right or wrong?
Here is an example with huge local improvements. The first is default
behavior, the second recreates behavior from before the pure-from-neighbor
stuff.
{
\repeat unfold 3 {
\time 3/4 <cis'''' c''''! dis'''' d''''! eis'''' e''''!> g' g'
\time 4/4 <cis'''' c''''! dis'''' d''''! eis'''' e''''!> g' g' g'
}
}
{
\override Staff . TimeSignature #'extra-spacing-height = #'(0 . 0)
\repeat unfold 3 {
\time 3/4 <cis'''' c''''! dis'''' d''''! eis'''' e''''!> g' g'
\time 4/4 <cis'''' c''''! dis'''' d''''! eis'''' e''''!> g' g' g'
}
}
This is a large local improvement, but I don't see how it leads to detriments
on the whole.
>
> If you manage really large local improvements in a complex piece by
> being able to tuck a lot of material nicely, the filling of the line
> will become quite suboptimal.
>
> That's the "worse overall". The more local improvements you do
> bypassing the global optimization, the further the whole-line results
> become from being optimal. More often than not, the local improvements
> will be better than the global detriment, but the global detriment is
> not necessary if you manage to cast the local improvements in a form
> where they don't bypass the global optimization.
I fail to see how this bypasses the global optimization. Global optimization
takes place in constrained-breaking.cc when the spring and rod problems are
solved. All of these things happen after the pure heights are calculated.
Where is the bypass?
Cheers,
MS
_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel