#! /bin/bash -e

# Usage.
print_usage() 
{
    echo Usage : args of faust2graphviewer should be a \'.dsp\' file, or a list of \'.dsp\' files.
}

#    prepare how we are going to open .pdf files
if [[ $(uname) == Darwin ]]; then
    OPEN=open
else
	OPEN=xdg-open
fi

#    Main loop of this script :
for FILEPATH in $@ ; do
    if [ -f $FILEPATH ] ; then
	FILENAME=`basename $FILEPATH` &&
	case $FILENAME in
	    *.dsp )  
		faust -o /dev/null -sg $FILEPATH  || exit
		dot -Tpdf $FILEPATH-sig.dot -o ${FILEPATH%.dsp}-sig.pdf &&
		rm $FILEPATH-sig.dot &&
		${OPEN} ${FILEPATH%.dsp}-sig.pdf 
		;;
	    * )
		echo error : \'$FILEPATH\' does not have a \'.dsp\' extension.
		exit 2
		;;
	esac	
    else
	print_usage
	exit 1
    fi
done
exit 0

