#! /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

