alsa: alsa-state: Load asound.state on boot...
authorMatthias Hentges <oe@hentges.net>
Fri, 9 Mar 2007 00:19:45 +0000 (00:19 +0000)
committerMatthias Hentges <oe@hentges.net>
Fri, 9 Mar 2007 00:19:45 +0000 (00:19 +0000)
packages/alsa/alsa-state.bb
packages/alsa/alsa-state/alsa-state [new file with mode: 0755]

index d49aa32..53c69c5 100644 (file)
@@ -14,21 +14,30 @@ LICENSE = "GPL"
 
 ######################################################################################
 
-PV = "0.0.1"
+PV = "0.0.2"
 PR = "r0"
 
 ######################################################################################
 
-SRC_URI = "file://asound.state"
+SRC_URI = "file://asound.state \
+          file://alsa-state"
 
 FILES_${PN} = "/etc/*"
 
 ######################################################################################
 
+inherit update-rc.d
+
+INITSCRIPT_NAME = "alsa-state"
+INITSCRIPT_PARAMS = "defaults 10"
+
+######################################################################################
+
 do_install() {
-       install -d ${D}${sysconfdir}
+       install -d ${D}${sysconfdir}/init.d
        
        install -m 0644 ${WORKDIR}/asound.state ${D}${sysconfdir}
+       install -m 0755 ${WORKDIR}/alsa-state ${D}${sysconfdir}/init.d
 }
 
 
@@ -38,3 +47,4 @@ pkg_postinst_${PN}() {
                /usr/sbin/alsactl -f ${sysconfdir}/asound.state restore
        fi
 }
+
diff --git a/packages/alsa/alsa-state/alsa-state b/packages/alsa/alsa-state/alsa-state
new file mode 100755 (executable)
index 0000000..c6bc1fd
--- /dev/null
@@ -0,0 +1,29 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel@hentges.net> (c) 2007
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: alsa-state
+# Date: 20070308 (YMD)
+
+
+asound_restore(){
+       echo "ALSA: Restoring mixer settings..."
+       if test -x /usr/sbin/alsactl -a -e /etc/asound.state
+       then
+               /usr/sbin/alsactl -f /etc/asound.state restore
+       fi
+}
+
+asound_store(){
+       echo "ALSA: Storing mixer settings..."
+       if test -x /usr/sbin/alsactl
+       then
+               /usr/sbin/alsactl -f /etc/asound.state store
+       fi
+}
+
+case "$1" in
+start)         asound_restore ;;
+stop)          asound_store ;;
+esac