lilypond-devel
[Top][All Lists]
Advanced

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

Re: Allows for easier creation of many Lilypond objects via Scheme. (iss


From: address@hidden
Subject: Re: Allows for easier creation of many Lilypond objects via Scheme. (issue 7009047)
Date: Tue, 25 Dec 2012 11:17:29 +0200

On 24 déc. 2012, at 15:55, David Nalesnik <address@hidden> wrote:

> On Mon, Dec 24, 2012 at 7:22 AM, address@hidden
> <address@hidden> wrote:
>> On 24 déc. 2012, at 10:36, address@hidden wrote:
>> 
>> On 2012/12/24 07:28:17, mike7 wrote:
>> 
>> On 24 déc. 2012, at 01:10, mailto:address@hidden wrote:
>> 
>> 
>>> All of this is absolutely devastatingly horrible code that is not
>>> reconcilable with sane per-session semantics and tampers with
>> 
>> LilyPond
>> 
>>> internals in a way that has bleed-over effects into future files in
>> 
>> the
>> 
>>> same command line.
>>> 
>>> In addition, the interfaces into the exposed internals are
>> 
>> absolutely
>> 
>>> horrific and cryptic and don't make any sense as a user interface.
>>> 
>> 
>> 
>> I agree that the innards I'm exposing are not coded particularly
>> well
>> 
>> 
>> You don't get the point.  A user interface is not supposed to "expose
>> innards", it is supposed to provide functionality.  Pulling data
>> structures and some of the code accessing them into the open is not a
>> user interface.
>> 
>> 
>> I am certainly not saying that this type of task is for every user, but
>> someone comfortable enough to do this should not have to copy and paste from
>> define-*.scm every time.
>> 
>>> This is taking everything that is broken with
>>> input/regression/scheme-text-spanner.ly, magnifies it to a number of
>>> other cases, and gives it a bad interface.
>> 
>> 
>> 
>> I am of the opinion that it is better to have stuff like this that
>> allows people to do creative and interesting things with LilyPond
>> than not have it at all.
>> 
>> 
>> But those "creative and interesting things" will break frequently on
>> update.  We already have quite a bit of "why doesn't this stuff I
>> based on [some version of] scheme-text-spanner.ly not work in my
>> version of LilyPond?" questions.
>> 
>> 
>> It seems like you'd rather not make something accessible rather than making
>> it accessible in a fragile state.  I certainly prefer the latter, as it
>> allows more people to experiment.  For example, David's work on the frame
>> engraver would be a great trial ground for this sort of thing.
>> 
> 
> I've gotten a lot of use out of techniques in
> scheme-text-spanner.ly--that's probably very evident--and I'm quite
> appreciative that it's there.  I understand the problems that it
> causes--I've seen evidence of bleed-over.  However, I'm using these
> techniques as a convenient aid to developing new features.  I could
> certainly work directly in LilyDev and alter the necessary files in
> the proper way, but then I'm unable to get feedback from those users
> who would actively use the new features but aren't comfortable
> applying patches.

[responding to Werner too] I completely see where you're coming from - this is 
how I've gone about work with a lot of features.  This is why I think the idea 
of a git branch, while good for development, is not necessarily possible for 
the average user to access.

> You can see just how much user feedback I got
> during the creation of the measure counter (issue 2445).  As far as
> the frame engraver goes, I've gotten a good sense of what such a thing
> ought to do, and corrected several problems based on input from
> lilypond-user.  My efforts here are still quite a way from producing a
> formal patch and putting it up for review, but that is the end goal.

I'm positive you'll get there.  The frame patch, when submitted, should be able 
to use in-house grob-creation and event-creation mechanisms instead of copying 
and pasting out of Scheme files.  My goal with the present patch is to get 
LilyPond to a state where you and others can do this.  Any feedback on how to 
control the bleed-over mechanisms that you, Mark and David K. have identified 
would be very helpful.

Cheers,
MS


reply via email to

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