Rick Hansen (aka RickH) wrote:
> How can I pass a variable into the "magstep" function?
> 
> The following fails on a parser error, the log ends with "parsing...".  I
> would like to be able to pass a scaling factor into my template along with
> all the notes variables.  When I hard-code -3 into the template it works
> fine, but when I try to use the variable called "varMyScaleFactor" it fails. 
> I'm not a scheme programmer, so this should be a simple syntax question (I
> hope).
> 
> 
> % Song file follows...
> \include "english.ly"
> 
> varMyScaleFactor = #-3
> varMyNotes = \relative c {
> c4 c c c |
> c4 c c c |
> c4 c c c |
> c4 c c c |
> }
> varMyTitle = "My Fish Freddy"
> 
> 
> 
> % Template file follows...
> 
> #(set-global-staff-size 20)
> 
> \header {
>         title = \varMyTitle
> }
> 
> <<
>      \new Staff
>      \with
>      {
>          fontSize = \varMyScaleFactor
>          \override StaffSymbol #'staff-space = #(magstep \varMyScaleFactor)
>      }
>      {
>          \clef treble
>          \varMyNotes
>      }
>  >>
> 

Inside Scheme code - here in the magstep call -, use no backslash, the
variable name is enough:

\override StaffSymbol #'staff-space = #(magstep varMyScaleFactor)


The rest of your code is correct; note that you can also define
varMyScaleFactor like this:

#(define varMyScaleFactor -3)

Cheers,
-- 
John Mandereau <[EMAIL PROTECTED]>



_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to