#!/bin/bash

echo "__________________________________________"
echo "  gabc compiler v0.33 from cantate.idl.pl "
echo "          Public Domain A.M.D.G.          "
echo

if [ $# -eq 0 ]; then
	echo "  usage: gabc [-b] <files.gabc>"
	echo "  e.g.: gabc xi_*.gabc"
	echo " 	option:"
	echo "        -b   black lines"
	echo
	exit 255;
fi

if [ $1 == "-b" ]; then
	notred="%"
	shift
fi
while [ $# -ne 0 ]
do
src=$1
out=${src%.*}.tex
pdf=${src%.*}.pdf
ai=$(grep 'mode: ' $1 | sed -e 's/mode:[:space:]*//;')
ai=${ai%;*}
com=$(grep 'date: ' $1 | sed -e 's/date:[:space:]*//;')
com=${com%;*}

echo "-> gregorio" $src
gregorio $src
if [ $? -ne 0 ]; then
	echo Error!
	exit 255;
fi

echo "-> creating gabc_tmp.tex"
rm gabc_tmp.* 2> /dev/null
cat << EOF > gabc_tmp.tex
\documentclass[12pt, a4paper]{article}
\usepackage{fullpage}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%\usepackage{times}
\usepackage{newcent}
\usepackage{color}
\usepackage{gregoriotex}
\pagestyle{empty}
\begin{document}
${notred}\redlines
%\begin{center}\begin{huge}\textsc{Vidi aquam}\end{huge}\end{center}

\setspaceafterinitial{2.2mm plus 0em minus 0em}
\setspacebeforeinitial{2.2mm plus 0em minus 0em}

\def\greinitialformat#1{%
{\fontsize{33}{33}\selectfont #1}%
}

\def\grebiginitialformat#1{%
{\fontsize{73}{73}\selectfont #1}%
}

\gresetfirstlineaboveinitial{\scriptsize $ai}{\scriptsize $ai}
\commentary{{\tiny $com}}
\includescore{$out}
\end{document}
EOF

echo "-> lamed gabc_tmp.tex"
lamed --interaction nonstopmode gabc_tmp.tex
RET=$?
if [ $RET -eq 1 ]; then
	echo Warning!
elif [ $RET -ne 0 ]; then
	echo Error $RET!
	exit 255;
fi

#echo "-> dvipdfm gabc_tmp.tex"
dvipdfm -o $pdf gabc_tmp.dvi
RET=$?
if [ $RET -ne 0 ]; then
	echo Error $RET!
	exit 255;
fi

echo "-> done"
echo
shift
done
