lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tête de note pleine


From: Pierre Perol-Schneider
Subject: Re: Tête de note pleine
Date: Wed, 7 Sep 2016 09:47:22 +0200

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 <address@hidden> a écrit :

Bonjour Pierre, bonjour à tous,

 

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

 

 

 

> Message du 16/08/16 19:56
> De : "Pierre Perol-Schneider" <address@hiddencom>
> A : "Remy CLAVERIE" <address@hidden>
> Copie à : "Jean-Jacques Gerbaud" <address@hidden>, "lilypond-user-fr" <address@hidden>
> 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 <address@hidden> 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" <address@hidden>
> > A : address@hidden
> > 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
> > address@hidden
> > https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
> >

> _______________________________________________
> liste de diffusion lilypond-user-fr
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>
>

>

Attachment: remy-X-extent.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]