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

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

Re: pb \afterGrace ? avec exemple minimaliste


From: éric BELLOCQ
Subject: Re: pb \afterGrace ? avec exemple minimaliste
Date: Sat, 8 Jan 2022 21:35:48 +0000 (UTC)

Merci bien pour ces détails.
Éric
Le samedi 8 janvier 2022 à 19:04:13 UTC+1, Jean Abou Samra <jean@abou-samra.fr> a écrit :


Le 08/01/2022 à 12:26, éric BELLOCQ a écrit :
> j'ai pu reproduire le pb qui venait de mon gros \include perso.
> Voici :
> \version "2.22.1"
>
>  "*" = \markup { \fontsize #-2 * }
>
> { c'
>    \afterGrace
>    c' c' }
>
>
> Un problème avec le signe * donc.
>
> Éric



Bonjour,

LilyPond est intimement lié au langage Scheme.
En particulier, les variables que vous définissez
sont placées dans un espace de nommage qui est le
même que celui du code Scheme que vous pourriez
écrire vous-même, mais aussi du code Scheme contenu
en interne dans LilyPond. Observez cet exemple :


\version "2.22.1"


maVariableDefinieEnLily = 58

% Affiche la variable, ce qui montre qu'elle est accessible en Scheme.
#(display maVariableDefinieEnLily)

% Utilise la variable définie en Scheme dans le code LilyPond.
#(define maVariableDefinieEnScheme "*")

\markup \maVariableDefinieEnScheme

(Si vous ne savez pas encore ce qu'est Scheme, consultez
https://lilypond.org/doc/v2.22/Documentation/extending/tutoriel-scheme
ou
https://tutoriel-scheme.readthedocs.io .)


Avec votre variable, vous redéfinissez l'opération
de multiplication « * » que fournit le langage.
Dès lors, toute fonction de LilyPond qui effectue
une multiplication risque fort de planter… du
moins en version 2.22. Dans les versions de développement
actuelles (2.23), les fonctions internes de LilyPond
vivent dans un espace séparé, si bien que l'opération
de multiplication est redéfinie seulement pour le
code Scheme que vous pourriez écrire vous-même,
mais pas pour les fonctions prédéfinies. Dans
la version stable 2.22, choisir un autre nom pour
cette variable vous évitera les ennuis.

Cordialement,
Jean



reply via email to

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