Graham Percival <[email protected]> writes:

> On Fri, Jan 28, 2011 at 02:38:56PM +0100, David Kastrup wrote:
>> Mike Solomon <[email protected]> writes:
>> 
>> > I cooked up this musical example that shows both responses to upward
>> > and downward pressure to give you an idea of where I'm coming from.
>> >
>> > Is there a way to get this type of collision avoidance w/o a 2nd
>> > quanting pass?
>> 
>> Actually, it would appear a third pass would be nice in order to put
>> sympathetic pressure on the lowest beam, decreasing the discrepancy of
>> its stems with the adjacent (highly compressed) stem set.
>
> Hmm...
>   lilypond -p 0 my_file.ly    % for quick work
>   lilypond -p 2 my_file.ly    % for a draft to print out
>   lilypond -p 9 my_file.ly    % for the final score
> ;)
>
>
> Despite the joke, this is a semi-serious suggestion that I've been
> hoping that somebody might be interested in for years.  There's a
> bunch of options that we can enable or disable to change the
> amount of processing power; it would be really nice if one (or
> more) people seriously looked into this, and provided an easy way
> to change between the "optimization" levels.

I think it makes more sense to focus on optimal typesetting via the
usual efficient shortest graph traversal algorithm.

If that's not feasible due to code complexity, it should be made so by
proper refactoring and providing a suitable framework making it possible
to express the relevant parameters and decisions locally and separately
even though their influence is global.

The alternative, doing multiple passes consisting of only locally
optimal behavior, sounds good as a "practical" approach not touching
"working areas".

However, going there leads to uncontrollably exploding execution times
with diminuishing returns.

-- 
David Kastrup

_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to