]> git.donarmstrong.com Git - lilypond.git/blob - lilyponddefs.tex
release: 0.0.25
[lilypond.git] / lilyponddefs.tex
1 %%
2 %% include file for LilyPond
3
4 \def\mdef#1#2{\def#1{\mchar{#2}}}
5 \def\mchar#1{\musicfnt\char#1}
6 \def\rationalmultiply#1*#2/#3{\multiply #1 by #2 \divide #1 by #3}
7 \def\maccentraise#1#2{\dimen0=\noteheight
8         \rationalmultiply\dimen0*#2%
9         \raise\dimen0\hbox{#1}}
10 \def\maccentdef#1#2#3{\def#1{\maccentraise{\mchar{#2}}{#3}}}
11 \def\vcenter#1{\vbox to 0pt{\vss #1\vss}}
12
13 \def\topalign#1{\vbox to 0pt{#1\vss}}
14 \def\botalign#1{\vbox to 0pt{\vss #1}}
15
16 \def\centeralign#1{\hbox to 0pt{\hss#1\hss}}
17 \def\leftalign#1{\hbox to 0pt{#1\hss}}
18 \def\rightalign#1{\hbox to 0pt{\hss#1}}
19
20
21 %% musix defs
22 \parindent=0pt
23 \newdimen\interlinedist
24         \newcount\n
25         \newdimen\balkhoog
26         \newdimen\notewidth
27         \newdimen\noteheight
28         \newdimen\notewidthhalf
29         \newdimen\notewidthdouble
30         \newdimen\staffrulethickness
31         \newdimen\interstaffrule
32 \newdimen\balkhalf
33 \def\musixtwentydefs{
34         \font\textfont=cmr10
35         \font\meterfont=cmbx12
36         \font\slurufont=xslu20
37         \font\slurdfont=xsld20
38         \font\slurhfont=xslz20
39         \font\hslurufont=xslhu20
40         \font\hslurdfont=xslhd20
41         \font\hslurhfont=xslhz20
42         \font\musicfnt=musix20
43         \font\italicfont=cmti10
44         \balkhoog=20pt
45         \notewidth=6pt
46         \noteheight=5pt
47         \staffrulethickness=0.4pt
48         \musixcalc
49 }
50
51
52 \def\musixsixteendefs{
53         \font\textfont=cmr8
54         \font\meterfont=cmbx12
55         \font\italicfont=cmti8
56         \font\slurufont=xslu16
57         \font\slurdfont=xsld16
58         \font\slurhfont=xslz20 % sigh
59         \font\hslurufont=xslhu16
60         \font\hslurdfont=xslhd16
61         \font\hslurhfont=xslhz20
62         \font\musicfnt=musix16
63         \balkhoog=16pt
64         \staffrulethickness=0.4pt
65         \notewidth=5pt
66         \noteheight=4pt
67         \musixcalc
68 }
69
70 \def\musixcalc{
71         \interstaffrule=\balkhoog
72         \advance\interstaffrule by-\staffrulethickness
73         \divide\interstaffrule by 4
74         \advance\interstaffrule by -\staffrulethickness
75         \notewidthhalf=\notewidth
76         \notewidthdouble=\notewidth
77         \rationalmultiply \notewidthhalf*1/2
78         \multiply \notewidthdouble by 2
79                \balkhalf=\balkhoog
80  \rationalmultiply\balkhalf*1/2 
81 }
82 \def\dyn{\italicfont}
83
84 \def\slurcharh#1{{\slurhfont\char#1}}
85 \def\slurcharu#1{{\slurufont\char#1}}
86 \def\slurchard#1{{\slurdfont\char#1}}
87 \def\hslurcharh#1{{\hslurhfont\char#1}}
88 \def\hslurcharu#1{{\hslurufont\char#1}}
89 \def\hslurchard#1{{\hslurdfont\char#1}}
90
91 \mdef\quartball{'007}
92 \mdef\halfball{'010}
93 \mdef\wholeball{'011}
94 \mdef\halfrest{'074}
95 \mdef\wholerest{'075}
96 \mdef\quartrest{62}
97 \mdef\eighthrest{63}
98 \mdef\sixteenthrest{64}
99 \mdef\thirtysecondrest{65}
100 \mdef\sharp{52}
101 \mdef\flat{50}
102 \mdef\natural{54}
103 \mdef\sharpsharp{53}
104 \mdef\flatflat{51}
105
106 \mdef\singledot{'00}
107 \mdef\doubledot{'01}
108 \mdef\tripledot{'02}
109 \mdef\mussepline{155}
110
111 \mdef\violinclef{71}
112 \mdef\bassclef{73}
113 \mdef\altoclef{75}
114 \mdef\cviolinclef{72}
115 \mdef\cbassclef{74}
116 \mdef\caltoclef{76}
117
118 \mdef\deigthflag{45}
119 \mdef\dsixteenthflag{46}
120 \mdef\dthirtysecondflag{47}
121
122 % pointing up
123 \mdef\ueigthflag{40}
124 \mdef\usixteenthflag{41}
125 \mdef\uthirtysecondflag{42}
126
127 \def\maatstreep{\vrule height\balkhoog}
128 \def\finishbar{\vrule height\balkhoog  width 1pt}
129 \maccentdef\repeatcolon{55}{2/1}
130 \def\emptybar{}
131 \def\repeatbar{\rightalign{\repeatcolon\kern 2pt\finishbar}}
132 \def\startrepeat{\hbox{\finishbar\kern 2pt\repeatcolon}}
133 \def\repeatbarstartrepeat{\hbox{\repeatbar\kern 1pt\startrepeat}}
134
135 \def\generalmeter#1#2{\botalign{\vbox to\balkhalf{\vss \meterfont#1}%
136         \nointerlineskip
137         \vbox to \balkhalf{\vss\meterfont #2}}}
138 \def\defaultlineseparator{\vbox{\mussepline\vskip -5pt\mussepline}}
139 \def\lineseparator{\defaultlineseparator}
140 \def\beauty{%
141         \par\vskip 10pt plus 30pt minus 10pt\par
142         \hskip -5pt\lineseparator
143         \par\vskip 10pt plus 30pt minus 10pt\par
144 }
145
146 \def\interstaffline{%
147         \vskip 10pt
148 }
149 \def\ugly{\nointerlineskip\par
150 \vskip 40pt\par\vbox{\leftalign{\vrule width30pt height1pt}}\par\vskip 40pt
151 }
152 \def\interscoreline{\beauty}
153
154
155 \def\lines#1#2{%
156  \vbox{\kern-\interstaffrule
157         \n=0\nointerlineskip%
158         \loop\ifnum\n<#1\advance\n by1%
159                 \kern\interstaffrule
160                 \hrule height \staffrulethickness width#2
161                 \repeat
162         }}
163
164 \def\toplines#1{ % why space needed here?
165         \topalign{\hbox{\kern-\notewidth\lines{#1}{\notewidthdouble}}}}
166 \def\botlines#1{ % idem ditto
167         \botalign{\hbox{\kern-\notewidth\lines{#1}{\notewidthdouble}}}}
168
169 %
170 % a staffsymbol with #1 lines, width #2
171 % bottom at baseline
172 \def\linestafsym#1#2{\leftalign{\botalign{\lines{#1}{#2}}}}
173
174 \def\eigthflag{\topalign{\ueigthflag}}
175 \def\sixteenthflag{\topalign{\usixteenthflag}}
176 \def\thirtysecondflag{\topalign{\uthirtysecondflag}}
177
178 \def\cquartrest{\vcenter\quartrest}
179 \def\ceighthrest{\vcenter\eighthrest}
180 \def\csixteenthrest{\vcenter\sixteenthrest}
181 \def\cthirtysecondrest{\vcenter\thirtysecondrest}
182
183 \def\lsingledot{\kern-\notewidth\singledot}
184 \def\ldoubledot{\kern-\notewidth\doubledot}
185 \def\ltripledot{\kern-\notewidth\tripledot}
186
187 \maccentdef\sforzato{30}{-3/2}
188 \maccentdef\marcato{20}{-1/1}
189 \maccentdef\imarcato{21}{1/1}
190 \maccentdef\staccato{24}{-1/1}
191 \maccentdef\istaccato{25}{1/1}
192 \maccentdef\staccatissimo{28}{-1/1}
193 \maccentdef\istaccatissimo{29}{1/1}
194 \maccentdef\portato{18}{-9/10}
195 \maccentdef\iportato{19}{9/10}
196 \maccentdef\tenuto{26}{0/1}
197 \maccentdef\itenuto{27}{0/1}
198 \maccentdef\fermata{80}{-1/1}
199 \maccentdef\ifermata{81}{1/1}
200
201
202
203 \mdef\spicato{28}
204 \mdef\ispicato{29}
205 \mdef\upbow{23}
206 \mdef\downbow{22}
207 \mdef\portato{26}
208
209 \def\stem#1#2{\vrule height#2 depth-#1}
210
211 \def\placebox#1#2#3{%
212         \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}%
213 }
214
215
216 \def\beamslope#1#2{{\count0=#2\advance\count0 by#1\musicfnt\char\count0}}
217 \def\rulesym#1#2{\vrule height #1 width #2}
218
219 \def\settext#1{\textfont #1}
220 \def\setitalic#1{\italicfont #1}