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 \def\interscoreline{\vskip 16pt\myfilbreak}
39 \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}}%
41 % Are we using PDFTeX? If so, use pdf definitions to translate
42 % \embeddedps commands to embedded PDF.
43 \ifx\pdfoutput\undefined
50 \def\EndLilyPondOutput{%
55 % need to do some stuff to turn pagenumbering off
56 % they seriously mess up your fragments.
58 \ifx\csname nolilyfooter\endcsname\relax
59 \message{[footer defined]}%
60 \csname lilyfooter\texsuffix\endcsname%
62 \message{[footer empty]}
64 nolilyfooter\texsuffix\endcsname
67 % fix chord.cc::banter_str before removing these