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

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

Re: erreur dans fonction scheme


From: Gilles
Subject: Re: erreur dans fonction scheme
Date: Mon, 27 May 2013 10:35:59 +0200
User-agent: Opera Mail/12.15 (Linux)

Le Mon, 27 May 2013 09:37:48 +0200, Daniel Cartron <address@hidden> a écrit:

#(cond
                                ((and #upperline #lowerline)
                                        #{ #(color-staff-lines white black 
black white) #})
                                (else #{ #(color-staff-lines white black white) 
#})
                        )

Je crois qu'il y a un peu trop de #
# sert à utiliser une expression scheme à l'intérieur d'une expression Lilypond. Comme l'expression commence par #(cond, tu es à l'intérieur d'une expression scheme. Je suis même étonné que #upperline soit compris par le parser scheme. Pour color-staff-lines, je suppose que c'est une fonction scheme, vu les tirets dans le nom ( ça serait colorStaffLines pour être valide en Lilypond). En gros avec #{ #color-staff-lines ..., tu demandes d'importer du Lilypond dans du scheme, puis du scheme dans du lilypond. C'est un peu lourd, mais effectivement ça devrait marcher. Par contre, apparemment cette fonction prend un nombre aléatoire d'arguments (ici 4 ou 3). C'est possible, mais est-ce bien le cas ?
Cette version devrait être déjà plus allégée :

#(cond
  ((and upperline lowerline)
     (color-staff-lines white black black white) ; 4 arguments
  (else
     (color-staff-lines white black white)))     % 3 arguments

--
Gilles



reply via email to

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