#!/bin/sh # artsdsp - wrapper script to allow *some* binary only programs to use artsd # based on the esddsp script # keep this in sync with artsversion.h version="@ARTS_VERSION@" # default values for script variables verbose=0 set_name=0 single_thread=0 # check for artsdsp options while test $# -gt 0; do case "$1" in -h|--help) echo "artsdsp - attempt to reroute audio device to artsd" echo " " echo "artsdsp [options] application arguments" echo " " echo "options:" echo "-h, --help show brief help" echo "-n, --name=NAME use name to identify player to artsd" echo "-m, --mmap emulate memory mapping (i.e. for quake)" echo "-s, --single-threaded use the single-threaded version" echo "-v, --verbose show parameters" echo "-V, --version show version" exit 0 ;; -n) shift if test $# -gt 0; then export ARTSDSP_NAME=$1 else echo "no player name specified" exit 1 fi shift set_name=1 ;; --name*) export ARTSDSP_NAME=`echo $1 | sed -e 's/^[^=]*=//g'` set_name=1 shift ;; -v|--verbose) verbose=1 shift ;; -V|--version) echo "artsdsp $version" exit ;; -m|--mmap) export ARTSDSP_MMAP=1 shift ;; -s|--single-threaded) single_thread=1 shift ;; *) # no more artsdsp options, get on with life break ;; esac done # echo options if verbose specified if test "$verbose" = 1; then ARTSDSP_VERBOSE=1 export ARTSDSP_VERBOSE echo "artsdsp: $version" echo "name: $ARTSDSP_NAME" echo "command line: $@" if test "$single_thread" = 1; then echo "threaded: no" else echo "threaded: yes" fi fi prefix=@prefix@ exec_prefix=@exec_prefix@ if test "$single_thread" = 1; then LD_PRELOAD=${exec_prefix}/\$LIB/libartsdsp_st.so.0 else LD_PRELOAD=${exec_prefix}/\$LIB/libartsdsp.so.0:${exec_prefix}/\$LIB/libartsc.so.0 fi if test -f ${exec_prefix}/\$LIB/libdl.so.2; then LD_PRELOAD=$LD_PRELOAD:${exec_prefix}/\$LIB/libdl.so.2 fi export LD_PRELOAD # invoke the program with the args given exec "$@"