lilypond-user
[Top][All Lists]
Advanced

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

Re: calling a music variable using a Scheme function


From: Reinhold Kainhofer
Subject: Re: calling a music variable using a Scheme function
Date: Thu, 3 Sep 2009 11:29:48 +0200
User-agent: KMail/1.11.4 (Linux/2.6.29-02062906-generic; KDE/4.2.4; i686; ; )

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am Donnerstag, 3. September 2009 10:47:52 schrieb Valentin Villenave:
> - why does scorify-music fail here?
>
> includeList =
> #(define-music-function (parser location variable-names) (list?)
>   (map (lambda (variable-name)
>          (let ((music (make-this-music variable-name))
>                ; WTF???
>                ;(score (scorify-music music parser))

You have to use let* instead of let. With let* the definitions are evaluated in 
the given order and can depend on each other. With let, you cannot use one of 
the variables in the value of another.

> - how can I add a \header block for each \score produced 

In the OrchestralLily package (http://www.repo.or.cz/w/orchestrallily.git), 
I'm using this to assign a piece name to a score:

#(define (oly:set_piece_header score piecename)
  (if (not-null? piecename)
    (let* ((header (make-module)))
      (module-define! header 'piece piecename)
      (ly:score-set-header! score header)))

Call it like
   (oly:set_piece_header score "Piecetitle")


> (I can't
> figure out where to insert an add-text in this snippet)?

add-text is like add-score, except that it adds a toplevel-markup instead of a 
score. You can call it anywhere you would also call add-score. However, if you 
want the piece name formatting to take place, then you'll have to assign a 
proper header block as given above.

Cheers,
Reinhold

- -- 
- ------------------------------------------------------------------
Reinhold Kainhofer, address@hidden, http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKn4yOTqjEwhXvPN0RAopCAJ90Auk/NwnqjA9H7WlZ41AbLWDnoQCg2yXa
gxiDik7x6gXHJBsBv+XJNIg=
=fM6t
-----END PGP SIGNATURE-----




reply via email to

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