]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/hacking.texi
63583e91347212c9da868ea533395e365cba3919
[lilypond.git] / Documentation / hacking.texi
1 \input texinfo @c -*-texinfo-*-
2 @setfilename internals.info
3 @settitle LilyPond internals
4
5
6 @node Top, , (dir), (dir)
7 @top
8
9
10
11 @chapter Getting involved
12
13 Please help us make LilyPond a better program. You can help LilyPond in
14 several ways. Not all tasks requiring programming or understanding the
15 full source code.  You can write to the mailing list
16 (@email{gnu-music-discuss@@gnu.org} for more information)
17
18 @unnumberedsubsec Users
19
20 Mutopia needs your help. The mutopia project is a collection of public
21 domain sheet music. You can help the project by entering music (either
22 by hand, or by converting from scans or MIDI) and submitting it. Point
23 your browser to the @uref{http://sca.uwaterloo.ca/Mutopia, Mutopia
24 webpage}.
25
26 @unnumberedsubsec Font designers
27
28 Our set of glyphs (the Feta font) is far from complete.  We need the
29 following glyphs: segno, coda.  The fonts have been coded in MetaFont,
30 so you will need to know MetaFont if you want to contribute a glyph.
31
32 @unnumberedsubsec Writers
33
34 The documentation of LilyPond and related utilities needs a lot of
35 work. The documentation is written in
36 @uref{http://www.gnu.org/software/texinfo,texinfo}. The documentation of
37 LilyPond is sorely lacking in terms of completeness, depth and
38 organisation.
39
40 Write if you know how to write english documentation in texinfo, and
41 know about music and music notation.  You must also know how to use
42 LilyPond (or be prepared to learn using it).  The task is not especially
43 hard, but it is a lot of work, and you must be familiar with LilyPond.
44
45 @unnumberedsubsec Translators
46
47 LilyPond is completely ready for internationalized messages, but there
48 are only a few translations so far (dutch, italian, german, japanese,
49 french, russian).  Translation involves writing a .po file, which is
50 relatively easy, and does not even require running LilyPond.
51
52 @unnumberedsubsec Hackers
53
54 There are lots of possibilities of improving the program itself. There
55 are both small projects and big ones. Most of them are listed in our
56 TODO file, listed on the homepage of Jan and
57 @uref{http://www.cs.uu.nl/~hanwen/lily-devel,Han-Wen}.  Modifying
58 LilyPond almost always requires patches to the C++ part.
59
60 There are also numerous other interesting projects that are more or less
61 related  to LilyPond
62
63 @itemize @bullet
64 @item Writing convertors, eg. from NIFF and MIDI (we tried writing one with
65 limited success: midi2ly, included with lilypond.)
66
67 We found that writing them in Python is the easiest.
68
69 @item Writing a GUI frontend to
70 LilyPond. At the moment @uref{denemo,denemo.sourceforge.net} is the most
71 advanced.
72
73 @item Helping write @uref{ http://solfege.sourceforge.net/,solfege
74 tools}
75
76 @item Helping @uref{primrose.sourceforge.net,primrose}, a tool for
77 scanning sheet music.
78 @end itemize
79
80
81 @chapter LilyPond internals
82