From e9ab68604c8b21a8c942b10ca9ce3cd683713eb5 Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Fri, 11 Feb 2011 20:12:53 -0600 Subject: update sound and software speech handling migrate unmute code to a separate script. Also migrate the espeakup service to the list_services function. --- autoconfig | 47 +++++------------------------------------------ unmute | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 42 deletions(-) create mode 100755 unmute diff --git a/autoconfig b/autoconfig index 06be5f1..32fff56 100755 --- a/autoconfig +++ b/autoconfig @@ -257,6 +257,11 @@ list_services() { local svcs="$(check_svc ${ACPI} acpid)" svcs="${svcs} $(check_svc ${ALSA} alsasound)" + svcs="${svcs} $(check_svc ${ALSA} unmute)" + if [ "${SPEAKUP_MODULE}" = "speakup_soft" ] && rc-service -e espeakup + then + svcs="${svcs} espeakup" + fi svcs="${svcs} $(check_svc ${APM} apmd)" svcs="${svcs} $(check_svc ${BRLTTY} brltty)" svcs="${svcs} $(check_svc ${COLDPLUG} coldplug hotplug)" @@ -588,48 +593,6 @@ start() { && einfo " ${WARN}${SOUND_FULLNAME} " [ -n "${SOUND_DRIVER}" ] \ && einfo " driver = ${SOUND_DRIVER}" - - if [ -e /proc/asound/cards ] - then - for i in $(cat /proc/asound/cards | awk '{print $1}' | grep ^[[:digit:]]) - do - if [ -d /proc/asound/card$i ] && [ -x /usr/bin/amixer ] - then - amixer -c $i scontrols > /etc/amixer - [ -n "$(grep Master /etc/amixer)" ] \ - && amixer -c $i -q set Master 95% unmute \ - >/dev/null 2>&1 - [ -n "$(grep Front /etc/amixer)" ] \ - && amixer -c $i -q set Front 95% unmute \ - >/dev/null 2>&1 - [ -n "$(grep HDMI /etc/amixer)" ] \ - && amixer -c $i -q set HDMI 95% unmute \ - >/dev/null 2>&1 - [ -n "$(grep IEC958 /etc/amixer)" ] \ - && amixer -c $i -q set IEC958 95% unmute \ - >/dev/null 2>&1 - [ -n "$(grep PCM /etc/amixer)" ] \ - && amixer -c $i -q set PCM 95% unmute \ - >/dev/null 2>&1 - [ -n "$(grep Speaker /etc/amixer)" ] \ - && amixer -c $i -q set Speaker 95% unmute \ - >/dev/null 2>&1 - [ -n "$(grep Mic /etc/amixer)" ] \ - && amixer -c $i -q set Mic 95% mute cap \ - >/dev/null 2>&1 - [ -n "$(grep Wave /etc/amixer)" ] \ - && amixer -c $i -q set Wave 95% unmute \ - >/dev/null 2>&1 - [ -n "$(grep Capture /etc/amixer)" ] \ - && amixer -c $i -q set Capture 95% unmute cap \ - >/dev/null 2>&1 - fi - done - - if [ "${SPEAKUP_MODULE}" = "speakup_soft" ] - then - rc-service -i espeakup start - fi fi fi else diff --git a/unmute b/unmute new file mode 100755 index 0000000..7e73c83 --- /dev/null +++ b/unmute @@ -0,0 +1,49 @@ +#!/sbin/runscript + +depend() +{ + need alsasound +} + +start() +{ + if [ -e /proc/asound/cards ] + then + for i in $(cat /proc/asound/cards | awk '{print $1}' | grep ^[[:digit:]]) + do + einfo "unmuting sound card $i" + if [ -d /proc/asound/card$i ] && [ -x /usr/bin/amixer ] + then + amixer -c $i scontrols > /etc/amixer + [ -n "$(grep Master /etc/amixer)" ] \ + && amixer -c $i -q set Master 95% unmute \ + >/dev/null 2>&1 + [ -n "$(grep Front /etc/amixer)" ] \ + && amixer -c $i -q set Front 95% unmute \ + >/dev/null 2>&1 + [ -n "$(grep HDMI /etc/amixer)" ] \ + && amixer -c $i -q set HDMI 95% unmute \ + >/dev/null 2>&1 + [ -n "$(grep IEC958 /etc/amixer)" ] \ + && amixer -c $i -q set IEC958 95% unmute \ + >/dev/null 2>&1 + [ -n "$(grep PCM /etc/amixer)" ] \ + && amixer -c $i -q set PCM 95% unmute \ + >/dev/null 2>&1 + [ -n "$(grep Speaker /etc/amixer)" ] \ + && amixer -c $i -q set Speaker 95% unmute \ + >/dev/null 2>&1 + [ -n "$(grep Mic /etc/amixer)" ] \ + && amixer -c $i -q set Mic 95% mute cap \ + >/dev/null 2>&1 + [ -n "$(grep Wave /etc/amixer)" ] \ + && amixer -c $i -q set Wave 95% unmute \ + >/dev/null 2>&1 + [ -n "$(grep Capture /etc/amixer)" ] \ + && amixer -c $i -q set Capture 95% unmute cap \ + >/dev/null 2>&1 + fi + done + fi + return 0 +} -- cgit v1.2.3