lilypond-user
[Top][All Lists]
Advanced

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

Re: Variable weirdness


From: Simon Albrecht
Subject: Re: Variable weirdness
Date: Mon, 7 Nov 2016 23:55:00 +0100

On 07.11.2016 17:56, David Kastrup wrote:
David Sumbler <address@hidden> writes:

I had the following lines in the main file of my current Lilypond
project:

\book {
   \bookOutputName "../firstCello"
     partName = "Cello 1"
     \include "frontcover.ily"
     \bookpart { %music...

The file "frontcover.ily" contains a \bookpart block which prints a
front cover with title, composer etc. - these are defined elsewhere.
  But it needs one more variable, viz. 'partName'.

I discovered that Lilypond will not accept a variable definition in
Lilypond format in the position I have put it: at the top level of a
\book block.  Nor will it accept it in a \bookpart block.  But at a
higher or a lower level, it will.

This seems a bit weird (to say the least), in view of the fact that by
replacing the line
        partName = "Cello 1"
with the Scheme form
        #(define partName "Cello 1")
everything works as intended.

Is there any useful reason why a variable cannot be defined in Lilypond
format in these contexts?
Because they would not be local to these contexts?

In other words, to make this work, books and bookparts would need their own namespaces, am I right? What would be the drawbacks of that? I daresay it would be pretty intuitive to use, and I’ve also found myself wanting that feature in the past, mainly to simplify \include structures.

Best, Simon



reply via email to

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