3 % this document should be run through the mudela-book script after lilypond
4 % has been installed. The rules have been precooked into the
5 % Documentation/Rules.make file; do
7 % make out/introduction.dvi
11 % mudela-book --outdir=out/ --outname=introduction.mudtex introduction.doc
12 % latex '\nonstopmode \input out/introduction.mudtex'
15 \documentclass{article}
17 \title{Introduction to GNU LilyPond}
18 \author{Jan Nieuwenhuizen}
21 % ugh: trick to get examples not generate par
23 \def\mudelapaperlinewidth{-28.452756}%
24 \def\mudelapaperindent{28.452756}%
25 \def\mudelapaperrulethickness{0.400000}%
26 \def\mudelapaperbarsize{16.000000}%
27 \def\mudelapaperinterline{4.000000}%
28 \def\mudelapapernotewidth{5.930000}%
29 \def\mudelapaperwholewidth{8.640000}%
30 \def\mudelapaperunitspace{22.000000}%
31 \def\mudelapaperbasicspace{4.000000}%
32 \def\mudelapapergeometric{0.000000}%
33 \def\mudelapaperarithmetic_basicspace{2.000000}%
34 \def\mudelapaperarithmetic_multiplier{4.800000}%
35 \def\mudelapaperinterbeam{3.140000}%
36 \def\mudelapapergourlay_energybound{100000.000000}%
37 \def\mudelapapergourlay_maxmeasures{14.000000}%
39 % ful of pars, needs the above
43 \def\musixsixteendefs{}
46 \def\turnOnPostScript{}
52 \def\interexample{\hskip15mm$\Longrightarrow$\hskip15mm}
54 \def\postexample{\par\medskip}
57 % \def\frag{\vbox to 2\mudelapaperbarsize pt{\vss}
58 % \def\interexample{\vss}\hskip15mm$\Longrightarrow$\hskip15mm}
59 % \def\preexample{\vbox to 2\mudelabarsize pt{\vss}
60 % \def\postexample{\vss}\par\medskip}
62 \def\file#1{{\texttt{#1}}}
63 \setcounter{secnumdepth}{-1}
65 \emph{\Large ***Under construction***}
67 \section{Introduction}
68 This document should provide a gentle introduction to
69 LilyPond's input language, Mudela.
70 For completeness and nifty features see
73 \verb+lily/parser.y, lily/lexer.l+.
76 \section{Notes: pitches and durations}
78 \begin[fragment,verbatim]{mudela}
82 \begin[fragment,verbatim]{mudela}
86 Durations are entered as reciproce values
87 \begin[fragment,verbatim]{mudela}
90 and default to the last previously used duration.
92 Now we can write a little tune
93 \begin[fragment,verbatim]{mudela}
94 c d e c | c d e c | e f g2 | e4 f g2
96 note the explicit duration change for
97 the quarter e in the last measure.
99 Same for notes with flags
100 \begin[fragment,verbatim]{mudela}
104 \begin[fragment,verbatim]{mudela}
108 \begin[fragment,verbatim]{mudela}
112 \section{Slurs and Ties}
114 A tie connects two adjacent noteheads
116 \begin[fragment,verbatim]{mudela}
120 Whereas a slur rather connects `chords',
121 and tries to avoid crossing stems.
123 \begin[fragment,verbatim]{mudela}
127 A (legato) slur can span several notes
128 \begin[fragment,verbatim]{mudela}
132 \section{Beams and plets}
134 \begin[fragment,verbatim]{mudela}
139 \begin[fragment,verbatim]{mudela}
143 \begin[fragment,verbatim]{mudela}
149 \begin[fragment,verbatim]{mudela}
153 \begin[fragment,verbatim]{mudela}
157 \begin[fragment,verbatim]{mudela}
159 'g 'a 'b cis d e fis g'
164 A Mudela file needs some red tape
166 \begin[verbatim]{mudela}
177 % this nesting syntax sucks
178 \begin[verbatim]{mudela}
181 \melodic \type Staff = bla < \melodic{\octave c'; c d e c} >
183 % \lyric \type Lyrics = bli < \lyric{Fre- re Ja- que} >