Subject: Affichage conditionnel (if / else)

From: "[email-masked]" <[email-masked]>
Date: Wed, 24 Mar 2010 11:28:38 +0100 (CET)

Bonjour

j'ai repris le post suivant:
http://n2.nabble.com/Affichage-conditionnel-if-else-td3691791.html

j'ai un besoin similaire. Je voudrais pouvoir positionner differentes valeurs a une variable comme ci dessous:

LAm = #(if (eqv? (ly:get-option 'concert) #t)
                           '\markup {\tiny "La m"}
                           '\markup {""})
                          
mais je pense que je ne m'y prend mal :

# -*-compilation-*-
Processing `C:/Documents and Settings/cgodefro/Desktop/work/christophe/sérénade.ly'
Parsing...
warning: no such internal option: concert
C:/Documents and Settings/cgodefro/Desktop/work/christophe/mvt1.ly:3:7: error: GUILE signaled an error for the expression beginning here
LAm = #
       (if (eqv? (ly:get-option 'concert) #t)

C:/Documents and Settings/cgodefro/Desktop/work/christophe/mvt1.ly:29:27: error: syntax error, unexpected SCM_IDENTIFIER
            si^
                           \LAm mi, do16 si re do mi re fa mi

C:/Documents and Settings/cgodefro/Desktop/work/christophe/mvt1.ly:57:27: error: syntax error, unexpected SCM_IDENTIFIER
            si^
                           \LAm mi, do16 si re do mi re fa mi

C:/Documents and Settings/cgodefro/Desktop/work/christophe/sérénade.ly:41:8: error: errors found, ignoring music expression
     
        <<

error: failed files: "C:\\Documents and Settings\\cgodefro\\Desktop\\work\\christophe\\sérénade.ly"

Est-ce que vous pouvez m'aider ou me rediriger vers une documentation adéquate ?

Merci pour votre aide

christophe

Christophe GODEFROY

Laposte.net, Messager Officiel du Rallye des Gazelles 2010, Pour suivre le Rallye Aicha des Gazelles et soutenir les participantes,
cliquez ici   http://www.laposte.net/rallye-des-gazelles

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Wed, 24 Mar 2010 18:29:06 +0100

>LAm = #(if (eqv? (ly:get-option 'concert) #t) 
                           
Ceci semble marcher :

%%%%%%%%%%%%%%%%%
\include "italiano.ly"

#(define variable 'concert)   % à metter en commentaire
%%#(define variable 'autre)   % à décommenter 

LaMConcert = \markup {\tiny "La m"}
LaMAutre = \markup {""}

LAm = #(if (eq? variable 'concert) LaMConcert LaMAutre)

\new Staff  \relative  { si'^\LAm mi, do16 si re do mi re fa mi}

%%%%%%%%%%%%%%%%%%

Gilles

---

From: Nicolas Sceaux <[email-masked]>
Date: Wed, 24 Mar 2010 20:19:43 +0100

> mais je pense que je ne m'y prend mal :

C'est l'idée générale, mais là tu mélanges une syntaxe LilyPond et
la syntaxe scheme.  Ici, à l'intérieur d'une expression scheme, il
faut utiliser un markup écrit en scheme.  Pas de panique, ce n'est
pas très compliqué :

           (markup #:tiny "La m")
           (markup ""))

Nicolas

---

From: christophe <[email-masked]>
Date: Fri, 26 Mar 2010 16:49:42 +0100

Génial ca marche

merci a toi

Christophe

Ceci semble marcher :

%%%%%%%%%%%%%%%%%

\include "italiano.ly"

%%%%%%%%%%%%%%%%%%

Gilles

---

From: christophe <[email-masked]>
Date: Fri, 26 Mar 2010 19:23:30 +0100

Au fait,

si je set ces variables dans un par example score-concert.ly qui va appeler mvt1.ly,

est-ce que ma variable est prise en compte parceque mes tests tentent a dire le contraire ?

il existe une variable global et une variable locale ?

Merci pour l'info

christophe a écrit :

Génial ca marche

merci a toi

Christophe

Ceci semble marcher :

%%%%%%%%%%%%%%%%%

\include "italiano.ly"

%%%%%%%%%%%%%%%%%%

Gilles