Viewing file: esddsp (1.97 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/bin/sh # esddsp - wrapper script to allow *some* binary only programs to use esd
# default values for script variables verbose=0 set_name=0
# check for esddsp options while test $# -gt 0; do
case "$1" in
-h|--help) echo "esddsp - attempt to reroute audio device to esd" echo " " echo "esddsp [options] player arguments" echo " " echo "options:" echo "-h, --help show brief help" echo "-s, --server=HOST:PORT contact esd server on host at port" echo "-m, --mixer enable mixer support" echo "-n, --name=NAME use name to identify player to esd" echo "-v, --verbose show parameters" echo "--mmap use memory mapping emulation" echo " (useful for games like quake)"
exit 0 ;;
-s) shift if test $# -gt 0; then ESPEAKER=$1 export ESPEAKER else echo "no server specified" exit 1 fi shift ;;
--server*) ESPEAKER=`echo $1 | sed -e 's/^[^=]*=//g'` export ESPEAKER shift ;;
-m|--mixer) ESDDSP_MIXER=1 export ESDDSP_MIXER shift ;;
-n) shift if test $# -gt 0; then ESDDSP_NAME=$1 export ESDDSP_NAME else echo "no player name specified" exit 1 fi shift set_name=1 ;;
--name*) ESDDSP_NAME=`echo $1 | sed -e 's/^[^=]*=//g'` export ESDDSP_NAME set_name=1 shift ;;
-v|--verbose) verbose=1 shift ;;
--mmap) ESDDSP_MMAP=1 export ESDDSP_MMAP shift ;;
*) # no more esddsp options, get on with life break ;; esac done
# default name to player if not specified if test "$set_name" = 0; then ESDDSP_NAME=$1 export ESDDSP_NAME fi
# echo options if verbose specified if test "$verbose" = 1; then echo "server: $ESPEAKER" echo "name: $ESDDSP_NAME" echo "command line: $@" fi
# setup esd to hijack calls made to /dev/dsp prefix=/usr exec_prefix=/usr
LD_PRELOAD="libesddsp.so.0 libesd.so.0 $LD_PRELOAD" export LD_PRELOAD
# invoke the program with the args given exec "$@"
|