[Top][All Lists]
[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-----