On 07.11.2016 17:56, David Kastrup wrote:
David Sumbler <da...@aeolia.co.uk> 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
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user