lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Affichage conditionnel (if / else)


From: Gilles THIBAULT
Subject: Re: Affichage conditionnel (if / else)
Date: Thu, 24 Sep 2009 15:46:43 +0200



1/ Est-ce du "pur" Scheme qui est utilisé dans Lilypond ? ou est-ce un
langage dérivé (de la même manière que Scheme est un langage dérivé de
Lisp — du peu que j'en sache)
Je peux pas te répondre sur ma "pureté" du scheme, mais simplement que
Lilypond utilise Guile dont
le manuel d'utilisation est ici :
http://www.gnu.org/software/guile/manual/guile.html
et en prticulier le chapitre 5 :
http://www.gnu.org/software/guile/manual/guile.html#API-Reference


2/ Peut-on utiliser toutes les ressources (I mean : boucles, opérateurs,
fonctions, etc. etc.) de Scheme dans le code Lilypond ?
A chaque fois que j'ai voulu utiliser les fonctions décrites dans le lien
ci-dessus, ça  a marché ! ( euh enfin si, parfois ça plante, mais c'est
toujours une erreur de programation de ma part et non celle d'un non-support
d'une fonction Guile dans Lilypond)


- 'eqv' est l'opération à utiliser pour comparer deux expressions
Si tu veux en savoir plus sur les égalités, rendez-vous à
http://www.gnu.org/software/guile/manual/guile.html#Equality
< - true s'écrit #t et non pas ##t dans ce contexte-là
Dans Lilypond, on introduit du code Scheme (donc interprété par Guile) a
l'aide du caractère  #.
Comme en Scheme, true et false se code #t et #f  on peut se retrouver avec 2
# dans du code Lilypond :
Par exemple :
\override NoteHead.stencil = ##f
mais on aura
#(define une-variable #f)

Petite indication, théoriquement on peut taper du code Scheme sans passer
par Lilypond, en tapant :
               guile
en ligne de commande, mais ça ne marche pas directement sous Windows :
(pas chez moi en tout cas :
ERROR: In procedure primitive-load-path:
ERROR: Unable to find file "ice-9/boot-9.scm" in load path).
Une astuce consiste a créer un script (lanceGuile.bat  par exemple) avec la
commande start qui permet de spécifier un répertoire de démarrage :
           start ""  /B /D c:\Lilypond\usr guile
(modifier le chemin de Lilypond\usr selon sa config.)

Pour lancer un fichier *.scm, il faut rajouter l'option -l
           start "" /B /D c:\Lilypond\usr guile -l %1

Gilles






reply via email to

[Prev in Thread] Current Thread [Next in Thread]