#!/bin/bash
test -x@sbindir@/ld10k1 || exit 0
card=$2
socket=/tmp/.ld10k1_port
if [ -z "$card" ]; then
card=0
elif [ "$card" = "0" ] ; then
card=0
else
socket=$socket"_"$card
fi
pidfile=/var/run/ld10k1_$card.pid
dspsetup=/etc/dspstate_$card.ld10k1
start() {
if [ ! -f $pidfile ] ; then
echo $"Starting ld10k1"
@sbindir@/ld10k1 -d -c $card -p $socket -i $pidfile >/dev/null 2>&1
if [ -f $dspsetup ]; then
echo $"Restoring DSP setup"
@binarydir@/lo10k1 -p $socket --restore $dspsetup >/dev/null 2>&1
fi
else
echo $"ld10k1 running"
fi
return 0
}
stop() {
if [ -f $pidfile ] ; then
echo $"Storing DSP setup"
@binarydir@/lo10k1 -p $socket --store $dspsetup >/dev/null 2>&1
echo $"Stoping ld10k1"
pid=
local line p
read line < $pidfile
for p in $line ; do
[ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
done
kill -s 9 $pid >/dev/null 2>&1
if [ -f $pidfile ] ; then
rm -f $pidfile >/dev/null 2>&1
fi
else
echo $"ld10k1 not runing"
fi
return 0
}
save() {
if [ -f $pidfile ] ; then
echo $"Storing DSP setup"
@binarydir@/lo10k1 -p $socket --store $dspsetup >/dev/null 2>&1
else
echo $"ld10k1 not runing"
fi
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
save)
save
;;
*)
echo $"Usage $0 {start|stop}"
exit 1
esac