[moins long] Code lilypond conditionnel dans une fonction Scheme

classic Classique list Liste threaded Arborescence
1 message Options
Répondre | Arborescence
Ouvrir ce message en vue arborescente
|

[moins long] Code lilypond conditionnel dans une fonction Scheme

Olivier Miakinen-3
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


_______________________________________________
liste de diffusion lilypond-user-fr
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr