Jan-Peter Voigt <jp.vo...@gmx.de> writes: > Hello David, hello lists, > > now, when we have a book-predicate, we are dealing with books in > scheme. And then we might want to set a header after creating a book. > There is a function ly:score-set-header!, which I copied and adapted > for the Book-class. > This patch compiled and works with the following snippet. > > --snip-- > \version "2.15.32" > > bk = \book { > \score { > \relative c' { > c4 e g b > } > } > } > > #(let ((bh (eval-string "(define-module (a b))"))) > (eval '(define title "Hallo") bh) > (ly:book-set-header! bk bh))
"eval-string" is not exactly what I call "in Scheme". > \book { \bk } > --snip-- > > Is this helpful for lily-devel? > And is there another (better) way of creating a module (for header > generation) on the fly in scheme? make-module would be obvious. But you could write the above just as bk = \book { \score { \relative c' { c4 e g b } } } #(define bk #{ \book { \bk \header { title = "Hallo" } } #}) \book { \bk } It is a bit of cheating since it works on a copy of the book, but not all that much. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user