Subject: Re: Sauts de pages et compilation conditionnelle - SOS !!!!

From: Jean Abou Samra <[email-masked]>
Date: Tue, 31 Jan 2023 12:37:12 +0100

Bonjour,

> Le 31 janv. 2023 à 08:39, Ben <[email-masked]> a écrit :
> Bonjour, 
> 
> Merci pour les explications et exemples plus simples!
> 
> Mais j'ai alors deux questions:
> 
> - pourquoi devoir rajouter #{ #} alors que cela fonctionne sans?  fonctionbreak = #(if (string=? modepartition "ac") #{ \break #} )

Le #{ #} est une expression musicale vide, renvoyée si la condition est fausse. Sans elle, c’est la valeur spéciale *unspecified* définie par Guile qui est renvoyée. Il se trouve que LilyPond ignore *unspecified* dans la plupart des cas, tout simplement parce que c’est ce que renvoient les expressions Scheme sans vraie valeur, comme les define. Par contre, *unspecified* n’est pas une expression musicale, donc vous ne pourrez pas faire quelque chose comme

\after 1*3 \break

par exemple, car \after attend vraiment une expression musicale.

> - à quoi sert l'instruction \tagGroup choeur,chef,accompagnateur? Je n'ai pas remarqué de changement en l'enlevant et je ne comprends pas ce qu'en dit la doc.

Si vous filtrez la musique avec « \keepWithTag choeur », tous les tags autres que « conducteur » sont supprimés, donc non seulement « chef » et « accompagnateur », mais aussi « layout », « midi », que sais-je, si vous aviez aussi utilisé d’autres tags. Avec le \tagGroup, « \keepWithTag choeur » supprime chef et accompagnateur, mais pas les autres tags sans lien avec ces trois-là.

Cordialement,
Jean