\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
@ignore
    Translation of GIT committish: FILL-IN-HEAD-COMMITTISH

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
    Guide, node Updating translation committishes..
@end ignore

@settitle Extending LilyPond
@documentencoding UTF-8
@documentlanguage en
@afourpaper

@macro manualIntro
This file explains how to extend the functionality of
LilyPond version @version{}.
@end macro

@c 'Extending' was born 2004-03-07 with this commit:
@c * Documentation/user/changing-defaults.itely (Changing defaults):
@c author: Han-Wen Nienhuys
@c commit: c53d0cabdf9361e448cdd02a338aa5d696f4f466
@c   file: Documentation/user/programming-interface.itely

@macro copyrightDeclare
Copyright @copyright{} 2004--2026 by the authors.
@end macro

@dircategory LilyPond -- the music typesetter
@direntry
* Extending: (lilypond-extending).      How to use Scheme in LilyPond.
@end direntry

@set FDL
@include en/macros.itexi


@lilyTitlePage{Extending}


@c TOC -- non-tex
@ifnottex

@menu
* Scheme tutorial::                Programming inside LilyPond.
* Interfaces for programmers::     How to interface with Scheme.
* LilyPond Scheme interfaces::     Getting information in and out of music

Appendices

* GNU Free Documentation License:: License of this document.
* Index of commands and concepts::
@end menu

@docMain
@end ifnottex


@contents

@include en/extending/scheme-tutorial.itely
@include en/extending/programming-interface.itely

@include en/fdl.itexi

@node Index of commands and concepts
@appendix Index

@printindex cp

@bye
