2 %% include file for LilyPond
4 %% this file defines various macros to accomodate lilypond output
6 %% let's not make par before endinput
9 \def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}
12 % If we must make titles, do so, before we're Skipped.
13 \ifx\mustmakelilypondtitle\undefined\else\makelilypondtitle\fi
14 \ifx\mustmakelilypondpiecetitle\undefined\else\makelilypondpiecetitle\fi
16 % skip if included already
17 \def\SkipLilydefs{\endinput}
18 \ifundefined{EndLilyPondOutput}
19 \def\EndLilyPondOutput{\csname bye\endcsname}
24 % need to do some stuff to turn pagenumbering off
25 \ifundefined{documentclass}
26 \input lilypond-plaintex
34 \font\fetasixteen=feta16
35 \def\fetafont{\fetasixteen}
36 \def\fetachar#1{\hbox{\fetasixteen#1}}
39 \def\botalign#1{\vbox to 0pt{\vss #1}}
40 \def\leftalign#1{\hbox to 0pt{#1\hss}}
42 % Attempt to keep lilypiecetitle together with the piece:
45 % TODO: figure this out.
48 \def\myfilbreak{} %\par\vfil\penalty200\vfilneg}
51 \ifundefined{lilypondpaperinterscorelinefill}
52 \def\lilypondpaperinterscorelinefill{0}
54 \def\lilypondpaperinterscorelinefill{1}
57 \def\interscoreline{\vskip \lilypondpaperinterscoreline \lilypondpaperunit plus \lilypondpaperinterscorelinefill fill}
60 \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}}%
62 % Are we using PDFTeX? If so, use pdf definitions.
63 % MiKTeX checks \pdfoutput the wrong way, makes our
64 % check more complicated.
65 \ifx\pdfoutput\undefined
76 \def\EndLilyPondOutput{%
77 \ifundefined{lilypondpaperfilllastpage}%
78 \vskip 0pt plus \lilypondpaperinterscorelinefill00 fill
80 \csname bye\endcsname}
82 % need to do some stuff to turn pagenumbering off
83 % they seriously mess up your fragments.
85 \ifx\csname nolilyfooter\endcsname\relax
86 \message{[footer defined]}%
87 \csname lilyfooter\texsuffix\endcsname%
89 \message{[footer empty]}
91 nolilyfooter\texsuffix\endcsname
94 \ifx\outputscale\undefined
95 \csname global\endcsname\csname newdimen\endcsname\outputscale