Subject: personnalisation des accords.

From: budilyss <[email-masked]>
Date: Thu, 15 Sep 2016 07:11:27 -0700 (MST)

Bonjour la communauté nénuphar, j'ai besoin d'aide! je me noie dans la
mare... ( des années que je ne m'y étais pas trempé!) 

Voilà: j'aimerais personnaliser la manière dont les accords s'affichent.
Je suis tombé sur ce post qui m'a été très utile:
ici
<http://lilypond-french-users.1298960.n2.nabble.com/Modification-du-nom-des-accords-ma-petite-contrib-td4687757.html#a4689931>  

Pourtant je n'arrive pas à obtenir ce que je souhaite.
À vrai dire, je pense n'avoir pas compris cette logique des "exceptions", en
effet j'aurais aimé trouver quelque part (dans la doc? dans un fichier de
config?) les accords "par défaut" (un tableau qui ferait correspondre
<c e g> => c:
<c ees g> => c:m
<c e g d'> => c:9
etc.  

... et s'il est possible d'en rajouter d'autres.

Pour être plus clair, je vous joins un fichier .ly : sur la première page du
pdf généré la notation que j'obtiens avec en rouge les erreurs, c'est à dire
quand je n'obtiens pas ce que je veux (un tout petit peu plus de détails
dans les commentaires du code).
Sur la 2eme page , ce que je souhaitais obtenir (désolé pour la mise en page
toute pas belle).

Mon gros problème, c'est que je ne pense pas avoir bien compris la syntaxe
des accords, par exemple dans ma logique : c:9.6 , d'après mes redéfinitions
, je devrais voir: C9\super{6} .

Merci d'avoir pris le temps de me lire , et si vous avez une quelconque
piste à me proposer ça serait formidable car je bloque et c'est pas faute
d'avoir cherché (tétard je resterai).
accords.ly
<http://lilypond-french-users.1298960.n2.nabble.com/file/n7584175/accords.ly>  

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/personnalisation-des-accords-tp7584175.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: legoss <[email-masked]>
Date: Thu, 15 Sep 2016 12:08:40 -0700 (MST)

Bonsoir,

Je ne me suis jamais demandé où était le fichier de config des accords...
s'il existe.
En revanche, tu as le fichier chord-modifiers-init.ly qui permet de
déterminer tes propres extensions.
Chez moi, il est dans /usr/share/lilypond/2.18.2/ly (je suis sous linux;
pour windows, je ne sais pas).

Comment je fonctionne:
1. J'ai sur un DD externe un fichier chord-modifiers-init.ly que je mets
régulièrement à jour.
2. A chaque nouvelle installation d'un système, je fais un copier coller
dans le fichier présent sur ma machine.
3. Si je modifie l'un, je fais la même modif dans l'autre.

Je suis certain que plusieurs membres de cette noble galerie vont m'informer
qu'il y a plus simple et plus pratique. Merci par avance!

Côté saisie des accords, voir  ici
<http://lilypond.org/doc/v2.18/Documentation/notation/common-chord-modifiers.fr.html> 
, ou  là <http://perso.crans.org/chapon/Jazzband2/AccordsJazz.pdf>  

Pour le rendu des extensions sur la partition, voir  dans la doc
<http://lilypond.org/doc/v2.18/Documentation/notation/lilypond-index>   les
commandes \fontsize, \super, \small \column, \line, \raise, \sharp, \flat,
\hspace...

Si ça peut te rendre service, voici mes extensions actuelles:

%%%%%%%%%%%%%%%%%%%
ignatzekExceptionMusic = {
        %<c e gis>1-\markup { "+" }
        %<c es ges>-\markup { \smaller "o" } % should be $\circ$ ?
        %<c es ges bes>-\markup {
          %%  f8 is o with slash.
        %  \smaller #(ly:export (ly:wide-char->utf-8 #x00f8))
        %}
        %<c es ges beses>-\markup { \smaller  "o7" }
<c e g a>1-\markup {         \fontsize #'-2 "6" }         %6
<c e g b>1-\markup {         \fontsize #'-2 "7M" }        %maj7
<c e g b d'>1-\markup {      \fontsize #'-2 "9M" }        %maj9
<c e g d'>1-\markup {        \fontsize #'-2 "add9" }      %5.9 (pour add9)
<c e g a d'>1-\markup{       \fontsize #'-2 "6/9" }       %6.9
<c d g>1-\markup {           \fontsize #'-2 "Sus2" }      %sus2
<c f g>1-\markup {           \fontsize #'-2 "Sus4" }      %sus4
<c f g bes>1-\markup{        \fontsize #'-2 "7Sus4" }     %7sus4
<c f g bes d'>1-\markup{      \fontsize #'-2 "9Sus4" }    %9sus4
<c e g bes>1-\markup {       \fontsize #'-2 "7" }         %7
<c e g bes d'>1-\markup {    \fontsize #'-2 "9" }         %9
<c e g bes d' f'>1-\markup {    \fontsize #'-2 "11" }     %11
<c e g bes d' fis'>1-\markup {    \fontsize #'-2 "11+" }  %11+
<c e g bes d' f' a'>1-\markup {    \fontsize #'-2 "13" }  %7.9.11.13
<c ees g>1-\markup {         \fontsize #'-2 "m" }         %m
<c es g a>1-\markup {        \fontsize #'-2 "m6" }        %m6
<c es g bes>1-\markup {      \fontsize #'-2 "m7" }        %m7
<c ees g bes d'>1-\markup {  \fontsize #'-2 "m9" }        %m9
<c ees g bes d' f'>1-\markup {  \fontsize #'-2 "m11" }    %m11
<c ees g bes d' f' a'>1-\markup {  \fontsize #'-2 "m13" } %m13
<c ees g b>1-\markup {       \fontsize #'-2 "m7M" }       %maj7.3-
<c e gis>1-\markup {         \fontsize #'-2 "5+" }        %5+
<c e ges>1-\markup {         \fontsize #'-2 "5-" }        %5-
<c ees ges beses>1-\markup { \fontsize #'-2 "dim7" }      %dim7
<c ees g f'>1-\markup {      \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"m""add4"}}   %m5.11
<c ees g bes f'>1-\markup {  \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"m7""add4"}}  %m7.5.11
<c ees g d'>1-\markup {      \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"m""add9"}}   %m5.9
<c e gis bes>1-\markup{      \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"7""5+"}}     %7.5+
<c e gis bes d'>1-\markup{   \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"9""5+"}}     %9.5+
<c e ges bes>1-\markup{      \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"7""5-"}}     %5-.7
<c ees ges bes>1-\markup{    \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"m7""5-"}}    %m7.5-
<c e ges bes d'>1-\markup{   \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"9""5-"}}     %5-.9
<c e g bes des'>1-\markup{   \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"7""9-"}}     %7.9-
<c e g bes dis'>1-\markup{   \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"7""9+"}}     %7.9+
<c f g bes des'>1-\markup{   \override #'(baseline-skip . 0.7)\fontsize #'4
\super \super \column{"7Sus4""9-"}} %7sus4.9-
}
%%%%%%%%%%%%%%%%%%%

Bon courage pour la suite!
Laurent

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/personnalisation-des-accords-tp7584175p7584177.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: budilyss <[email-masked]>
Date: Fri, 16 Sep 2016 06:49:56 -0700 (MST)

Bonjour , merci pour ta réponse.
Finalement je m'en suis sorti avec ta méthode en créant mes propres
exceptions dans un fichier à part (une quarantaine...).
( pour l'emplacement de chord-modifiers-init.ly sous mac:
Applications/Lilypond , click-droit: afficher le contenu du paquet puis:
/Contents/Resources/share/lilypond/current/ly )

et dans le code :

\new ChordNames {
              \set chordNameExceptions = #chExceptions
\transpose c a <c ees ges beses>2.
\transpose c f <c e b d'>4
}

... ce que je trouve plutôt lourd (les \transpose notamment) mais je ne m'en
sors pas avec la notation c:maj , c:9.6, c:9.5-.5+ etc. comme si lilypond ne
proposait pas suffisamment  de syntaxes différentes.
J'aurais aimé définir moi même la syntaxe de Lilypond mais tant pis.

Aussi je suis confronté à un nouveau problème , j'aimerais définir un accord
de cette manière:
<c e fis a>1-\markup { "blablablabla"} mais sans que la lettre de l'accord
(le chordRootNamer ?) n'apparaisse.

Et pour superposer plusieurs noms d accords je procède comme suit:
\new ChordNames {
              \set chordNameExceptions = #chExceptions
\transpose c a <c ees ges beses>2.
\transpose c f <c ees b d'>4
}
\new ChordNames {
              \set chordNameExceptions = #chExceptions
s2.
\transpose c a <c e bes d'>4
}
\new ChordNames {
              \set chordNameExceptions = #chExceptions
s2.
\transpose c d <c e g a'>4
}

ici 3 accords vont se superposer mais je me retrouve avec des problèmes
d'espacement que je n'arrive pas à régler avec les offset.

Merci encore, je m'y replonge en espérant trouver les solutions rapidement.

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/personnalisation-des-accords-tp7584175p7584178.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: legoss <[email-masked]>
Date: Sat, 17 Sep 2016 02:21:50 -0700 (MST)

J'avoue ne pas comprendre ce que tu cherches à faire...
Tu parles pêle-mêle

- de transposition des accords
- de la saisie des extensions des accords dans le code
- de la suppression de la base de l'accord pour ne garder que l'extension
- de la superposition de plusieurs noms d'accords

Pas facile de te donner un coup de main si ta demande est confuse... 

Mais, à te lire et relire, j'ai le sentiment que ce n'est pas à proprement
parler une partition que tu cherches à éditer, mais plutôt un document de
type musicologie avec des éléments empruntés à lilypond.

Dans ce cas, par exemple:

%%%%%%%%%%%
\version "2.18.2"

vara=\markup {\override #'(baseline-skip . 0.7)\fontsize #'4 \super \super
\column{"m""add4"}}
varb=\markup {\override #'(baseline-skip . 0.7)\fontsize #'4 \super \super
\column{"m7""add4"}}
varc=\markup {\override #'(baseline-skip . 0.7)\fontsize #'4 \super \super
\column{"m""add9"}}
bemol=\markup{\raise #0.5 \flat}
diese=\markup{\raise #1  \sharp}

\markup {
  \column {
    \line {
      \wordwrap {
        Ce n'est pas évident de créer certaines extensions d'accords, comme,
par exemple \vara, \varb ou \varc.
        Mais, quand on les a obtenues, on en fait des variables qu'on insère
dans du texte,
        comme sur la ligne précédente, ou qu'on met sur des lignes, espacées
ou non:
      }
    }
    \vspace #1
    \line {\vara: bla bla bla}
    \line {\varb: blu blu blu}
    \vspace #5
    \line {\varc: bli bli bli}
    \vspace #1
    \line {Le dièse \diese ... }
    \line {Le bémol \bemol ... }
    \line {
      \wordwrap {
        L'accord de \concat{C\diese\varb} fait aboyer le chien. Mais
l'accord de \concat{B\bemol\vara} fait dresser les poils du chat.
        Moralité, la musique adoucit les mœurs.
      }
    }
  }
}
%%%%%%%%%%%

Ceci dit, selon ce que tu recherches, il existe  des outils plus adaptés
<http://lilypond.org/doc/v2.19/Documentation/usage/an-example-of-a-musicological-document.fr.html> 
.

-----
Il faut se méfier d'un respect scrupuleux des nuances: pour certains, pppp signifie "pleins poumons et pas en place", et ff "faux et fort".

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/personnalisation-des-accords-tp7584175p7584179.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: budilyss <[email-masked]>
Date: Sat, 17 Sep 2016 08:44:18 -0700 (MST)

Désolé legoss c'est vrai que j'expose tous les problèmes auxquels je suis
confronté dans un même post il en résulte un vilain fouillis je l'avoue ...

Mais tu as réussi à isoler mes questionnements chaotiques de mon expression
non moins chaotique:

1- la transposition des accords
2- la saisie des extensions des accords dans le code
3- la suppression de la base de l'accord pour ne garder que l'extension
4- la superposition de plusieurs noms d'accords

-1 et -2 on peut passer car j'ai obtenu un résultat qui me convient à défaut
d'élégance dans le code.

-3 : oui ça j'aimerais savoir comment faire!
par exemple j'aimerais que mon accord s'appelle simplement "Quartes" sans
que s'affiche la base de l'accord.

-4 : je crains que ça sera le sujet d'un autre post... en effet je me
retrouve avec des problèmes de positionnement (mais pas beaucoup) lorsque je
superpose des accords.
Et ces problèmes viennent du fait que je n'écris pas une partition à
proprement parler , mais plutôt des 'cellules' de mini portées ayant chacune
leurs accords correspondant, suivant un modèle déniché sur ce même forum:
http://lists.gnu.org/archive/html/lilypond-user/2011-06/msg00299.html .

Voilà, concentrons sur le point 3 si tu le veux bien :).
Je suppose que ça a quelque chose à voir avec le 'chordRootNamer' mais je
n'arrive pas y accéder. (dans quel contexte? ChordName? ChordNames? l'auto
complétion de Frescobaldi ne me le propose pas en tout cas).

dans ma redéfinition d'accords j'aimerais mettre:

chExceptionMusic = {
<c f bes dis>1-\markup {"Quartes"}
}
chExceptions = #( append
   ( sequential-music-to-chord-exceptions chExceptionMusic #t)
   ignatzekExceptions)

puis pour l'appeler dans le code source si je veux l'afficher:
\new ChordNames {

<c f bes dis>1                         % m'affichera "Quartes" (sans le 'C')
\transpose c e <c f bes dis>1    % m'affichera aussi "Quartes" (sans le 'E')
}

J'espère avoir été plus clair et j'essaierai d'être plus concis à l'avenir
promis!
Merci !

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/personnalisation-des-accords-tp7584175p7584180.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: legoss <[email-masked]>
Date: Sat, 17 Sep 2016 10:07:07 -0700 (MST)

Tu peux nous donner un exemple? pour voir à partir de quoi tu pars. Ça nous
aiderait.

-----

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/personnalisation-des-accords-tp7584175p7584181.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: budilyss <[email-masked]>
Date: Sun, 18 Sep 2016 12:02:08 -0700 (MST)

oui bien sûr , voici , en rouge mon problème : je voudrais obtenir "blabla"
et non "Ablabla" , c'est à dire enlever la note de base de l'accord.

=================DEBUT CODE==========================

\version "2.18.2"
% on redefinit les accords
chExceptionMusic = {
<c e g>1-\markup {"blabla"}

<c e gis>1-\markup {\raise #-1 \super{\fontsize #-2 {\raise #0.5 \sharp 5}}}

<c e ges>1-\markup {\raise #-1 \super{\fontsize #-2 {\raise #0.5 \flat 5}}}

<c e g d'>1-\markup {9} %pb
}

chExceptions = #( append

\score {
      \new StaffGroup <<
        \override StaffGroup.SystemStartBracket.transparent = ##t

        % on imprime les accords 
\new ChordNames {
             
              \set chordNameExceptions = #chExceptions
              \override ChordName.color = #(x11-color "DarkRed")
\transpose c a <c e g>4
\override ChordName.color = #(x11-color "Black")
\transpose c c <c e ges>4
\transpose c e <c e gis>4
\transpose c des <c e g d'>4
}

        % et la les notes

        \new Staff \relative c' { 
          
                                               \override Staff.TimeSignature
#'stencil = ##f 
                                               \override Stem #'transparent
= ##t
                                               
                                               \clef "treble"
                                  \override NoteHead.color = #(x11-color
"DarkRed")
                                  \transpose c a'<c e g>4
                                  \override NoteHead.color = #(x11-color
"Black")
                                  \transpose c c' <c e ges>
                                  \transpose c e' <c e gis>
                                  \transpose c des' <c e g d'>

        }

    }

=================FIN CODE==========================

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/personnalisation-des-accords-tp7584175p7584182.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: legoss <[email-masked]>
Date: Sun, 18 Sep 2016 23:22:25 -0700 (MST)

Regarde  ici <http://lsr.di.unimi.it/LSR/Item?id=309>  .
Plus généralement, si tu cherches à créer des choses spécifiques, rends-toi
sur  The LilyPond Snippet Repository <http://lsr.di.unimi.it/LSR/>  .
Tu y trouveras pas d'astuces.

-----

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/personnalisation-des-accords-tp7584175p7584183.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.