#! /bin/sh

MODPATH=/usr/lib/megawave/modules
VERSION=3.01
SH=/bin/sh

help() {
    echo "usage : megawave [-h|--help] [-v|--version] [-l|--listmodules]"
    echo "        megawave module module-options"
    echo "        megawave script script-options"
    echo " "
    echo "  commands"
    echo "    -h   | --help        : short usage help"
    echo "    -v   | --version     : version information"
    echo "    -lm  | --listmodules : list of available modules"
}

if [ $# -lt 1 ]; then
    help
    exit
fi

case "$1" in
    "-h" | "--help" )
	help
	exit
	;;
    "-v" | "--version" )
	echo "MegaWave version" $VERSION
	exit
	;;
    "-lm" | "--listmodules" )
	if [ -d $MODPATH ]; then
	    find $MODPATH -type f -perm /110 | sed 's/^.*\///' | sort
	fi
	exit
	;;
    -* )
	help
	exit 1
	;;
    * )
	if [ ! -x $MODPATH/$1 ]; then
	    echo "module" $1 "not found"
	    echo "use \"megawave --listmodules\" for a list"
	    exit 1
	else
	    MODULE=$MODPATH/$1
	    shift
	    OPTIONS="$*"
	    RUN="$MODULE $OPTIONS"
	    env LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/megawave/lib $RUN
	    exit
	fi
	;;
esac
