[ << Retouche de partition ] | [Racine][Table des matières][Index] | [ Modèles >> ] |
[ < Utilisation de variables dans les retouches ] | [Plus haut: Autres retouches ] | [ Autres sources de documentation > ] |
5.7.3 Feuilles de style
La sortie que produit LilyPond peut être largement modifiée – voir Retouche de partition pour plus de détails. Mais que faire si vous avez beaucoup de fichiers auxquels vous souhaitez appliquer vos retouches ? Ou si vous souhaitez simplement séparer les retouches de la musique elle-même ? Rien de plus facile.
Prenons un exemple. Ne vous inquiétez pas si vous ne comprenez pas
les parties avec tous les #()
. Celles-ci sont expliquées dans
Retouches avancées avec Scheme.
mpdolce = \tweak self-alignment-X #-0.6 #(make-dynamic-script #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function (string) (string?) #{ <>^\markup \bold \box #string #}) \relative { \tempo 4=50 a'4.\mpdolce d8 cis4--\glissando a | b4 bes a2 | \inst "Clarinet" cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2 | }
On peut faire quelque chose pour les définitions de mpdolce
et inst
. Elles produisent le résultat que nous désirons,
mais nous pourrions aussi vouloir les utiliser dans une autre pièce.
Il suffirait de les copier et coller au début de chaque
fichier, mais c’est fastidieux. De plus, cela laisse les définitions
dans nos fichiers de musique, et je trouve personnellement tous ces
#()
assez laids. Stockons-les dans un autre fichier :
%%% enregistrez ceci dans un fichier nommé "definitions.ily" mpdolce = \tweak self-alignment-X #-0.6 #(make-dynamic-script #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function (string) (string?) #{ <>^\markup \bold \box #string #})
Nous rappellerons ce fichier par une simple commande \include
au
début de notre fichier de musique. Lui attribuer l’extension
.ily
nous permet de distinguer aisément qu’il s’agit d’un fichier
voué à être inclus dans un fichier maître ; il n’est pas destiné à
être compilé isolément.
Maintenant, modifions notre musique (enregistrez ce fichier
sous ‘musique.ly’).
\include "definitions.ily" \relative { \tempo 4=50 a'4.\mpdolce d8 cis4--\glissando a | b4 bes a2 | \inst "Clarinet" cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2 | }
C’est mieux, mais effectuons encore quelques retouches. Le glissando est peu visible, c’est pourquoi nous allons l’épaissir et le rapprocher des têtes de note. Déplaçons l’indication métronomique au-dessus de la clef, au lieu de la laisser au-dessus de la première note. Et pour finir, mon professeur de composition déteste les chiffrages de mesure en « C », nous allons donc le transformer en « 4/4 ».
Cependant, ne changez pas le fichier ‘musique.ly’. Remplacez le fichier ‘definitions.ily’ par ceci :
%%% definitions.ily mpdolce = \tweak self-alignment-X #-0.6 #(make-dynamic-script #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function (string) (string?) #{ <>^\markup \bold \box #string #}) \layout{ \context { \Score \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { \Staff \override TimeSignature.style = #'numbered } \context { \Voice \override Glissando.thickness = #3 \override Glissando.gap = #0.1 } }
C’est encore mieux ! Mais supposons maintenant que je veuille publier cette pièce. Mon professeur de composition n’aime pas les chiffrages de mesure en « C », mais moi je les aime bien. Copions l’actuel ‘definitions.ily’ dans le fichier ‘publication-web.ily’, et modifions ce dernier. Puisque la musique est destinée à produire un fichier PDF affiché sur écran, nous allons aussi augmenter la taille globale de police.
%%% web-publish.ily mpdolce = \tweak self-alignment-X #-0.6 #(make-dynamic-script #{ \markup { \dynamic mp \normal-text \italic \bold dolce } #}) inst = #(define-music-function (string) (string?) #{ <>^\markup \bold \box #string #}) #(set-global-staff-size 23) \layout{ \context { \Score \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { \Staff } \context { \Voice \override Glissando.thickness = #3 \override Glissando.gap = #0.1 } }
Il ne nous reste plus qu’à remplacer
\include "definitions.ily"
par
\include "publication-web.ily"
dans notre fichier de
musique.
Il est possible, bien sûr, de rendre cela encore plus pratique. Nous
pourrions créer un fichier ‘definitions.ily’ qui ne contiendrait
que les définitions de mpdolce
et de inst
, un fichier
‘publication-web.ily’ qui ne contiendrait que la section
layout
décrite ci-dessus et un fichier ‘universite.ily’ qui
ne contiendrait que les retouches pour produire le résultat que mon
professeur préfère. Le début du fichier ‘musique.ly’ ressemblerait
alors à
\include "definitions.ily" %%% Décommentez seulement une de ces deux lignes ! \include "publication-web.ily" %\include "universite.ily"
Cette approche peut être utile même si vous ne produisez qu’un seul
jeu de partitions. J’utilise personnellement une demi-douzaine de
fichiers de « feuille de style » pour mes projets. Je commence
chaque fichier de musique par \include "../global.ily"
qui
contient :
%%% global.ily \version "2.24.4" #(ly:set-option 'point-and-click #f) \include "../init/init-defs.ly" \include "../init/init-mise-en-page.ly" \include "../init/init-en-tetes.ly" \include "../init/init-papier.ly"
[ << Retouche de partition ] | [Racine][Table des matières][Index] | [ Modèles >> ] |
[ < Utilisation de variables dans les retouches ] | [Plus haut: Autres retouches ] | [ Autres sources de documentation > ] |