[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Comportement étrange de \disp layLilyMusic
From: |
Gilles |
Subject: |
Comportement étrange de \disp layLilyMusic |
Date: |
Sat, 04 May 2013 12:50:09 +0200 |
User-agent: |
Opera Mail/12.15 (Win64) |
Comme j'utilise beaucoup de fonctions personnalisées, je cherche à pouvoir
exporter automatiquement mes musiques pour pouvoir partager mes codes
sources, de la manière la plus dépouillée possible.
Pour cela, j'utilise la fonction \displayLilyMusic ou plutôt sa
correspondante scheme : display-lily-music, définie dans
"music-functions.scm".
Ça marche très bien, sauf pour quelques pas particuliers. Je pourrai
imaginer des fonctions pour détourner en partie ces cas problématiques,
mais avant de ré-inventer la roue, je voudrai savoir d'abord si
\displayLilyMusic a été amélioré dans les versions les plus récentes
récentes.
Comme sous Linux (Mageia), je suis encore en version 2.16.0, est-ce que
quelqu'un donc aurait l'amabilité de tester le code suivant sous la
2.16.02 et la dernière version 2.17 ?
%%%%%%%% test1 %%%%%%%
test = { \times 2/3 { e8 e e } e4 }
\displayLilyMusic \test
%%%%%%%%%%%%%%%%%%%%%%%%
Sous 2.016.0, j'obtiens
=> { \times 2/3 { e8 e e } e }
Le 4 de e4 a disparu ! donc le résultat est équivalent à
{ \times 2/3 { e8 e e } e8 } ce qui diffère de la musique \test
original.
Avec la fonction scheme, il y a un paramètre optionnel force-duration qui
semble résoudre le problème
%%%%%%%%%%%%
#(display-lily-music test parser (current-output-port)
#:force-duration #t)
=> { \times 2/3 { e8 e8 e8 } e4 }
Bon, c'est un peu plus lourd, mais la musique originale est respectée.
Mais il y a un problème avec les accords :
%%%%%%%%% test 2 %%%%%%%%
test = { \times 2/3 { e8 e e } <e g>4 }
#(display-lily-music test parser (current-output-port)
#:force-duration #t)
=> { \times 2/3 { e8 e8 e8 } < e4 g4 >4 } !
La syntaxe < e4 g4 >4 donne une erreur lors de la compilation dans
Lilypond.
Merci d'avance .
--
Gilles
- Comportement étrange de \disp layLilyMusic,
Gilles <=