Subject: [moins long] Code lilypond conditionnel dans une fonction Scheme

From: Olivier Miakinen <[email-masked]>
Date: Fri, 13 Oct 2017 23:40:43 +0200

Bonjour,

Mon message précédent était un peu long, alors en voici une version
plus courte.

Supposons que j'aie défini les deux fonctions suivantes.
==================================================================
maMusiqueTutti = #
(define-music-function
 (parser location)
 ()
 #{
   \book {
     \bookOutputSuffix "tutti"
     \score {
       <<
         \new Staff = "tutti" \new Voice { \tutti }
     }
     \layout { }
   }
 #})

maMusique = #
(define-music-function
 (parser location nom musique)
 (string? ly:music)
 #{
   \book {
     \bookOutputSuffix $nom
     \score {
       <<
         \new Staff = "tutti" \new Voice { \tutti }
         \new Staff = $nom \new Voice { $musique }
     }
     \layout { }
   }
 #})
==================================================================

J'utilise \maMusiqueTutti pour un Score avec un seul Staff (qui est
"tutti") et \maMusique "soprano" \soprano pour un Score avec deux
Staff (qui sont "tutti" et "soprano").

Je voudrais n'avoir qu'une seule fonction \maMusique, pour laquelle
une valeur particulière passée à $nom permette de n'inclure que l'un
des deux Staff, en n'écrivant pas le second.

Quelle est la bonne syntaxe ?

Cordialement,
-- 
Olivier Miakinen