Subject: Re: pb de transposition

From: Daniel Cartron <[email-masked]>
Date: Sat, 25 Apr 2009 08:37:58 +0200

Le mardi 24 février 2009, Martial a écrit :
> Utilise \displayLilyMusic, lilyPond affiche les notes

Je viens de découvrir un truc bizarre sur \displayLilyMusic... J'ai mis un 
moment à piger que c'est lui le coupable, mais comme c'est intégré dans un 
script plus vaste, j'ai d'abord cherché du côté de mon code... La première 
note de la sortie n'a pas de durée si c'est la mm que dans la métrique. 
Explication, en 4/4 si j'ai en première note un si8 \displayLilyMusic met 
bien si8, mais si c'est un sol4 j'ai sol tout court. C'est normal ou un bug ?
En attendant je vais modifier mon script mais je trouve ça pas très logique...

-- 
Cordialement, Daniel Cartron
« Un véritable homme du monde n'est jamais trop pauvre pour faire un cadeau à 
une femme. Il peut toujours lui donner la syphilis. »
François Cavanna - Le saviez-vous ?

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 29 Apr 2009 08:50:52 +0200

Le samedi 25 avril 2009, Daniel Cartron a écrit :
> bien si8, mais si c'est un sol4 j'ai sol tout court.

En fait c'est mm pire que ça, les indications de durée sont systématiquement 
supprimées à chaque début de repeat ou d'alternative, à partir du moment où 
elles sont identiques à la métrique. Du coup si une fin alternative finit par 
une blanche, et que la phrase suivante commence par 4 noires dans un morceau 
en 4/4 le 4 disparait du début de la nouvelle phrase et tout se retrouve par 
conséquent en blanche... C'est pénible je dois tout revérifier et rectifier à 
la main...

Personne n'a d'idée sur ce pb ?

-- 
Cordialement, Daniel Cartron
« Les cimetières sont remplis de gens irremplaçables. »
Alphonse Allais

---

From: Eluze <[email-masked]>
Date: Wed, 29 Apr 2009 12:35:41 -0700 (PDT)

> Personne n'a d'idée sur ce pb ?
si je me souviens bien, lilypond utilise toujours la dernière durée si la
durée de la note actuelle n'est pas explicitement donnée - et comme
\lilypondDisplaMusic se lasse d'écrire le quart au début d'un passage voilà
la catastrophe - pour moi un bug net!
-- 
View this message in context: http://n2.nabble.com/pb-de-transposition-tp2376540p2742828.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Nicolas Sceaux <[email-masked]>
Date: Wed, 29 Apr 2009 22:15:11 +0200

>> note de la sortie n'a pas de durée si c'est la mm que dans la  

Rien à voir avec la métrique. Ce sont les 4 qui sont omis au début.
Tu dis c'est un bug, parce que quand tu copies colle tel quel dans un  
bout de
musique avec d'autres durées avant, ça ne fait pas ce que tu veux.  
Bof, puisque
tu en es à copier coller, ajoute le 4 au début. Dans l'absolu ce n'est  
pas un
bug : 4 est la durée par défaut, si tu compiles la sortie de  
\displayLilyMusic
seule tu auras bien la même chose qu'au départ. Maintenant je suis  
d'accord
pour dire que ne pas omettre la première durée serait mieux.

> Personne n'a d'idée sur ce pb ?

Oui j'ai une idée, commence par proposer un exemple minimal qui montre  
tous les
problèmes que tu as trouvés (j'ai pas trop suivi ce thread). Car ce  
que je trouve
pénible, c'est d'entendre parler de coupable, de trucs pire que ça, de  
catastrophe,
sans voir l'exemple avec. Ca donne pas vraiment envie de corriger. Je  
suis
ptêtre un peu soupe au lait ce soir, mais ça fait chier de se casser  
le cul et
d'entendre parler comme ça.

Et en attendant que ce soit corrigé un jour, essaie ça :

displayLilyMusic =
#(define-music-function (parser location music) (ly:music?)
    (newline)
    (display-lily-music music parser #:force-duration #t)
    music)

nicolas

---

From: Eluze <[email-masked]>
Date: Wed, 29 Apr 2009 14:59:11 -0700 (PDT)

> catastrophe,
… me repento! 

\displayLilyMusic	reproduit exactement ce qui est en prenant compte de ce
qui était auparavant!

la solution est donc de bien définir ses mélodies (et durées) et de ne pas
se fier aux commodités et aux implications parfois difficiles à comprendre
que Lilypond offre!

"\key re \major re 4" résoud tout ls pbs

-- 
View this message in context: http://n2.nabble.com/pb-de-transposition-tp2376540p2743579.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Daniel Cartron <[email-masked]>
Date: Thu, 30 Apr 2009 09:29:52 +0200

Le mercredi 29 avril 2009, Nicolas Sceaux a écrit :
> sans voir l'exemple avec.

Tout d'abord j'ai pas crié à la catastrophe, et si j'ai utilisé le mot "pire" 
c'est que pour les premiers fichiers qui m'ont posé pb seule la première note 
était sans durée, et qu'ensuite j'ai eu le pb y compris en milieu de 
morceau...

Et si je n'ai pas donné d'exemple c'est que je pensais que mon explication 
suffisait, et aussi parce que depuis quelques jours j'ai saisi plusieurs 
dizaines de partitions, et je ne sais plus exactement lesquelles ont posé pb, 
donc je recherche.

Ensuite je ne fais pas de copier/coller, c'est un script qui fait tout le 
boulot, et il m'est impossible de corriger automatiquement le comportement de 
\displayLilyMusic, puisque un peu partout dans le morceau il y a des notes 
sans durée, comment repérer celles qui doivent avoir un 4 et non la mm valeur 
que la précédente ?... D'ailleurs une fois que ce script fonctionnera 
correctement je compte le mettre à disposition de la communauté sous licence 
gpl, ça pourrait intéresser d'autres joueurs de diato. Et comme je l'ai fait 
en Python il sera portable.

Bon voici qd mm un exemple mais qui curieusement ne pose pas pb au milieu, 
seulement en début, je ne retrouve plus celui qui faisait ça :

\version "2.11.59"
\include "italiano.ly" 

\header
{
	title =  "Polka bidon"
	tagline = ""
}

Mélodie = \relative sol'
{
	\clef treble
	\key sol \major
	\time 4/4
\break

\repeat volta 2
	{
		re4 si' si sol
		re sol fad mi
		mi la la fad
	}
\alternative 
	{
		{
		mi4 fad re2
		}
		{
		mi4 fad sol2
		}
	}
\bar "|."
\break
\repeat volta 2
	{
		re4 si' si sol
		re sol fad mi
		mi la la fad
	}
\alternative 
	{
		{
		mi4 fad re2
		}
		{
		mi4 fad sol2
		}
	}
\bar "|."
}

\book
{
 	\score
 	{
	<<	
	\displayLilyMusic
	\new Staff 
	{
		<<
			\new Voice
			{
 				\Mélodie
			}
		}
		\layout
			{
				\context
				{
					\Score
					\remove "Bar_number_engraver"
				}
				\context
				{
					\Lyrics
				}
				indent = 0\mm
			}
	}
}

et sur ce morceau la sortie de \displayLilyMusic donne :

\new Staff { << \new Voice { {
         \clef "treble"
         \key sol \major
         \time 4/4
         \break  \repeat volta 2 {
           re' si' si' sol' re' sol' fad' mi' mi' la' la' fad' 
         } \alternative { { mi' fad' re'2 } { mi'4 fad' sol'2 } } \bar "|."
         \break  \repeat volta 2 {
           re'4 si' si' sol' re' sol' fad' mi' mi' la' la' fad' 
         } \alternative { { mi' fad' re'2 } { mi'4 fad' sol'2 } } \bar "|."
         
       } } >> }

Merci

-- 
Cordialement, Daniel Cartron
« La boussole est une espèce de montre qui indique toujours midi et demie. »
François Cavanna - Le saviez-vous ?