lilypond-user
[Top][All Lists]
Advanced

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

Re: Termination of variable definitions


From: Thomas Morley
Subject: Re: Termination of variable definitions
Date: Tue, 19 Apr 2016 23:36:45 +0200

2016-04-19 23:25 GMT+02:00 David Sumbler <address@hidden>:
> Thank you all for your help on this.
>
> My original question, "how does Lilypond recognize the end of the
> definition of a variable" has been answered: the definition has to be a
> single, complete expression.
>
> Which of course produces another question: "what is classed as a single
> expression?"
>
> Well, I think I understand what a music expression is.  A single music
> expression is any music (possibly including sub-expressions) enclosed
> between { }, and optionally preceded by \new <context>.
>
> Oh yes, and it can also be preceded by \relative.
>
> And perhaps one or two other things.  Or maybe not.
>
> Non-music expressions are varied: a quoted string is, not surprisingly,
> a single expression.  \paper { ... } is one expression.  4.5\cm is
> equivalent to a particular Scheme expression. (!)

Well, all variable-definitons can be expressed in scheme...
I explained it for 4.5\cm, because it's mentioned in the NR

>
> And, as pointed out, this is far from a complete list.
>
> No wonder I was, and to some extent am, confused!
>
> But I do have a clearer idea now of what can and cannot be used in a
> variable.  The form is not quite as flexible as I had hoped,

Well, LilyPond uses an input-language, I don't think it qualifies as a
programming-language.
But you you can do a lot ....

xx = \override NoteHead.color = #red
is one expression
yy = \override NoteHead.font-size = #5
is one expression
zz = {
\override NoteHead.color = #red
\override NoteHead.font-size = #5
}
is also one expression.

A quite simple example ...


> but it may
> well be that it makes better sense for a variable to represent a
> complete expression rather than any arbitrary chunk of the same file
> without variables.
>
> David
>

Cheers,
  Harm



reply via email to

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