#!/bin/bash

#####################################################################
#                                                                   #
#               Compiles Faust programs to impulse tests			#
#               (c) Grame, 2017                                     #
#                                                                   #
#####################################################################

for p in $@; do
    if [ ${p:0:1} = "-" ]; then
        OPTIONS="$OPTIONS $p"
    elif [[ -f "$p" ]]; then
        FILES="$FILES $p"
    else
        OPTIONS="$OPTIONS $p"
    fi
done

#-------------------------------------------------------------------
# compile the *.dsp files 

for f in $FILES; do

    # compile the file and generate the impulse response
    impulseinterp "$f" -inpl $OPTIONS

    # compile Faust to interpreter file
    faust $OPTIONS -lang interp "$f" -o "$f.fbc" || exit

    # read the interpreter file to generate the impulse response
    impulseinterp "$f.fbc"

    # cleanup
    rm "$f.fbc"

done

