Extending LilyPond¶
This is a work-in-progress resource on extending LilyPond in Scheme.
Maybe something for the official documentation can come out of it eventually.
This document assumes prior knowledge of the Scheme language itself. A good, albeit to this day incomplete, introduction to Scheme in the context of LilyPond is found on Urs Liska’s website. For French-speaking readers, there is another one in French (by myself).
If you find any inaccuracies in this document or want to suggest an improvement, drop me an email.
License: Creative Commons CC0.
Contents:
- Introduction to extending
- LilyPond and Scheme
- Music objects
- The translation process
- Overview
- Grob basics
- Contexts
- Useful translation hooks
- Writing an engraver
- Backend programming
- Adding properties and types