Guide d’extension#

Ce guide a pour but de couvrir toutes les techniques importantes pour écrire des extensions à LilyPond. Comme vous le verrez, comprendre ces techniques revient souvent à comprendre le fonctionnement interne de LilyPond.

Il existe également un manuel d’extension officiel. Malheureusement, ce manuel est loin d’être complet. Le présent guide sert de substitut à toutes les parties qui n’ont pas été écrites.

Voici la structure générale de ce document :

  • Tout d’abord, une partie qui détaille toutes les étapes de la compilation d’un fichier LilyPond, et donne un avant-goût des outils les plus fondamentaux sur des exemples ;

  • Puis un focus sur la manière dont Scheme et LilyPond interagissent, et notamment les différentes manières d’insérer du code Scheme dans LilyPond ;

  • Des explications sur les expressions musicales, et comment les créer ou les transformer ;

  • Un saut dans le temps par rapport à l’ordre des étapes dans la compilation, pour s’intéresser au moteur de rendu de LilyPond ;

  • Pour finir, un retour en arrière vers l’étape de la traduction, qui fait le lien entre les expressions musicales et le moteur de rendu ; cette partie réutilise donc les notions des deux parties précédentes.