[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: |
Valentin Villenave |
Subject: |
Re: calling a music variable using a Scheme function |
Date: |
Thu, 3 Sep 2009 10:47:52 +0200 |
On Fri, Jul 24, 2009 at 10:51 AM, Nicolas Sceaux<address@hidden> wrote:
> %% UNTESTED!
> includeList =
> #(define-music-function (parser location variable-names) (list?)
> (make-sequential-music
> (map (lambda (variable-name)
> (let ((music (ly:parser-lookup parser (string->symbol
> variable-name))))
> (if (ly:music? music)
> music
> (make-music 'Music))))
> variable-names)))
Hi Nicolas,
I've been trying to implement something based on your recent
discussion with Reinhold; I have a few questions though:
- why does scorify-music fail here?
- how can I add a \header block for each \score produced (I can't
figure out where to insert an add-text in this snippet)?
%%%%%
\include "italiano.ly"
Prologue = \relative {do re mi fa}
Ouverture = \relative {sol'1 }
Entracte = \relative {si''2 si}
#(define-public (add-score parser score)
(ly:parser-define! parser 'toplevel-scores
(cons score (ly:parser-lookup parser 'toplevel-scores))))
#(define-public (add-text parser text)
(add-score parser (list text)))
#(define-public (add-music parser music)
(collect-music-aux (lambda (score)
(add-score parser score))
parser
music))
#(define (make-this-music name)
(let ((music (ly:parser-lookup parser (string->symbol name))))
(if (ly:music? music)
music
(make-music 'Music 'void #t))))
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))
(layout (ly:output-def-clone $defaultlayout))
(title (markup #:large "Score")))
(add-music parser music)))
variable-names)
(make-music 'Music 'void #t))
#(define pieces
(list
"Prologue"
"Ouverture"
"Entracte"
"Dummy"
))
{
\includeList #pieces
}
%%%%%%
Thanks!
Valentin
- Re: calling a music variable using a Scheme function,
Valentin Villenave <=