Précédent : Options ralentissant le traitement, Haut : Autres retouches


4.7.5 Retouches avancées avec Scheme

Nous avons déjà vu comment le résultat obtenu avec LilyPond peut être largement personnalisé à l'aide de commandes comme \override TextScript #'extra-offset = ( 1 . -1). Cependant, l'utilisation de Scheme ouvre des possibilités encore plus grandes. Pour des explications complètes là-dessus, consultez le Tutoriel Scheme et les Interfaces pour les programmeurs.

On peut utiliser Scheme simplement à l'aide des commandes \override.

     
     decallageTexte = #(define-music-function (parser location padding) (number?)
     #{
       \once \override TextScript #'padding = #$padding
     #})
     
     \relative c''' {
       c4^"piu mosso" b a b
       \decallageTexte #1.8
       c4^"piu mosso" d e f
       \decallageTexte #2.6
       c4^"piu mosso" fis a g
     }

[image of music]

On peut s'en servir pour créer de nouvelles commandes :

     
     tempoMarque = #(define-music-function (parser location padding marktext)
                                         (number? string?)
     #{
       \once \override Score . RehearsalMark #'padding = $padding
       \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
       \mark \markup { \bold $marktext }
     #})
     
     \relative c'' {
       c2 e
       \tempoMarque #3.0 #"Allegro"
       g c
     }

[image of music]

On peut même y inclure des expressions musicales :

     
     motif = #(define-music-function (parser location x y) (ly:music? ly:music?)
     #{
       $x e8 a b $y b a e
     #})
     
     \relative c''{
       \motif c8 c8\f
       \motif {d16 dis} { ais16-> b\p }
     }

[image of music]

Cette page documente LilyPond-2.11.58 (branche de développement).

Rapportez toute anomalie en français à lilypond-user-fr@gnu.org ou en anglais à http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs

Vos suggestions à propos de la documentation sont les bienvenues.

Autres langues : English, español, deutsch.