lilypond-user
[Top][All Lists]
Advanced

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

Re: set-global-staff-size from inside Scheme function


From: Urs Liska
Subject: Re: set-global-staff-size from inside Scheme function
Date: Fri, 16 May 2014 12:05:44 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

Am 16.05.2014 10:54, schrieb Jan-Peter Voigt:
Hi Urs,

this constellation compiles, if you wrap the scheme-call to
set-global-staff-size into a void-function. But if it is called, when
the book is already opened, the staff-size is already initialized and
can't be changed (for this book).
It probably works, if you place #(set-global-staff-size ..) before \book
{...} .

compileScore =
#(define-void-function (parser location score)(ly:score?)
   #{ \include "example-styles.ily" #}
   (let ((book
          #{
            \book {
              % \include "example-styles.ily"
              \score { #score }
            }
          #}))
     (ly:book-process
      book
      #{ \paper {} #}
      #{ \layout{} #}
      (ly:parser-output-name parser))))

works (i.e. doing the include first before the (let ) block).
But I still get a warning

"
example-styles.ily:3:1: warning: Ignoring non-music expression

#(set-global-staff-size 44)
"

I might accept this because the result is the accepted, but is there a way to avoid that warning?

Urs


HTH, Jan-Peter

Am 16.05.2014 10:42, schrieb Urs Liska:
Hi,

I have been there already, but I can't find the corresponding email, and
I don't recall if they actually contained a solution or only an
explanation of the cause of the issue. So I have to start nes.

For the creation of music examples in a book I have written a function
\compileScore which does a number of things like munging file names,
cleaning up temporary files and particularly compiling different
versions of the file.

One particular issue is that it includes appropriate style sheets
according to the example type (which is expressed as a variable).
The problem is that #(set-global-staff-size) doesn't work in that
constellation, IISC because it's not a toplevel expression anymore.

The attached files show a very stripped-down version of the stuff and
will probably not look very useful.

But my question is: How can I set the global staff size from within the
included file?

Best
Urs


_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user



_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user





reply via email to

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