bug-lilypond
[Top][All Lists]
Advanced

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

Re: [frogs] Enhancement request: Define output-suffix as a configurable


From: Neil Puttock
Subject: Re: [frogs] Enhancement request: Define output-suffix as a configurable context property.
Date: Mon, 21 Sep 2009 22:01:43 +0100

2009/9/19 Ian Hulin <address@hidden>:
> Hi Carl, Neil,
>
> I'm quite happy to re-think the proposal if what I have in mind contravenes
> existing design architecture.
> Put it down to relative inexperience and the fact I don't get opportunity to
> work on lilly as often as I'd like.
>
> Anyhow, here are some of the reasons why I'd like to do something with this
> stuff:
>
> Using parser variables to configure things is evil, because it requires
> users to drop into Scheme to set the parser variable. I feel we need to
> replace #(define output-suffix "gibbon-vole-aardvark") with something
> handled at the lilypond language level.

This isn't strictly true, since it's possible to set it using LilyPond
syntax; the only issue is the parser requirement that the identifier
be enclosed in quotes to prevent the hyphen being misinterpreted:

"output-suffix" = "gibbon-vole-aardvark"

> So what I'd like to do is to have some way of replacing the Scheme
> definition either -
> \book {
>     \set output-suffix "gibbon-vole-aardvark"
>     {... \score blocks and things}
> }

This is a recipe for confusion, since the \set command is reserved for
context properties; users find it confusing enough that there are
distinct properties requiring \set and \override.

> , or
> \book \with {output-suffix = "gibbon-vole-aardvark"}
> {
>    {... \score blocks and things}
> }.

A \book block doesn't instantiate a context, so you can't use (or
extend) \with here (in any case the parser expects either \new or
\context to come before \with, so you'd also have to do some serious
parser hacking).

> If you have any ideas for an architecturally cleaner solution which would
> allow users to avoid dropping into Scheme I'm open to suggestions.

Since the main issue appears to be the situation with \midi blocks, I
think the best option would be to set a midi-output-suffix within the
\midi block, though I'm not sure whether this is feasible.

Regards,
Neil




reply via email to

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