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

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

Re: crochet de prise main gauche


From: Jacques Menu
Subject: Re: crochet de prise main gauche
Date: Tue, 6 Apr 2021 16:43:13 +0200

hook une variable contenant un (let …), qui retourne comme valeur la dernière 
valeur entre parenthèses, qui est ici 

   (define-event-function (direction on-line len)
     (direction? boolean? number?)

qui définit une fonction avec les trois paramètres direction (une direction), 
on-line (un booléen) et len (un nombre).

Donc hook a cette fonction comme valeur. C’est le côté « les fonctions sont des 
valeurs qu’on peut stocker dans des variables et retourner comme valeur de 
fonctions de Scheme », ce qu’on dit autrement par « les fonctions sont des 
citoyens de première classe » (firsts class citizens en anglais), comme le sont 
les entiers et les chaînes de caractères. C’est une caractéristique des 
langages dit fonctionnels, dont Scheme fait partie.


Lors de l’appel à cette fonction dans :

        \hook #DOWN ##f 2

direction reçoit la valeur #DOWN,
on-line reçoit la valeur #f, donc faux
et len reçoit la valeur 2, qui est la longueur de la partie verticale du 
crochet.


Les accords ne contiennent qu’une note, j’avais laissé ça quand j’ai mis de 
côté cet exemple de la liste anglophone.

hook fonctionne aussi sans ça bien sûr, comme tu peux le voir avec :

{
  <c''-\hook #DOWN ##f 2>4 <d''-\hook #UP ##t 6>

  c''-\hook #DOWN ##f 2 4 d''-\hook #UP ##t 6

  c''-\hook #DOWN ##f 2

  d''-\hook #UP ##t 6
}

JM

> Le 6 avr. 2021 à 15:19, Moebius <moebius1@free.fr> a écrit :
> 
> Merci beaucoup, rapide !
> Par contre, je n'ai pas tout compris : pour quelle raison est-ce parfois sous 
> forme d'accords, parfois non ?
> Je ne voudrais pas abuser mais quelle est la syntaxe exacte ? J'ai du mal à 
> le déterminer...
> cordialement,
> 
> 
> Le 06/04/2021 à 14:16, Jacques Menu a écrit :
>> Bonjour Moebius,
>> 
>> Si ton outil de courriel le permet, il est plus simple de copier/coller le 
>> fichier PNG dans le message.
>> 
>> Est-ce que cet exemple peut t’aider?
>> 
>> 
>> \version "2.19.80"
>> 
>> hook =
>> #(let (
>>         (direction? (lambda (n) (= 1 (abs n))))
>>         )
>> 
>>    (define-event-function (direction on-line len)
>>      (direction? boolean? number?)
>>      (let* (
>>              (self-al (if on-line 0.6 0.31))
>>              (self-al (if (= direction 1) (- self-al) self-al))
>>              (hook-markup
>>               #{
>>                 \markup \path #0.175 #`((moveto 0 0)
>>                                         (rlineto -0.85 0)
>>                                         (rlineto 0 ,len))
>>               #}
>>               )
>>              )
>>        #{
>>          \tweak self-alignment-Y $self-al
>>          \tweak extra-spacing-width #'(-.5 . 0)
>>          \finger \markup \scale #(cons 1 direction) #hook-markup
>>        #}
>>        )
>>      )
>>    )
>> 
>> 
>> \layout {
>>   \context {
>>     \Voice
>>     fingeringOrientations = #'(left)
>>   }
>> }
>> 
>> {
>>   <c''-\hook #DOWN ##f 2>4 <d''-\hook #UP ##t 6>
>> 
>>   c''-\hook #DOWN ##f 2 4 d''-\hook #UP ##t 6
>> }
>> 
>> 
>> 
>> 
>>> Le 6 avr. 2021 à 13:53, Moebius <moebius1@free.fr> a écrit :
>>> 
>>> Bonjour tout le monde,
>>> Pour l'écriture de piano, je cherche un moyen pour indiquer , avec un petit 
>>> crochet, que des notes d'une portée doivent être jouées avec la main de 
>>> l'autre portée, comme ici :
>>> http://dl.free.fr/s3wUDnZwf
>>> Mais je n'ai rien trouvé....
>>> 
>>> cordialement,
>>> 
>>> 
> 
> 




reply via email to

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