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}
11 % skip if included already
12 \def\SkipLilydefs{\endinput}
13 \ifundefined{EndLilyPondOutput}
14 \def\EndLilyPondOutput{\csname bye\endcsname}
19 % need to do some stuff to turn pagenumbering off
20 \ifundefined{documentclass}
21 \input lilypond-plaintex
28 \def\botalign#1{\vbox to 0pt{\vss #1}}
29 \def\leftalign#1{\hbox to 0pt{#1\hss}}
33 % Attempt to keep lilypiecetitle together with the piece:
34 \def\myfilbreak{\par\vfil\penalty200\vfilneg}
36 % stacked horizontal lines
37 \ifundefined{mudelapaperinterscoreline}
38 \def\mudelapaperinterscoreline{16}
40 \ifundefined{mudelapaperinterscorelinefill}
41 \def\mudelapaperinterscorelinefill{0}
44 \def\interscoreline{\vskip\mudelapaperinterscoreline pt plus %
45 \mudelapaperinterscorelinefill fill\myfilbreak}
48 \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}}%
50 % Are we using PDFTeX? If so, use pdf definitions to translate
51 % \embeddedps commands to embedded PDF.
52 \ifx\pdfoutput\undefined
59 \def\EndLilyPondOutput{%
60 \vskip 0pt plus 100fill\csname bye\endcsname
64 % need to do some stuff to turn pagenumbering off
65 % they seriously mess up your fragments.
67 \ifx\csname nolilyfooter\endcsname\relax
68 \message{[footer defined]}%
69 \csname lilyfooter\texsuffix\endcsname%
71 \message{[footer empty]}
73 nolilyfooter\texsuffix\endcsname
76 % fix chord.cc::banter_str before removing these