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

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

Re: Scheme : récupérer des valeurs de propri été


From: Éditions IN NOMINE
Subject: Re: Scheme : récupérer des valeurs de propri été
Date: Thu, 23 Sep 2010 18:12:58 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.8) Gecko/20100802 Lightning/1.0b2 Thunderbird/3.1.2

Merci pour cette réponse qui confirme ce que j'ai glané aujourd'hui dans la doc Notation... Le fait est que j'aimerais savoir où trouver ce type de renseignement... ça doit bien être qque part ! ;-)
Quand tu m'écris : "
Toutes les fonctions de pitch (sauf ly:make-pitch) commence par ly:pitch", en fait, j'aimerais avoir la liste de ces fonctions de pitch, parce que c'est pas évident à inventer! :-P

Bon, ça avance quand-même ! J'en suis donc là de ma fonction :

\version "2.13"

%le pitch est une propriété appartenant au 'NoteEvent, de la forme (ly:make-pitch a b c)
%où a = n° d'octave (zéro pour c'), b = n° du degré (zéro pour le c), c = 1/2 (dièse) ou -1/2 (bémol)
%a=pitch-octave, b=pitch-notename, c=pitch-alteration

ajouteundegre = #(define-music-function
                      (parser location note)(ly:music?)
                      "augmente d'un degré une note en ajoutant 1 au pitch-notename"
                      (let     
                          (
                            (result-note (ly:music-deep-copy note))
                            (p (ly:music-property result-note 'pitch))
                            (o (ly:pitch-octave pitch))
                            (n (ly:pitch-octave pitch))
                            (a (ly:pitch-alteration pitch))
                          )
                          (set! p (ly:make-pitch o (+ 1 n) a))
                          (set! (ly:music-property result-note 'pitch) p)
                          result-note
                          )
                       )
\score{
\ajouteundegre c4
}


J'aurais pu mettre, à la place de la ligne en gras :
(ly:music-set-property! result-note 'pitch p)
ce qui aurait donné la même chose.

Bon d'abord, je reçois un message de Lily, pas content, qui me dit :


"While evaluating arguments to ly:music-property in _expression_ (ly:music-property result-note (quote pitch)): Unbound variable: result-note
interruption avec le code 1.


Je ne comprends pas pourquoi il trouve que ma belle variable locale result-note est unbound ?
Si ça se trouve, c'est une bête histoire de parenthèses : j'ai bcp de mal avec ces bouzins dans tous les sens !

Bonne fin de semaine à toute la troupe !

JMarc

reply via email to

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