-\def\postheader{}
-
-% need to do some stuff to turn pagenumbering off
-% they seriously mess up your fragments.
-
-\ifx\csname nolilyfooter\endcsname\relax
- \message{[footer defined]}%
- \csname lilyfooter\texsuffix\endcsname%
-\else
- \message{[footer empty]}
- \csname%
- nolilyfooter\texsuffix\endcsname
-\fi
-\newdimen\outputscale
+
+\def\lilyponditerate{
+ % \if ...
+ \lilypondbody
+ \let\lilypondnext \relax
+ \else
+ \let\lilypondnext \lilyponditerate
+ \fi
+ \lilypondnext
+}
+
+%% Allow overriding of pagebreak
+\lilypondifundefined{lilypondpagebreak}
+{
+ \lilypondifundefined{@nodocument}
+ {\gdef\lilypondpagebreak{\eject}}
+ {\gdef\lilypondpagebreak{\newpage}}
+ }
+ {}
+
+%% Include \special only once.
+\gdef\lilypondspecial{
+ \special{header=music-drawing-routines.ps}
+ \gdef\lilypondspecial{}
+}
+
+%% The feta characters.
+\input feta20
+
+\global\font\fetasixteen = feta16
+\gdef\fetafont{\fetasixteen}
+\gdef\fetachar#1{\hbox{\fetasixteen#1}}
+
+\gdef\topalign#1{\vbox to 0pt{\hbox{#1}\vss}}
+\gdef\leftalign#1{\hbox to 0pt{#1\hss}}
+
+\gdef\lyitem#1#2#3{
+ \topalign{\raise#2\outputscale\leftalign{\kern#1\outputscale#3}}}
+
+\gdef\lybox#1#2#3#4#5{
+ \lytempdim\baselineskip
+ \advance\lytempdim-#4\outputscale
+ \raise\lytempdim
+ \vbox to#4\outputscale{
+ \leftalign{\kern#1\outputscale\lower#2\outputscale\topalign{#5}}
+ \vss}}
+
+\gdef\lyvrule#1#2#3#4{
+ \kern#1\outputscale
+ \vrule width #2\outputscale depth #3\outputscale height #4\outputscale}
+
+%% FIXME: 'interscoreline' and 'lilypondPAPERinterscoreline
+\lilypondifundefined{lilypondpaperinterscorelinefill}
+ {\gdef\lilypondpaperinterscorelinefill{0}}
+ {\gdef\lilypondpaperinterscorelinefill{1}}
+
+%% Allow overriding of interscoreline, e.g. for lilypond.py's --preview
+\lilypondifundefined{interscoreline}
+{
+ \lilypondifundefined{lilypondclassic}
+ {\gdef\interscoreline{}}
+ {\gdef\interscoreline{
+ \vskip\lilypondpaperinterscoreline\lilypondpaperunit
+ plus \lilypondpaperinterscorelinefill fill}}
+}
+{}
+
+%% Include postscript definitions unless using PDFTeX,
+%% in that case use pdf definitions.
+%% MiKTeX workaround: use \csname.
+\lilypondifundefined{lilypondpostscript}
+{\lilypondifundefined{pdfoutput}
+ {\input lily-ps-defs }
+ {\pdfoutput = 1
+ \input lily-pdf-defs }}
+{}
+
+%% Restore newline functionality (disabled to avoid \par).
+\endlinechar \lilyponddefsELC