Jan-Peter,

Thanks. That was the correct idea. It was driving me crazy at first because 
it still wouldn't work, until I dug through the documentation a bit more 
and found that 2.18 and 2.19 have a slightly different syntax for the 
function arguments:


2.19

===

smNote = #(define-music-function

  (m)(ly:music?)

  #{

    \tweak font-size #-2 #m

  #}

)


2.18
===
smNote = #(define-music-function

  (parser location m)(ly:music?)

  #{

    \tweak font-size #-2 #m

  #}

)

After adding "parser location" to the start of the arguments section, it 
works perfectly. Thanks again!

----------------------------------------

From: "Jan-Peter Voigt" <jp.vo...@gmx.de>

Sent: Thursday, March 01, 2018 10:43 AM

To: lilypond-user@gnu.org

Subject: Re: Including tweaks in a variable


Hello Michael,


it works if you add \etc to the variable (in lily-dev 2.19.x IIRC):

smNote = \tweak font-size #-2 \etc

That way smNote becomes a music-function that takes the note as argument 

and the tweak is applied.

If you are using 2.18 you have to create the function like this:

smNote = #(define-music-function (m)(ly:music?) #{ \tweak font-size #-2 

#m #})


HTH

Jan-Peter


Am 01.03.2018 um 15:33 schrieb Michael Stickles:

> This should be simple, but I just can't seem to get it to work.  I'm 

> working on re-doing a lot of our church music, and use variables 

> extensively to help make the .ly files more readable. There are a lot 

> of places where one vocal part splits and we want the "secondary" 

> notes to be smaller, resulting in code like this:

>

> <f  \tweak font-size #-2  f,>1

>

> What I want to do is replace the "tweak" section with a variable, like 

> this:

>

> smNote = \tweak font-size #-2

>

> <f  \smNote  f,>1

>

> But this results in errors:

>

> error: unknown escaped string: `\smNote'

> error: wrong type for argument 3.  Expecting symbol list or music, 

> found #<Book>

>

> (the "smNote" definition is at the end of the variables section, and 

> the first line after the variables section is "\book {" )

>

> Some online searching came up with a few suggestions, but none of them 

> worked for me. Given that they worked for the original posters, I'd 

> guess I implemented them incorrectly, but I can't figure out what I'm 

> doing wrong. Ideas?

>

>

> _______________________________________________

> lilypond-user mailing list

> lilypond-user@gnu.org

> https://lists.gnu.org/mailman/listinfo/lilypond-user


_______________________________________________

lilypond-user mailing list

lilypond-user@gnu.org

https://lists.gnu.org/mailman/listinfo/lilypond-user

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

Reply via email to