Subject: usage de jazzchords.ily

From: zarbot ziz <[email-masked]>
Date: Wed, 8 Mar 2023 14:18:48 -0500

Bonjour,

j'aimerais savoir si quelqu'un est familier avec les librairies
lilyjazz, jazzchords, ..

Dans le fichier jazzchords.ily il y a cette définition (ci-dessous) qui
devrait me permettre de modifier le triangle pour les accords majeur en M
mais si j'utilise la commande acMaj cela me génère une erreur!

% for major chords, use "acMaj" to print a small "M"
#(define-markup-command (acMaj layout props extension) (string?)
  (interpret-markup layout props
    (markup #:super "M" #:super extension)))
.
Est-ce que ces librairies sont trop anciennes pour qu'elles fonctionnent
adéquatement avec les nouvelles versions de Lilypond ?

Peut-être qu'il y a des subtilités pour bien utiliser ces fonction ;)

merci d'avance
Bien cordialement
Claude

---

From: Jean Abou Samra <[email-masked]>
Date: Wed, 08 Mar 2023 20:44:32 +0100

Le mercredi 08 mars 2023 à 14:18 -0500, zarbot ziz a écrit :
> Dans le fichier jazzchords.ily il y a cette définition (ci-dessous)
> qui devrait me permettre de modifier le triangle pour les accords
> majeur en M mais si j'utilise la commande acMaj cela me génère une
> erreur!
> . Est-ce que ces librairies sont trop anciennes pour qu'elles
> fonctionnent adéquatement avec les nouvelles versions de Lilypond ?

Bonjour,
PourMoiÇaMarche (™), par exemple :
\version "2.24.1"

\markup \acMaj "7"

donne

Il y a sûrement un problème dans la manière dont vous utilisez la
fonction. Pourriez-vous donner un exemple où ça ne marche pas, pour
qu'on puisse comprendre ? (Voir
aussi https://lilypond.org/tiny-examples.fr.html)

Cordialement,

Jean

---

From: zarbot ziz <[email-masked]>
Date: Wed, 8 Mar 2023 14:53:24 -0500

Bonjour jean

en fait j'ai essayé de nombreuses configurations sans jamais trouvé quelque
chose qui fonctionne, un ex:

theNotes =   \transpose c c { \relative c' {
  \key c \major \tempo 4=120
  c'8 d ees f g f e  d  c
}
}

theChords = \transpose c c {
  \chordmode {
   \markup \acMaj "7" c1:acMaj
}
}

Merci!

On Wed, Mar 8, 2023 at 2:44 PM Jean Abou Samra <[email-masked]> wrote:

> . Est-ce que ces librairies sont trop anciennes pour qu'elles fonctionnent
> fonction. Pourriez-vous donner un exemple où ça ne marche pas, pour qu'on
> puisse comprendre ? (Voir aussi
> https://lilypond.org/tiny-examples.fr.html)
> <https://lilypond.org/tiny-examples.fr.html>
>
>
> Cordialement,
>
> Jean
>
>
>
>

---

From: Jean Abou Samra <[email-masked]>
Date: Wed, 08 Mar 2023 22:09:25 +0100

Le mercredi 08 mars 2023 à 14:18 -0500, zarbot ziz a écrit :

> Bonjour,
> 
> j'aimerais savoir si quelqu'un est familier avec les librairies lilyjazz, jazzchords, ..
> 
> Dans le fichier jazzchords.ily il y a cette définition (ci-dessous) qui devrait me permettre de modifier le triangle pour les accords majeur en M mais si j'utilise la commande acMaj cela me génère une erreur!
> 
> Est-ce que ces librairies sont trop anciennes pour qu'elles fonctionnent adéquatement avec les nouvelles versions de Lilypond ?
> 

Ce n'est pas comme ça que ça marche :-) On ne peut pas mettre comme ça un `\markup` dans un `\chordmode`. Par contre, on peut changer la propriété `chordNameExceptions`, qui définit comment les accords s'affichent. Exemple :

```
\version "2.24.1"

\layout {
  \context {
    \ChordNames
    chordNameExceptions =
      #(sequential-music-to-chord-exceptions
        #{ {
          % redéfinition du Maj 7
          <c e g b>^\markup "trucmachin"
        } #}
        #t)
  }
}

   c1:maj7
}
}
 
\chords { \theChords }
```

Comme vous pouvez le voir, on peut mettre n'importe quoi pour le nom de l'accord, comme `"trucmachin"`, ou bien `\acMaj "7"`.

En fait, dans votre cas, pas la peine de le refaire puisque c'est exactement ce que fait `jazzchords.ily"`. Si vous écrivez juste `c1:maj7`, avec un `\include "jazzchords.ily"`, vous obtenez "C M7".

Cordialement,

Jean

---

From: zarbot ziz <[email-masked]>
Date: Wed, 8 Mar 2023 16:26:02 -0500

C'est exactement ce que je faisais et j'obtiens toujours un triangle et non
M7!
C'était d'ailleurs la raison initiale de mon post, car après j'ai commencé
à chercher d'autres solutions et sans succès.

Donc voici le code complet et le résultat

\version "2.18.2"
#(set-global-staff-size 23)
\include "jazzchords.ily"
\include "lilyjazz.ily"
% \include "jazzextras.ily"
\paper {
  #(define fonts
    (set-global-fonts
      #:music "lilyjazz"
      #:brace "lilyjazz"
      #:roman "lilyjazz-text"
      #:sans "lilyjazz-chord"
  ))
}
theNotes =   \transpose c c { \relative c' {
  \key c \major \tempo 4=120
  c'8 d ees f g f e  d  c
}
}

theChords = \transpose c c {
  \chordmode {
    c1:maj
}
}
\score {
  <<
    \new ChordNames \theChords
    \new Voice = soloist \theNotes
  \layout {
    \override Score.Clef #'break-visibility = #'#(#f #f #f)  % make only
the first clef visible
    \override Score.KeySignature #'break-visibility = #'#(#f #f #f)  % make
only the first time signature visible
    \override Score.SystemStartBar #'collapse-height = #1  % allow
single-staff system bars
  }
}

Est-ce que vous voyez un problème ?

Merci

On Wed, Mar 8, 2023 at 4:09 PM Jean Abou Samra <[email-masked]> wrote:

> Ce n'est pas comme ça que ça marche :-) On ne peut pas mettre comme ça un
> \markup dans un \chordmode. Par contre, on peut changer la propriété
> chordNameExceptions, qui définit comment les accords s'affichent. Exemple
> :
>
> \version "2.24.1"
>
> \layout {
>   \context {
>     \ChordNames
>     chordNameExceptions =
> Comme vous pouvez le voir, on peut mettre n'importe quoi pour le nom de
> l'accord, comme "trucmachin", ou bien \acMaj "7".
>
> En fait, dans votre cas, pas la peine de le refaire puisque c'est
> exactement ce que fait jazzchords.ily". Si vous écrivez juste c1:maj7,
> avec un \include "jazzchords.ily", vous obtenez "C M7".
>
> Cordialement,
>
> Jean
>

---

From: Jean Abou Samra <[email-masked]>
Date: Wed, 08 Mar 2023 22:31:47 +0100

Le mercredi 08 mars 2023 à 16:26 -0500, zarbot ziz a écrit :

> C'est exactement ce que je faisais et j'obtiens toujours un triangle et non M7!C'était d'ailleurs la raison initiale de mon post, car après j'ai commencé à chercher d'autres solutions et sans succès.
> 

Vous êtes sûr que votre code est complet et que c'est bien le résultat ? Moi, j'obtiens un M7, en 2.18 comme en 2.24…

Parfois, ce genre de bêtise se produit quand on édite un fichier inclus dans Fresobaldi mais qu'on oublie de l'enregistrer, ce qui fait que la version enregistrée du fichier inclus est utilisée au lieu de celle qu'on est en train d'éditer.

---

From: zarbot ziz <[email-masked]>
Date: Wed, 8 Mar 2023 17:12:03 -0500

Oui c'est bien le code complet et je n'ai pas modifié les fichiers inclus
non plus, est-ce que j'aurais du ?

En tout cas avec votre solution ça fonctionne, est-ce que je pourrais
l'intégrer dans le fichiers jazzchords.ily ?

merci
Claude

On Wed, Mar 8, 2023 at 4:31 PM Jean Abou Samra <[email-masked]> wrote:

> C'est exactement ce que je faisais et j'obtiens toujours un triangle et
> non M7!C'était d'ailleurs la raison initiale de mon post, car après j'ai
> commencé à chercher d'autres solutions et sans succès.
>
> Vous êtes sûr que votre code est complet et que c'est bien le résultat ?
> Moi, j'obtiens un M7, en 2.18 comme en 2.24…
>
> Parfois, ce genre de bêtise se produit quand on édite un fichier inclus
> dans Fresobaldi mais qu'on oublie de l'enregistrer, ce qui fait que la
> version enregistrée du fichier inclus est utilisée au lieu de celle qu'on
> est en train d'éditer.
>

---

From: Jean Abou Samra <[email-masked]>
Date: Wed, 08 Mar 2023 23:20:53 +0100

Le mercredi 08 mars 2023 à 17:12 -0500, zarbot ziz a écrit :

> Oui c'est bien le code complet et je n'ai pas modifié les fichiers inclus non plus, est-ce que j'aurais du ?
> En tout cas avec votre solution ça fonctionne, est-ce que je pourrais l'intégrer dans le fichiers jazzchords.ily ?

Avant de se lancer là-dedans, je pense qu'il vaut mieux vaut essayer de comprendre d'où vient le problème. Est-ce que nous avons bien la même version du fichier `jazzchords.ily` ? Il me semble qu'il y en a plusieurs en circulation. La mienne vient d'ici : [https://github.com/OpenLilyPondFonts/lilyjazz/blob/master/stylesheet/jazzchords.ily](https://github.com/OpenLilyPondFonts/lilyjazz/blob/master/stylesheet/jazzchords.ily)

Autre question : quelle est votre version exacte de LilyPond ?

---

From: zarbot ziz <[email-masked]>
Date: Wed, 8 Mar 2023 17:45:48 -0500

Ma version Lilypond est 2.22.2

J'ai pris la même version de jazzchords.ily et cette fois cela fonctionne.

Par contre je préfère votre solution car le M7 n'est pas comme exposant au
nom de l'accord (ce qui est le cas avec jazzchords), y a t-il moyen de
modifier pour avoir ce résultat ?
Merci

On Wed, Mar 8, 2023 at 5:20 PM Jean Abou Samra <[email-masked]> wrote:

> non plus, est-ce que j'aurais du ? En tout cas avec votre solution ça
> fonctionne, est-ce que je pourrais l'intégrer dans le
> fichiers jazzchords.ily ?
>
> Avant de se lancer là-dedans, je pense qu'il vaut mieux vaut essayer de
> comprendre d'où vient le problème. Est-ce que nous avons bien la même
> version du fichier jazzchords.ily ? Il me semble qu'il y en a plusieurs
> en circulation. La mienne vient d'ici :
> https://github.com/OpenLilyPondFonts/lilyjazz/blob/master/stylesheet/jazzchords.ily
>

---

From: zarbot ziz <[email-masked]>
Date: Wed, 8 Mar 2023 18:01:28 -0500

j'ai remplacé la ligne avec la vôtre dans le fichier ily et ça fonctionne
bien :)
Merci