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: Tue, 16 Aug 2016 19:55:59 +0200

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]