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