[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: inclure un nouveau fichier .scm
From: |
Nicolas Sceaux |
Subject: |
Re: inclure un nouveau fichier .scm |
Date: |
Sun, 14 Feb 2010 11:07:59 +0100 |
Le 13 févr. 2010 à 18:03, Philippe Hezaine a écrit :
> #(define-public absolute-volume-alist '(
> (set! absolute-volume-alist
> (append
> '(
> ("sf" . 1.00)
> ("fffff" . 0.95)
> ("ffff" . 0.91)
> ("fff" . 0.83)
> ("ff" . 0.75)
> ("f" . 0.67)
> ("mf" . 0.60)
> ("mp" . 0.53)
> ("p" . 0.46)
> ("pp" . 0.39)
> ("ppp" . 0.32)
> ("pppp" . 0.25)
> ("ppppp" . 0.12)
> )
> absolute-volume-alist))
> ))
Ah, s'il s'agit simplement de changer les volumes associés aux
indications de nuance, alors il y a plus simple : il suffit de
modifier la variable dynamicAbsoluteVolumeFunction dans le
context Score. Cette variable donne la fonction qui calcule le
volume.
%% Note : je n'ai pas testé si les volumes sont corrects dans le
%% fichier midi produit :
#(define my-dynamic-absolute-volume
(let ((absolute-volume-alist '(("sf" . 1.00)
("fffff" . 0.95)
("ffff" . 0.91)
("fff" . 0.83)
("ff" . 0.75)
("f" . 0.67)
("mf" . 0.60)
("mp" . 0.53)
("p" . 0.46)
("pp" . 0.39)
("ppp" . 0.32)
("pppp" . 0.25)
("ppppp" . 0.12))))
(lambda (s)
(let ((entry (assoc s absolute-volume-alist)))
(if entry
(cdr entry))))))
\layout {
\context {
\Score
dynamicAbsoluteVolumeFunction = #my-dynamic-absolute-volume
}
}
\score {
{ c' \f d' \mp e' \pp }
\layout {}
\midi {}
}