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

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

Re: \override StrokeFinger


From: Daniel Cartron
Subject: Re: \override StrokeFinger
Date: Wed, 22 May 2013 06:52:34 +0200
User-agent: KMail/4.10.2 (Linux/3.8.0-21-generic; KDE/4.10.2; x86_64; ; )

Le mardi 21 mai 2013 13:05:30 elmamyra a écrit :
> Voici comment est défini stroke-finger::calc-text (Ça se trouve dans le
> fichier output-lib.scm):
> 
> (define-public (stroke-finger::calc-text grob)
>   (let ((event (event-cause grob)))
>     (or (ly:event-property event 'text #f)
>       (vector-ref (ly:grob-property grob 'digit-names)
>                   (1- (max 1
>                              (min 5 (ly:event-property event 'digit))))))))
> 
> Ça paraît compliqué à première vu, mais cette procédure retourne le texte du
> doigté si il existe déjà ou le texte du doigté en fonction du numéro du
> doigt. Ceci grâce à "digit-names" qui est un vector: #(p i m a x). Le min,
> max et "1-" serve à s'assurer que le numéro soit bien compris entre 0 et 4
> étant donné qu'il y a seulement 5 doigtés dans le vector.
> Bon en me relisant je m’aperçois que ce n'est pas si simple.

Je te rassure tout de suite, je n'ai strictement rien compris ;-)

> Si tu veux t'inspirer de cette procédure pour souligner les doigtés il
> suffit d'utiliser "markup #:underline", comme dans mon exemple précédent:
> 
> #(define (my-stroke-finger::calc-text grob)
>   (let ((event (event-cause grob)))
>     (markup #:underline (or (ly:event-property event 'text #f)
>       (vector-ref (ly:grob-property grob 'digit-names)
>                   (1- (max 1
>                              (min 5 (ly:event-property event 'digit)))))))))
> 
> et dans ton score:
> \override StrokeFinger #'text = #my-stroke-finger::calc-text

ha dommage ça marche pas :

In procedure ly:event-property in expression (ly:event-property event (quote 
text) ...):

: Wrong number of arguments to #<primitive-procedure ly:event-property>


-- 
Cordialement, Daniel Cartron
« Dans la marine on ne fait pas grand-chose mais on le fait de bonne heure. »
Devise Shadock




reply via email to

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