Subject: retourner la clé

From: Daniel Cartron <[email-masked]>
Date: Tue, 27 Oct 2009 16:18:00 +0200

bonjour

Je cherche à faire comme sur l'image jointe, retourner la clé en fin de 
partition, mais aussi les altérations et la métrique. C'est faisable ?

Par ailleurs, comme vous l'aurez remarqué c'est une partition palindromique, 
donc pour avoir la 2e voix je dois la retaper ou on peut demander à lily de le 
faire ? Juste pour savoir jusqu'où on peut aller :-))

Merci

PS pour les curieux c'est du Bach, extrait de l'offrande musicale.

-- 
Cordialement, Daniel Cartron
« À quoi bon fréquenter Platon quand un saxophone peut aussi bien nous faire
entrevoir un autre monde. »
E. M. Cioran

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 27 Oct 2009 16:29:56 +0200

Le mardi 27 octobre 2009, Daniel Cartron a écrit :
> « À quoi bon fréquenter Platon quand un saxophone peut aussi bien nous
> faire entrevoir un autre monde. »
> E. M. Cioran

Je viens de m'apercevoir du choix effectué par Fortune pour la citation 
aléatoire, il aurait mieux valu mettre une autre citation de Cioran:

“Sans Bach, la théologie serait dépourvue d’objet, la Création fictive, le
néant péremptoire. S’il y a quelqu’un qui doit tout à Bach, c’est bien
Dieu…” 

-- 
Cordialement, Daniel Cartron
« J'ai une mémoire admirable, j'oublie tout. »
Alphonse Allais

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Tue, 27 Oct 2009 16:43:25 +0100

>partition, mais aussi les altérations et la métrique. C'est faisable ?
Tu peux réutiliser la fonction que je venais de proposer à Viviane, adapter
à chaque élément (\clef, \key, \time)
Pour la clef ça donne ça :

%%%%%%%%%%%%%%%%%%%
#(define (new-clef-stencil grob)
(let*
    ((original-stencil (ly:clef::print grob))
     (ext-y (ly:stencil-extent original-stencil Y))
     (delta-y (- (cdr ext-y) (car ext-y))))
(ly:stencil-translate
    (ly:stencil-rotate original-stencil 180 -1 1 ); -1 1 = en haut à gauche
    (cons 0.12  (- 0.12 delta-y delta-y )))))% 0.12 c'est du bidouillage ...

music = \relative {
    c1
    \override Staff.Clef #'stencil = #new-clef-stencil
    \clef tenor
    \bar ""
    s1

}

\new Voice \music
%%%%%%%%%%%%%%%%%%%
Il te faudras ensuite changer l'ordre d'appartition de ces éléments en
changeant the 'break-align-orders:
http://lilypond.org/doc/v2.11/Documentation/user/lilypond-internals/BreakAlignment#BreakAlignment

Par défaut :
break-align-orders : #(
(left-edge ambitus breathing-sign clef staff-bar key-cancellation
    key-signature time-signature custos)            ; 1er groupe
(left-edge ambitus breathing-sign clef staff-bar key-cancellation
    key-signature staff time-signature custos)     ; 2eme groupe
 (left-edge ambitus breathing-sign clef key-cancellation
    key-signature staff-bar time-signature custos))  ; 3eme groupe

Tu dois changer l'ordre dans chaque groupe pour avoir dans l'ordre
time-signature key-signature et clef (dans l'ordre inverse en fait)
Quelque chose comme :
\override Score.BreakAlignment #'break-align-orders =
#'#(
(left-edge ambitus breathing-sign  key-cancellation staff-bar staff
time-signature key-signature clef custos)
(left-edge ambitus breathing-sign  key-cancellation staff-bar staff
time-signature key-signature clef custos)
(left-edge ambitus breathing-sign  key-cancellation staff-bar staff
time-signature key-signature clef custos))

Gilles

>faire ? Juste pour savoir jusqu'où on peut aller :-))

J'ai crois avoir vu des fonctions qui faisaient les musiques à l'envers mais
je ne me rappelle plus où. (le LSR ?).
Bon là je suis pas assez intelligent pour inventer une fonction 
"palindromique".

Bon courage

Gilles

NB
Je suis interessé si tu nous livre le résultat.

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Tue, 27 Oct 2009 17:00:22 +0100

>http://lilypond.org/doc/v2.11/Documentation/user/lilypond-internals/BreakAlignment#BreakAlignment

Il vaut mieux donner le lien le plus récent :
http://lilypond.org/doc/v2.12/Documentation/user/lilypond-internals/BreakAlignment#BreakAlignment

qui nous donne en plus une version moins verbeuse pour l' \override :
\override Score.BreakAlignment #'break-align-orders =
      #(make-vector 3 '(left-edge ambitus breathing-sign
                    key-cancellation staff-bar staff
                    time-signature key-signature clef custos))

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Tue, 27 Oct 2009 17:35:12 +0100

>Je suis interessé si tu nous livre le résultat.

Euh j'ai pas eu la patience d'attendre ...

%%%%%%%%%%%%%%%%%%%%%%%%%%%
#(define ((new-stencil func) grob)
(let*
    ((original-stencil (func grob))
     (ext-y (ly:stencil-extent original-stencil Y))
     (delta-y (- (cdr ext-y) (car ext-y))))
(ly:stencil-translate
    (ly:stencil-rotate original-stencil 180 -1 1 ); -1 1 = en haut à gauche
    (cons 0.12  (- 0.12 delta-y delta-y )))))% 0.12 c'est du bidouillage ...

invisibleTimeChange = {
  \once \override Staff.TimeSignature #'stencil = ##f
    \time 1/8
    \bar ""
    s8
}

music = \relative {
    c1
    \override Score.BreakAlignment #'break-align-orders =
        #(make-vector 3 '(left-edge ambitus breathing-sign
                      key-cancellation  staff
                      time-signature key-signature clef staff-bar custos))

    \invisibleTimeChange
    \override Staff.Clef #'stencil =
                    #(new-stencil ly:clef::print)
    \override Staff.KeySignature #'stencil =
                    #(new-stencil ly:key-signature-interface::print)
    \override Staff.TimeSignature #'stencil =
                    #(new-stencil ly:time-signature::print)
    \override Staff.TimeSignature #'Y-offset = #2
    \time 4/4
    \clef tenor
    \key ees \major
    \bar "|"
}

\new Voice \music
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Il ne reste plus qu'à arranger l'armature pour que les bemols soient aux 
bons endroits.

Gilles

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 27 Oct 2009 18:41:20 +0200

Le mardi 27 octobre 2009, Gilles THIBAULT a écrit :
>     (cons 0.12  (- 0.12 delta-y delta-y )))))% 0.12 c'est du bidouillage

le pb est que si je veux faire pareil pour les autres éléments lily râle :
Avertissement :  « time » n'est pas un nom d'objet graphique (grob)

J'ai modifié comme suit :
#(define (new-time-stencil grob)
(let*
    ((original-stencil (ly:time::print grob))
     (ext-y (ly:stencil-extent original-stencil Y))
     (delta-y (- (cdr ext-y) (car ext-y))))
(ly:stencil-translate
    (ly:stencil-rotate original-stencil 180 -1 1 )
    (cons 0.12  (- 0.12 delta-y delta-y )))))

#(define (new-key-stencil grob)
(let*
    ((original-stencil (ly:key::print grob))
     (ext-y (ly:stencil-extent original-stencil Y))
     (delta-y (- (cdr ext-y) (car ext-y))))
(ly:stencil-translate
    (ly:stencil-rotate original-stencil 180 -1 1 )
    (cons 0.12  (- 0.12 delta-y delta-y )))))

Où ai-je raté qq chose ?

>     \override Staff.Clef #'stencil = #new-clef-stencil

Et là mm si lily ne râle pas pour le calcul de la clé elle n'est pas affichée, 

> J'ai crois avoir vu des fonctions qui faisaient les musiques à l'envers
> mais je ne me rappelle plus où. (le LSR ?).

OK JE vais fouiller

> Bon là je suis pas assez intelligent pour inventer une fonction

:-)

> Je suis interessé si tu nous livre le résultat.

Pas de pbs si j'y arrive...

-- 
Cordialement, Daniel Cartron
« Il ne faut pas poète plus haut que son luth. »
Willy

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 27 Oct 2009 19:00:37 +0200

> Euh j'ai pas eu la patience d'attendre ...

:-))

> Il ne reste plus qu'à arranger l'armature pour que les bemols soient aux

Ben non c'est pas encore ça. En effet si la clé d'ut est symétrique et qu'une 
rotation de 180° donne le mm résultat qu'un effet de miroir horizontal il n'en 
est pas de mm pour la métrique et l'armure. J'ai un peu regardé si il existait 
un truc du genre mais j'avoue ne pas bien piger ce que j'ai lu...

-- 
Cordialement, Daniel Cartron
« La vieillesse, en définitive, n'est que la punition d'avoir vécu. »
E. M. Cioran

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 27 Oct 2009 19:40:44 +0200

> Et là mm si lily ne râle pas pour le calcul de la clé elle n'est pas

Chuis bête je mettais tenor au début et à la fin alors évidemment... Avec 
soprano en début ça va nettement mieux. Avec cependant un truc que je n'avais 
encore jamais remarqué : lorsqu'il y a plusieurs clés sur une mm ligne, les 
suivantes sont de taille inférieure à la première, et c'est effectivement comme 
ça aussi sur mes bouquins, j'avais jamais percuté là-dessus... Cependant sur 
la partition que je recopie les deux clés sont de mm taille, on doit sûrement 
pouvoir arranger ça avec un override, mais lequel ?...

-- 
Cordialement, Daniel Cartron
« Un nu bien fait n'est jamais perdu. »
Willy

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 27 Oct 2009 20:07:20 +0200

Le mardi 27 octobre 2009, Daniel Cartron a écrit :
> Ben non c'est pas encore ça. En effet si la clé d'ut est symétrique et
> qu'une rotation de 180° donne le mm résultat qu'un effet de miroir
> horizontal il n'en est pas de mm pour la métrique et l'armure. J'ai un peu
> regardé si il existait un truc du genre mais j'avoue ne pas bien piger ce
> que j'ai lu...

Après avoir un peu fouillé j'ai trouvé dans la police feta un 
accidentals.mirroredflat, donc pas besoin de retourner l'armure, juste dire 
qu'on doit utiliser ce symbole à la place de l'autre. Je suppose que glyph-
name-alist est le truc à utiliser mais si je met
	\override Staff.KeySignature #'glyph-name-alist = #( (-1/4 . 
accidentals.mirroredflat) )
je me fais jeter avec un

Avertissement : la vérification du type de « glyph-name-alist » a échoué ;                      
   la valeur « #<unspecified> » doit être du type « list »                                      
Pré-traitement des éléments graphiques...                                                       
erreur de programmation : Pas d'espacement entre TimeSignature et « key-
signature »             
poursuite ; croisons les doigts.                                                                
erreur de programmation : Pas d'espacement entre KeySignature et « clef »                       
poursuite ; croisons les doigts.                                                                
erreur de programmation : Pas d'espacement entre Item et « clef »                               
poursuite ; croisons les doigts.                                                                
erreur de programmation : Pas d'espacement entre TimeSignature et « key-
signature »             
poursuite ; croisons les doigts.                                                                
erreur de programmation : Pas d'espacement entre KeySignature et « clef »                       
poursuite ; croisons les doigts.                        

Et je viens de remarquer que sur la partition que j'ai en main le c est 
effectivement retourné à 180° comme dans la fonction de Gilles, donc je ne 
chercherai pas plus loin...

-- 
Cordialement, Daniel Cartron
« Vous serez fusillés avec des balles rouillées, et vous mourrez du tétanos. »
Serge Gainsbourg

---

From: Xavier Scheuer <[email-masked]>
Date: Tue, 27 Oct 2009 19:10:20 +0100

> un truc du genre mais j'avoue ne pas bien piger ce que j'ai lu...

Euh...
Dans le cas présent le résultat fourni par Gilles n'est pas pareil que
ton original (en ce qui concerne l'armure seulement) mais il est plus
logique !

En effet lorsqu'on retourne la partition on fait une rotation de 180°
de la feuille, et non une symétrie orthogonale (effet miroir).
D'ailleurs dans ton original on voit que le 'C' de la métrique a subit
une rotation et non un effet miroir (pour la clef on ne sait rien
dire). Je dirais qu'il s'agit plutôt d'une « faute » dans celui-ci
d'avoir imprimé l'armure de cette façon.

En tout cas toutes mes félicitations à Gilles Thibault pour sa
maîtrise de Scheme et de lilypond.
Pense à l'ajouter au LSR (si ce n'est déjà fait).

Bravo,
Xavier

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 27 Oct 2009 20:28:35 +0200

> de la feuille, et non une symétrie orthogonale (effet miroir).

Ben oui mais dans ce cas un do deviendrait un ré, un mi un do, etc... Or il 
s'agit de lire la partition en reculant, comme dans un palindrome alphabétique 
on lit le mot en reculant, pas en retournant les lettres à 180°. Donc il me 
semblerait logique d'avoir justement un miroir en fin de partition. Ceci dit 
j'ai qq part un lien vers le manuscrit original (il me semble) je cherche ça 
et je fais une copie pour voir comment JS avait fait.

-- 
Cordialement, Daniel Cartron
« Redouter l'ironie, c'est craindre la raison. »
Sacha Guitry - L'esprit

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Tue, 27 Oct 2009 19:40:51 +0100

>Avec cependant un truc que je n'avais
>ça aussi sur mes bouquins, j'avais jamais percuté là-dessus

Ah oui c'est vrai, j'avais oublié ça . Il faut rajouté

\override Staff.Clef #'full-size-change = ##t
\override Staff.Clef #'Y-offset = #2

(La 2ème ligne est aussi necessaire.)

Gilles

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 27 Oct 2009 21:09:31 +0200

> (La 2ème ligne est aussi necessaire.)
Et avec 1.8 le résultat est encore plus satisfaisant.

En tout cas moi aussi je dis bravo, c'est sacrément fortiche. Reste à trouver 
comment faire pour l'armure et la métrique. Au fait sur l'original joint (je 
pense que ça l'est mais je suis incapable d'authentifier la signature :-) ) non 
seulement la clé est bien dessinée symétrique et non pivotée à 180° mais de 
plus les bémols et la métrique sont aussi écrits ainsi. Et de plus je découvre 
en regardant bien que la métrique de fin est en c barré alors qu'au début c'est 
du c... Si un spécialiste de musique baroque a une explication ça m'intéresse.

-- 
Cordialement, Daniel Cartron
« Pourquoi faire simple quand on peut faire compliqué... »
Jacques Rouxel - Les shadoks

---

From: Daniel Cartron <[email-masked]>
Date: Tue, 27 Oct 2009 21:29:23 +0200

Le mardi 27 octobre 2009, Daniel Cartron a écrit :
> la métrique de fin est en c barré alors qu'au début c'est
> du c

Bon au moins ça c'est résolu...

J'ai mis 
	\override Staff.TimeSignature #'stencil = #ly:text-interface::print
	\override Staff.TimeSignature #'text = \markup{ \huge \musicglyph 
#"timesig.mensural24" }
 à la fin et la mm chose au début mais avec timesig.mensural44 et ça le fait 
super.

Reste plus qu'à surcharger ces foutus bémols de l'armure pour les mettre à 
l'envers...

-- 
Cordialement, Daniel Cartron
« Le vin ordinaire, l'eau potable des Français. »
Bernard Shaw

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 28 Oct 2009 08:43:35 +0200

> mais je ne me rappelle plus où. (le LSR ?).

oui il y a ça ici :
http://lsr.dsi.unimi.it/LSR/Snippet?id=130
mais ça me fiche le bazar dans les armures, elles sont toutes à l'envers. Doit 
falloir modifier l'endroit où on la met à l'envers mais je vois pas bien 
comment faire.

-- 
Cordialement, Daniel Cartron
« Il était si laid que lorsqu'il faisait des grimaces, il l'était moins. »
Jules Renard

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Wed, 28 Oct 2009 13:00:08 +0100

>Reste plus qu'à surcharger ces foutus bémols de l'armure pour les mettre à

Ah je ne cherchais pas à changer les bémols car je n'arrivais pas  à 
comprendre comment il fallait jouer ce canon, car j'avais en tête un 
pallindrome de Mozart où les 2 joueurs devaient jouer face à face, la 
partition au milieu.
Ici, les 2 musiciens jouent l'un à côté de l'autre
Le soprano1 commence.
Quand il arrive à la dernière note de la partition :
            - il reprend cette dernière note et lit les notes à l'envers 
(comme de l'écriture arabe)
            - pendant ce temps le soprano2 commence la partition du début 
(et de gauche à droite)
Voilà donc la version avec les bemols retournés.

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

invisibleChanges = {
    \once \override Staff.TimeSignature #'stencil = ##f
    \time 1/8
    \once \override Staff.Clef #'stencil = ##f
    \clef treble
    \bar ""
    s8
}

music = \relative {
    \clef soprano
    \key ees \major
    c1

    \invisibleChanges
    \override Staff.Clef #'full-size-change = ##t
    \override Staff.Clef #'Y-offset = #2
    \override Staff.Clef #'stencil = #(new-stencil ly:clef::print)

    \override Staff.TimeSignature #'Y-offset = #2
    \override Staff.TimeSignature #'stencil =
                                        #(new-stencil 
ly:time-signature::print)
    %% on change le glyph du bemol = -1/2
    \override Staff.KeySignature #'glyph-name-alist  = #'(
              (0 . "accidentals.natural")
              (-1/2 . "accidentals.mirroredflat")
              (1/2 . "accidentals.sharp")
              (1 . "accidentals.doublesharp")
              (-1 . "accidentals.flatflat")
              (3/4 . "accidentals.sharp.slashslash.stemstemstem")
              (1/4 . "accidentals.sharp.slashslash.stem")
              (-1/4 . "accidentals.mirroredflat")
              (-3/4 . "accidentals.mirroredflat.flat"))
    \set Staff.printKeyCancellation = ##f

    \time 4/4
    \clef soprano
    \set Staff.keySignature = #`(((0 . 6) . ,FLAT)
                                 ((0 . 2) . ,FLAT)
                                 ((0 . 5) . ,FLAT))
    \bar "|"
}

\new Voice \music
%%%%%%%%%%%%%%%%%

A noter que dans la doc,
http://lilypond.org/doc/v2.12/Documentation/user/lilypond-internals/KeySignature#KeySignature
chaque éléments de la 'glyph-name-alist  est présenté sous la forme (-1/2 . 
accidentals.flat).
J'ai mis une bonne heure à comprendre que la bonne forme etait : (-1/2 . 
"accidentals.flat").
Ca serait peut-être bien si on pouvait modifier cette syntaxe, dans la doc.

Gilles

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Wed, 28 Oct 2009 13:07:20 +0100

>mais ça me fiche le bazar dans les armures, elles sont toutes à l'envers.

Essaie peut-être de séparer les \override et les \key et les \time etc d'un 
côté, pour faire le reverse que sur les notes (et uniquement les notes).

Gilles

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 28 Oct 2009 15:31:03 +0200

> pallindrome de Mozart où les 2 joueurs devaient jouer face à face, la

Ha je connais pas, tu as la partition ?

>             - pendant ce temps le soprano2 commence la partition du début

Je n'avais pas imaginé cette forme, pour moi les deux musiciens jouaient 
chacun leur partie, l'un à l'endroit et l'autre à l'envers, et commençaient en 
mm tps. Ta version est plus amusante. Ne serait-ce que parce qu'il faut lire à 
l'envers.

D'ailleurs ça me fait penser que le terme de palindromique qui m'est venu 
spontanément est peu adapté, ou plutôt à préciser... En effet un palindrome 
littéraire considère que si on lit à l'envers on prononce néanmoins avec les 
bonnes règles : léon et noël ne se prononcent pas exactement "à l'envers" et 
que dire de "n'osa" et "à son"... Alors qu'en musique on inverse très 
facilement do ré en ré do. De plus un palindrome est supposé être dit soit à 
l'endroit soit à l'envers, mais pas les deux en mm tps... Donc il s'agit bien 
d'un canon mais à écriture de type palindromique.

> invisibleChanges = {

J'ai essayé sans ce truc et ça marcha aussi bien. Une raison particulière de 
faire ça ?

>     \set Staff.keySignature = #`(((0 . 6) . ,FLAT)
Et (est-ce en relation ?) chez moi les altérations retournées ne sont pas 
bonnes. J'ai fa si mi et non mi si la... C'est marrant ça fait un décalage 
d'un bémol vers la gauche...

> A noter que dans la doc,
> http://lilypond.org/doc/v2.12/Documentation/user/lilypond-internals/KeySign
>ature#KeySignature chaque éléments de la 'glyph-name-alist  est présenté
> sous la forme (-1/2 . accidentals.flat).

Ben moi j'ai aussi cherché mais pas trouvé, faut dire que j'ai pas ton niveau 
en scheme :-)

Donc je vote +10 pour ta proposition.

Pour finir je met mon fichier, il y a les prémices du retournement de musique, 
mais commentés car ça marche pas. Je pense que ce serait marrant de l'avoir 
en midi mais pas en pdf. Et pour cette fonction de musique inverse, j'ai rien 
compris à ce qui est le nom de la variable et éventuellement le nom d'une 
fonction/constante/autre dans le script. Moi qui suis habitué à nommer ma 
variable Mélodie j'ai dû changer pour music car j'avais pas le tps d'y passer 
des heures... Donc je propose qu'on demande également aux contributeurs de 
nommer clairement leurs vairables, du genre My_Music et non music.

Bon en tout cas au moins ça change des partitions habituelles :-))

-- 
Cordialement, Daniel Cartron
« Je suis un contemplateur fervent de l'effort d'autrui. Un paresseux, c'est
tout simplement quelqu'un qui ne fait pas semblant de travailler. »
Tristan Bernard

---

From: Daniel Cartron <[email-masked]>
Date: Wed, 28 Oct 2009 15:33:33 +0200

Comme d'hab j'ai encore cliqué par réflexe sur envoyer au lieu de joindre. Le 
voici donc mon fichier...
-- 
Cordialement, Daniel Cartron
« Il ne faut pas désespérer des imbéciles. Avec un peu d'entraînement, on peut 
arriver à en faire des militaires. »
Pierre Desproges - Fonds de tiroir

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Wed, 28 Oct 2009 17:29:31 +0100

>Je pense que ce serait marrant de l'avoir
>en midi mais pas en pdf.

Comme je te le disais dans le précédent message, en isolant toutes les notes 
dans une variable \notes par exemple et en changeant ton code midi par :
%%%
\score % sortie midi
 {\new Staff {
     \tempo 4 = 120
     \notes
     <<
         \reverseMusic \notes
        \notes
 }
  \midi {
  }
}
%%
tu obtiens le fichier midi ci-joint de ce canon.

Gilles

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Wed, 28 Oct 2009 17:07:15 +0100

>J'ai essayé sans ce truc et ça marcha aussi bien. Une raison particulière 

Dans le code que j'ai envoyé, j'ai laissé le 4/4 donc la TimeSignature ne 
s'affiche pas sans \invisibleChanges

>d'un bémol vers la gauche...

Comme je l'expliquais dans le précédent message, je croyais que la clef de 
la fin c'était une clef d'ut 5 (ben oui je sais ça n'existe pas mais quand 
tu prends la partition à l'envers c'est ça que ça donne).
Quand j'ai compris que c'était encore une clef d'ut 1, j'ai remis \clef 
soprano (et non \clef tenor) ce qui permet d'avoir les bemols de l'armature 
directement au bon endroit sans \override.
On doit donc alors effacer la ligne \override Staff.KeySignature #'Y-offset 
= #-1 et rajouter un changement de clef invisible pour que la clef de la fin 
s'affiche.
Les bemols sont au bons endroits maintenant.

Gilles

---

From: Daniel Cartron <[email-masked]>
Date: Thu, 29 Oct 2009 10:38:52 +0100

> s'affiche pas sans \invisibleChanges

OK donc je laisse, j'avais effacé surtout pour voir ce que ça faisait et comme 
ça changeait rien... j'avais pas remis :-)

> en isolant toutes les notes
> dans une variable \notes par exemple et en changeant ton code midi par ...

mais ça marche parfaitement bien aussi sans isoler dans \notes...

Bon j'ai donc ma sortie pdf impecable, une sortie midi aussi, 
                                                                                 
erreur de programmation : Pas d'espacement entre TimeSignature et « key-
signature »                                          
poursuite ; croisons les doigts.                                                                                             
erreur de programmation : Pas d'espacement entre KeySignature et « clef »                                                    
poursuite ; croisons les doigts.
erreur de programmation : Pas d'espacement entre TimeSignature et « key-
signature »
poursuite ; croisons les doigts.
erreur de programmation : Pas d'espacement entre KeySignature et « clef »
poursuite ; croisons les doigts.
Interprétation en cours de la musique...
Canon_a_2b.ly:83:23: Avertissement : échec du contrôle de mesure (barcheck) 
à : 1/8
        do4 sol mib do
                       | %18

-- 
Cordialement, Daniel Cartron
« Quand on a la santé, c'est pas grave d'être malade. »
Francis Blanche - Mon oursin et moi