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: Remy CLAVERIE
Subject: Re: Tête de note pleine
Date: Wed, 17 Aug 2016 06:02:05 +0200 (CEST)

Bonjour Pierre,

 

Merci d'avoir compléter le code par des commentaires. Cela permet de comprendre un peu mieux ce que tu as fait.

On se rend aussi compte de la difficulté de programmer / modifier des variables et des fonctions de Lilypond.

 

Cela me fait penser à Tex, qui était aussi un peu abscons et que LaTex a rendu plus compréhensible.

 

Encore merci,

 

Bonne journée,

 

Rémy

 

 

> Message du 16/08/16 19:56
> De : "Pierre Perol-Schneider" <address@hidden>
> 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
>
>

>

reply via email to

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