[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: inclure un nouveau fichier .scm
From: |
Philippe Hezaine |
Subject: |
Re: inclure un nouveau fichier .scm |
Date: |
Sat, 13 Feb 2010 18:03:47 +0100 |
User-agent: |
Thunderbird 2.0.0.23 (X11/20100124) |
Nicolas Sceaux a écrit :
Il est tout à fait possible de charger un fichier .scm sans avoir à
modifier les fichiers originaux. Mais il faut faire attention à quel
est le module guile courant dans ce fichier.
A priori, le module courant dans le fichier scm/midi.scm original est
le module (lily). Il faut donc dans ton propre fichier midi.scm se
positionner dans ce module, avec :
(define-module (lily))
Alors, tu peux mettre les définitions de fonctions que tu as modifiées
(inutile de répéter les fonctions inchangées). Un fichier est chargé
par exemple avec la fonction load-from-path, éventuellement il faut
ajouter le répertoire qui le contient dans la variable %load-path. Voir
<http://www.gnu.org/software/guile/manual/html_node/Loading.html>
Une autre posibilité est de mettre tes modifications dans un fichier
midi.ly, alors \include "midi.ly" peut être plus pratique que
load-from-path.
Nicolas
Hi Nicolas,
Je n'ai ni compris ni trouvé comment me servir de load-from-path.
Par contre avec un \include j'ai eu une totale réussite jusqu'à ce
que je décommente:
#(set-global-staff-size 16) % Pour changer la taille des portées.
dans mon fichier .ly à compiler.
Alors la console affiche: (GNU LilyPond 2.12.2)
/MA-BASE/MY-SONG.ly:28:2: Erreur : GUILE a signalé une erreur pour
l'expression débutant ici
#
(set-global-staff-size 16) % Pour changer la taille des portées.
Wrong type argument in position 1 (expecting Lily_parser): #f
Je joins le midi-scm.ly à inclure. Il est plus que fortement probable
qu'il y ait une erreur quelque part vu mes compétences en Scheme.
Ce qui m'étonne encore plus c'est que j'ai
#(ly:set-option 'delete-intermediate-files #t)
qui ne bronche pas quant à lui.
Amicalement.
--
Phil.
%;;;; midi.scm -- scm midi variables and functions
%;;;;
%;;;; source file of the GNU LilyPond music typesetter
%;;;;
%;;;; (c) 2000--2007 Jan Nieuwenhuizen <address@hidden>
%;;;;;;;;;;;;;;;;;;
%;;; TODO:
%;; this is broken: we should not ever export variables from Scheme.
%;; define factor of total volume per dynamic marking
#(define-module (lily))
#(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))
))
#(define-public (default-dynamic-absolute-volume s)
(let ((entry (assoc s absolute-volume-alist)))
(if entry
(cdr entry))))