lilypond-devel
[Top][All Lists]
Advanced

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

Re: Gets vertical skylines from grob stencils (issue 5626052)


From: David Kastrup
Subject: Re: Gets vertical skylines from grob stencils (issue 5626052)
Date: Tue, 28 Aug 2012 10:44:22 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

"address@hidden" <address@hidden> writes:

> On 28 août 2012, at 06:08, address@hidden wrote:
>
>> Still works well, still the same speed, and now the code makes much more
>> sense.
>> 
>> The 25% extra time required to set a short score goes down if I
>>    \override Accidental #'vertical-skylines = #'()
>>    \override TextScript #'vertical-skylines = #'()
>>    \override TextScript #'horizontal-skylines = #'()
>>    \override Script #'vertical-skylines = #'()
>>    ...
>> seemingly in proportion to the number of objects for which I give up
>> detailed skylines.
>> 
>
> It may be worth it from a UI perspective to come up with a
> \cruderVerticalSkylineApproximationsForFasterCompilation command (or
> something of that ilk).  I am bad at UI stuff, so I'll let someone
> else think of a good thing to call this and good vertical-skylines to
> override (you should set them to
> ly:grob::simple-vertical-skylines-from-stencil instead of '()).  The
> list you have above looks like a good start - I'd add LyricText to it
> as well.  Janek would be able to come up w/ an exhaustive list.
>
>> After the simplification, many functions in skyline- and skyline-pair.cc
>> are unused, and thus untested :
>> left(), right(), intersects(), smallest_shift(), is_singleton(),
>> invert().
>> 
>
> Got rid of the cruft in staging.  Most utility functions are a dime a
> dozen. Using them intelligently is what's hard. So people can just
> rewrite these things if they need them.

The art is to create one that can do the job of a dozen, in an
understandable way.  A strictly limited number of versatile building
blocks both conceptually simple as well as simple to use and providing
completely coverage are what constitutes good APIs, and we should strive
to have a set of those available from the Scheme side.  "People should
program a simple C++ function if they need it" is not being fair to our
high-level users.

-- 
David Kastrup




reply via email to

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