[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Génération conditionnelle...
From: |
Gilles THIBAULT |
Subject: |
Re: Génération conditionnelle... |
Date: |
Sun, 2 May 2010 01:04:36 +0200 |
J'ai bien identifié la façon de faire le test en scheme _#(if (defined?
Musiqueb) (...))_, mais ensuite, je voudrais exprimer ma partition
conditionnelle en syntaxe lilypond, pas scheme ! En gros, j'aimerais
bien avoir l'équivalent d'un #ifdef du langage C.
Tu peux mettre du Lilypond à l'intérieur du scheme en l'entourant par
#{ #} mais ça ne marche pas pour \score, avec lequel il faut
utiliser entre autre, ly:make-score .
%%%%%%%%%%%%%%%%%%
musica = c'1
%musicb = d'1 % a décommenter
myBook = #(define-music-function (parser location)()
(let ((a (ly:make-score #{ \musica #} ))
(b (and (defined? 'musicb)
(ly:make-score #{ \musicb #} ))))
(collect-scores-for-book parser a)
(if b (collect-scores-for-book parser b))
(make-music 'Music 'void #t)))
\myBook
%%%%%%%%%%%%%%%%%%
A l'intérieur de chaque #{ #} , tu peux mettre tout le code Lilypond que
tu veux (sauf \score ...).