Subject: Re: Tête de note pleine

From: Remy CLAVERIE <[email-masked]>
Date: Sat, 3 Sep 2016 07:55:39 +0200 (CEST)

Bonjour Pierre, bonjour à tous,

Merci pour les commentaires dans le code. C'est bien utile.

J'ai encore une question mais à propos des courbes de Bezier qui sont tracées à partir de la commande 'curveto' : comment faire pour ajuster au mieux les 6 paramètres ? exite t-il un outil graphique externe à Lilypond qui permette de voir en temps réel, les effets de ces paramètres ?

Merci pour tout,

Bon WE,

Rémy

> Message du 16/08/16 19:56
> De : "Pierre Perol-Schneider" 

> A : "Remy CLAVERIE" 
> Copie à : "Jean-Jacques Gerbaud" , "lilypond-user-fr" 

> Objet : Re: Tête de note pleine
> 
>

Bonsoir Rémy,
Ci-dessous la commande 'hemiola détaillée (si ça peut aider...) :
> 
> hemiola =
> #(define-music-function ;; je définis une fonction musicale nommée 'hemiola
>   (parser location musique) 
>   (ly:music?)
>     #{ 
>       \override NoteHead #'stencil = %% <= je propose un nouveau 'stencil pour les têtes de note
>         #(lambda (grob)
>             (let* ((sz (ly:grob-property grob 'font-size 0.0)) 
>                    (mult (magstep sz)) ;; <= je récupère la taille d'origine
>                    (duration (ly:grob-property grob 'duration-log))) ;; <= je récupère la valeur des notes
>                   (case duration
>                     ((1) ;; cas où la valeur est 'blanche
>                      (ly:stencil-scale ;; je réduit éventuellement la taille 
>                        (ly:make-stencil ;; <= je définis un nouveau stencil...
>                         `(path 0.001 ;; ...avec un chemin vectoriel dont l'épaisseur du trait est de 0.001 px (donc sortie svg possible)
>                           `(moveto    0       0 
>                             curveto   0.000  -0.200   0.060   0.210   0.350   0.365
>                             curveto   0.510   0.460   0.700   0.545   1.050   0.545
>                             curveto   1.200   0.545   1.380   0.500   1.380   0.270
>                             curveto   1.380   0.120   1.290  -0.140   1.120  -0.300
>                             curveto   0.870  -0.500   0.520  -0.542   0.320  -0.542
>                             curveto   0.200  -0.542   0.000  -0.530   0.000  -0.250
>                             closepath) 
>                           'round 'round #t) ;; mes fins de lignes sont 'round...
>                         ;; ...(sans intéret ici mais il faut bien mettre quelque chose)...
>                         ;; ... et mon dessin vectoriel est plein (#t)
>                         (cons 0 1.38) ;; je définis une largeur pour le nouveau stencil
>                         (cons 0 .5)) ;; je définis une hauteur pour le nouveau stencil
>                        mult mult)) ;; j'adapte la taille du 'stencil à celle récuprée plus haut
>                     ((0) ;; cas où la valeur est 'ronde
>                      (ly:stencil-scale ;; etc. (idem que pour la blanche)
>                        (ly:make-stencil
>                         `(path 0.001
>                           `(moveto    0       0
>                             curveto   0.000  -0.350   0.549  -0.545   1.000  -0.545
>                             curveto   1.450  -0.545   2.000  -0.340   2.000   0.000
>                             curveto   2.000   0.350   1.470   0.545   1.000   0.545
>                             curveto   0.530   0.545   0.000   0.350   0.000   0.000
>                             closepath) 
>                           'round 'round #t)
>                         (cons 0 2)
>                         (cons 0 .5))
>                        mult mult))
>                     ((-1)  ;; cas où la valeur est 'breve
>                      (ly:stencil-scale ;; etc. (idem que pour la blanche)
>                        (ly:make-stencil
>                         `(path 0.001
>                           `(moveto   0      0
>                             lineto   0.000  0.710
>                             curveto  0.000  0.755  0.035  0.765  0.060  0.765
>                             curveto  0.080  0.765  0.110  0.755  0.110  0.701
>                             curveto  0.110  0.580  0.140  0.542  0.170  0.542
>                             lineto   1.820  0.542
>                             curveto  1.865  0.542  1.890  0.600  1.890  0.701
>                             curveto  1.890  0.755  1.930  0.765  1.940  0.765
>                             curveto  1.960  0.765  2.000  0.755  2.000  0.701
>                             lineto   2.000 -0.701
>                             curveto  2.000 -0.755  1.960 -0.765  1.940 -0.765
>                             curveto  1.930 -0.765  1.890 -0.755  1.890 -0.701
>                             curveto  1.890 -0.600  1.865 -0.542  1.820 -0.542
>                             lineto   0.170 -0.542
>                             curveto  0.140 -0.542  0.110 -0.580  0.110 -0.701
>                             curveto  0.110 -0.755  0.080 -0.765  0.060 -0.765
>                             curveto  0.035 -0.765  0.000 -0.755  0.000 -0.710
>                             closepath)
>                           'round 'round #t)
>                         (cons 0 2)
>                         (cons -0.765 0.765))
>                        mult mult))
>                     (else (ly:note-head::print grob)) ;; pour toute les autres valeurs le 'stencil de la tête de note ne change pas
>                  )))
>         $musique %%% <= l'hémiole concernée
>         \revert NoteHead #'stencil %%% après quoi le stencil des têtes de notes reviennent par défaut
>       #})
> 
>
Cordialement,
Pierre

Le 16 août 2016 à 14:50, Remy CLAVERIE  a écrit :

> Bonjour  Jean-jacques,

> Effectivement, toutes les notes sont pleines sauf qq unes : blanches, rondes, breves, longas et maximas.

> Et même si ces deux dernières sont plutôt rares en musique ancienne, les autres sont très courantes.

> Pierre a proposée une solution hier que je n'ai pas encore eu le temps de comprendre, mais je vous ferai un retour.

> Merci

> Bonne journée,

> Rémy

> Message du 16/08/16 09:58
> > De : "Jean-Jacques Gerbaud" 
> > A : [email-masked]
> > Copie à : 
> > Objet : Re: Tête de note pleine
> > 
> 

> Le 15/08/2016 à 10:58, Remy CLAVERIE a écrit :
> > > Bonjour à tous,
> > >
> > > Je voudrais indiquer une hémiole par des têtes de notes pleines, comme
> > > c'était souvent l'habitude aux 17è et 18è siecles.
> > >
> > > Je ne trouve pas comment faire ; et google non plus :( . Je ne dois pas
> > > utiliser les bons mot-clefs. En plus, il me semble que la question a
> > > déjà été posée sur cette liste...
> > >
> > > L'un de vous pourrait-il me diriger vers le lien ou me guider vers une
> > > solution ?
> > 
> > Je ne comprends pas ce que signifie "tête de note pleine" ! Il me semble 
> > que toutes les tes de notes sont pleines, non ? Sauf, bien sûr, les 
> > blanches et les rondes !
> > 
> > En tout cas, pour ce qui concerne les têtes de notes de Lilypond, ça se 
> > trouve là :
> > > lilyupond.org/doc/v2.19/Documentation/notation/note-heads.fr.html
> > 
> > 
> > -- 
> > JJG
> > 
> > Ecoutez la musique "classique", ça détend et, qui sait, vous pourriez 
> > aimer !
> > http://suisseclassique.radio.fr/
> > découvrez l'histoire de votre famille : http://memoire-des-hommes.fr/
> > 
> > _______________________________________________
> > liste de diffusion lilypond-user-fr
> > [email-masked]
> > https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
> >

> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
> 
>

---

From: Remy CLAVERIE <[email-masked]>
Date: Sat, 3 Sep 2016 09:01:46 +0200 (CEST)

Je me réponds à moi même car même si je n'ai pas trouvé d'outil sous Ubuntu, je viens de tomber là-dessus : https://www.desmos.com/calculator/cahqdxeshd

Rémy

> Message du 03/09/16 08:13
> De : "Remy CLAVERIE" 
> A : "Pierre Perol-Schneider" 

> Copie à : "lilypond-user-fr" 
, "Jean-Jacques Gerbaud" 

Bonsoir Rémy,
Cordialement,
Pierre

Le 16 août 2016 à 14:50, Remy CLAVERIE  a écrit :

---

From: Remy CLAVERIE <[email-masked]>
Date: Wed, 7 Sep 2016 07:39:18 +0200 (CEST)

Je resors ce mail de qq semaines car j'ai un soucis avec les altérations de notes dans la commande \hemiola: elles empiètent sur les breves et les rondes mais pas sur les blanches.

L'un de vous pourrait m'expliquer quel est le principe du placement des altérations ?

Merci

Bonne journée,

Rémy

Bonsoir Rémy,
Cordialement,
Pierre

Le 16 août 2016 à 14:50, Remy CLAVERIE  a écrit :

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Wed, 7 Sep 2016 09:55:32 +0200

Au fait, en attendant, tu peux toujours déplacer la tête de note
ponctuellement :
...
\hemiola {
      \once\override NoteHead #'X-offset = #1.3
      dod1 sol\breve
    }
...

Pierre

Le 7 septembre 2016 à 09:47, Pierre Perol-Schneider <
[email-masked]> a écrit :

> Bonjour Rémy,
> Les altérations sont placés selon le 'X-extent du glyphe (en d'autre
> termes, la place que prend le glyphe sur l'axe des abscisses).
> J'ai fait quelques tests parce que ton problème m'échappe.
> Il se trouve qu'en v2.18, tout se passe bien (voir test joint) mais qu'en
> v2.16 le 'X-extent n'est pas pris en compte.
> J'ai fait une recherche sur la doc 2.16 à propos du 'X-extent et n'ai rien
> trouvé ; la commande existait-elle déjà ? (j'avoue que là ma mémoire me
> fait défaut).
> Je regarderai de manière plus approfondie ce soir mais je pense que passer
> en v2.18 serai bien pratique...
>
> Cordialement,
> Pierre
>
> Le 7 septembre 2016 à 07:39, Remy CLAVERIE <[email-masked]> a
> écrit :
>
>> Je resors ce mail de qq semaines car j'ai un soucis avec les altérations
>> de notes dans la commande \hemiola: elles empiètent sur les breves et les
>> rondes mais pas sur les blanches.
>>
>>
>>
>> > De : "Pierre Perol-Schneider" <[email-masked]>
>> > A : "Remy CLAVERIE" <[email-masked]>
>> > Copie à : "Jean-Jacques Gerbaud" <[email-masked]>,
>> "lilypond-user-fr" <[email-masked]>
>> >                         `(path 0.001 ;; ...avec un chemin vectoriel
>> dont l'épaisseur du trait est de 0.001 px (donc sortie svg possible)
>> >                           `(moveto    0       0
>> >                     (else (ly:note-head::print grob)) ;; pour toute les
>> autres valeurs le 'stencil de la tête de note ne change pas
>> >                  )))
>> Le 16 août 2016 à 14:50, Remy CLAVERIE <[email-masked]> a écrit
>> :
>> >
>>>
>>> > Bonjour  Jean-jacques,
>>>
>>> >
>>>
>>> > Pierre a proposée une solution hier que je n'ai pas encore eu le temps
>>> de comprendre, mais je vous ferai un retour.
>>>
>>> >
>>>
>>> > Merci
>>>
>>> >
>>>
>>> > Bonne journée,
>>>
>>> >
>>>
>>> > Rémy
>>>
>>> >
>>>
>>> >
>>>
>>> >
>>>
>>> >
>>>
>>> >
>>>
>>> > > De : "Jean-Jacques Gerbaud" <[email-masked]>

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Wed, 7 Sep 2016 09:47:22 +0200

Bonjour Rémy,

Cordialement,
Pierre

écrit :

> >                         `(path 0.001 ;; ...avec un chemin vectoriel dont
> l'épaisseur du trait est de 0.001 px (donc sortie svg possible)
> >                           `(moveto    0       0
> Le 16 août 2016 à 14:50, Remy CLAVERIE <[email-masked]> a écrit :
> >
>>
>> > Bonjour  Jean-jacques,
>>
>> >
>>

---

From: Remy CLAVERIE <[email-masked]>
Date: Fri, 9 Sep 2016 07:39:15 +0200 (CEST)

J'aimerai bien passer à la version 2.18 mais c'est un PC du boulot et je suis en ubuntu 12.04 pour qq mois encore... Je vais donc me contenter de ta mathode avec X-offset.

Merci poour tout,

Rémy

 

> Message du 07/09/16 09:55

Pierre

Le 7 septembre 2016 à 09:47, Pierre Perol-Schneider 
a écrit :

Bonjour Rémy,
Les altérations sont placés selon le 'X-extent du glyphe (en d'autre termes, la place que prend le glyphe sur l'axe des abscisses).
Il se trouve qu'en v2.18, tout se passe bien (voir test joint) mais qu'en v2.16 le 'X-extent n'est pas pris en compte.
J'ai fait une recherche sur la doc 2.16 à propos du 'X-extent et n'ai rien trouvé ; la commande existait-elle déjà ? (j'avoue que là ma mémoire me fait défaut).
Je regarderai de manière plus approfondie ce soir mais je pense que passer en v2.18 serai bien pratique...
Cordialement,
Pierre

Le 7 septembre 2016 à 07:39, Remy CLAVERIE  a écrit :

Bonsoir Rémy,
Cordialement,
Pierre

Le 16 août 2016 à 14:50, Remy CLAVERIE  a écrit :

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Fri, 9 Sep 2016 07:55:10 +0200

uninstall-lilypond

puis, après téléchargement de la v2.18 :

sh lilypond-2.18.2....

Pierre

Le 9 septembre 2016 à 07:39, Remy CLAVERIE <[email-masked]> a
écrit :

> J'aimerai bien passer à la version 2.18 mais c'est un PC du boulot et je
> suis en ubuntu 12.04 pour qq mois encore... Je vais donc me contenter de ta
> mathode avec X-offset.
>
> Merci poour tout,
>
>
>
> Rémy
>
>
>
>
>
>
>
>
>
>
>
> > Copie à : "lilypond-user-fr" <[email-masked]>
>
>> J'ai fait une recherche sur la doc 2.16 à propos du 'X-extent et n'ai
>> rien trouvé ; la commande existait-elle déjà ? (j'avoue que là ma mémoire
>> me fait défaut).
>> >
>>> > Je resors ce mail de qq semaines car j'ai un soucis avec les
>>> altérations de notes dans la commande \hemiola: elles empiètent sur les
>>> breves et les rondes mais pas sur les blanches.
>>>
>>> >
>>>
>>> > >                     (else (ly:note-head::print grob)) ;; pour toute
>>> les autres valeurs le 'stencil de la tête de note ne change pas
>>> > >                  )))
>>>> > > Effectivement, toutes les notes sont pleines sauf qq unes :
>>>> blanches, rondes, breves, longas et maximas.
>>>>
>>>> > > Et même si ces deux dernières sont plutôt rares en musique
>>>> ancienne, les autres sont très courantes.
>>>>
>>>> > >
>>>>
>>>> > > Pierre a proposée une solution hier que je n'ai pas encore eu le
>>>> temps de comprendre, mais je vous ferai un retour.
>>>>
>>>> > >
>>>>
>>>> > > Merci
>>>>
>>>> > >
>>>>
>>>> > > Bonne journée,
>>>>
>>>> > >
>>>>
>>>> > > Rémy
>>>>
>>>> > >
>>>>
>>>> > >
>>>>
>>>> > >
>>>>
>>>> > >
>>>>
>>>> > >
>>>>