-%
-% ideally, we should create a LaTeX/TeX class
-% for setting music in different sizes.
-%
-\input lilyponddefs
-\def\EndLilyPondOutput{\endinput}
-\def\thetitle{}
-\def\thecomposer{}
-\def\thearranger{}
-\def\theinstrument{}
-\def\theLineOne{}
-\def\theLineTwo{}
-\def\theLineThree{}
-\def\lineOne#1{\def\theLineOne{#1}}
-\def\lineTwo#1{\def\theLineTwo{#1}}
-\def\lineThree#1{\def\theLineThree{#1}}
-\def\title#1{\def\thetitle{#1}}
-\def\composer#1{\def\thecomposer{#1}}
-\def\arranger#1{\def\thearranger{#1}}
-\def\instrument#1{\def\theinstrument{#1}}
-
-\def\makelilytitle{
+%%
+%% LilyPond titling for LaTeX
+%%
+%% Note
+%%
+%% Defining a value, but leaving it empty:
+%% \def\lilypondfoo{}
+%% makes LaTeX break on the \\ in:
+%% \ifx\lilypondfoo\undefined\else{\lilypondfoo\\}\fi
+%%
+\def\makelilypondtitle
+{
\begin{center}
- {\Large\bfseries\thetitle}\\
- \vskip12pt
- {\scshape\theLineOne}
- {\hfill\scshape\thecomposer}
- \vskip4pt
- {\bfseries\theLineTwo}
- {\bfseries\thearranger}
+ \bfseries
+ \ifx\lilypondtitle\undefined\else{\huge\lilypondtitle\\}\fi
+ \ifx\lilypondsubtitle\undefined\else{\Large\lilypondsubtitle\\}\fi
+ \ifx\lilypondsubsubtitle\undefined\else{\large\lilypondsubsubtitle\\}\fi
\end{center}
- \bfseries\theLineThree
- \bfseries\theinstrument
\bigskip
- }
+ % urg
+ \edef\saveparskip{\parskip}\parskip-5mm
+ \begin{minipage}[t]{0.45\textwidth}
+ \ifx\lilypondpoet\undefined\else{\lilypondpoet\\}\fi
+ \ifx\lilypondmeter\undefined\else{\lilypondmeter\\}\fi
+ \end{minipage}\hspace*{\fill}
+ \begin{minipage}[t]{0.45\textwidth}
+ \begin{flushright}
+ \ifx\lilypondcomposer\undefined\else{\large\normalfont\scshape\lilypondcomposer\\}\fi
+ \ifx\lilypondopus\undefined\else{\lilypondopus\\}\fi
+ \ifx\lilypondarranger\undefined\else{\lilypondarranger\\}\fi
+ \end{flushright}%
+ \end{minipage}\par
+ \parskip\saveparskip
+ \ifx\lilypondinstrument\undefined\else{\center{\large\lilypondinstrument}\par}\fi
+ \ifx\lilypondpiece\undefined\else{\flushleft{\large\normalfont\scshape\lilypondpiece}\par}\fi
+% \leavevmode
+ \global\let\lilypondopus\relax%
+ \global\let\lilypondpiece\relax%
+ \global\let\mustmakelilypondtitle\undefined%
+}
+%
+\def\makelilypondpiecetitle
+{
+ \bigskip\myfilbreak
+ \ifx\lilypondopus\undefined\else{\flushright{\lilypondopus}\par}\fi
+ \ifx\lilypondpiece\undefined\else{\flushleft{\large\normalfont\scshape\lilypondpiece}\par}\fi
+ \nopagebreak%
+ \global\let\lilypondopus\relax%
+ \global\let\lilypondpiece\relax%
+ \global\let\mustmakelilypondpiecetitle\undefined%
+}
+\endinput
+