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

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

Re: Dessiner la ronde comme une tête de blanche


From: Olivier Miakinen
Subject: Re: Dessiner la ronde comme une tête de blanche
Date: Thu, 13 Oct 2016 22:35:39 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Thunderbird/45.3.0

Le 13/10/2016 10:21, Pierre Perol-Schneider m'a répondu :
> Un premier essai :

Essai transformé. :-)

> [...]
> 
>     %% Changer les rondes :
>     \override NoteHead.stencil =
>       #(lambda (grob)
>          (let ((duration (ly:grob-property grob 'duration-log)))
>            (case duration
>              ((0) (grob-interpret-markup grob (markup #:musicglyph
>                                                 "noteheads.s1")))
>              (else (ly:note-head::print grob)))))
>     \override Rest.stencil =
>       #(lambda (grob)
>          (let ((duration (ly:grob-property grob 'duration-log)))
>            (case duration
>              ((0)(ly:stencil-scale (ly:rest::print grob) 0.8 1)) ;; <= 
> réduction à 80%
>              ((1)(ly:stencil-scale (ly:rest::print grob) 0.8 1)) ;; <= 
> réduction à 80%
>              (else (ly:rest::print grob)))))
> 
> [...]

Tu es génial. Du coup, j'ai joué à l'apprenti sorcier en mélangeant les
deux pour réduire à 90 % la largeur des notes carrées :

    \override NoteHead.stencil =
      #(lambda (grob)
         (let ((duration (ly:grob-property grob 'duration-log)))
           (case duration
             ((0) (grob-interpret-markup grob (markup #:musicglyph
                                                "noteheads.s1")))
             ((-1)(ly:stencil-scale (ly:note-head::print grob) 0.9 1))
             (else (ly:note-head::print grob)))))

Et ça marche !

(bon, on ne dira pas qu'au début je me suis planté en laissant
ly:rest::print au lieu de ly:note-head::print... LilyPond a mouliné
pendant un long moment avant de s'arrêter avec un message d'erreur)

Sinon, comment dire... eh bien encore merci Pierre !



reply via email to

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