mirror of
				https://github.com/alsa-project/alsa-tools.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	
		
			
	
	
		
			80 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			80 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#!/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
							 |