From c86797abdfc6db4b22710cca7924396c16eb6fc0 Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Mon, 2 Jan 2012 18:17:56 -0800 Subject: alsa-state: add alsa-state from oe classic alsa-state adds an init script and configuration files to enable a consistent and centralised mechanism for setting and restoring alsa configuration. (From OE-Core rev: 8bc43c40cf72d5543924229146fa4106ad87b147) Signed-off-by: Joshua Lock Signed-off-by: Richard Purdie --- meta/recipes-bsp/alsa-state/alsa-state.bb | 57 ++++++++++++++++++++++ meta/recipes-bsp/alsa-state/alsa-state/alsa-state | 29 +++++++++++ meta/recipes-bsp/alsa-state/alsa-state/asound.conf | 12 +++++ .../recipes-bsp/alsa-state/alsa-state/asound.state | 1 + 4 files changed, 99 insertions(+) create mode 100644 meta/recipes-bsp/alsa-state/alsa-state.bb create mode 100755 meta/recipes-bsp/alsa-state/alsa-state/alsa-state create mode 100644 meta/recipes-bsp/alsa-state/alsa-state/asound.conf create mode 100644 meta/recipes-bsp/alsa-state/alsa-state/asound.state (limited to 'meta/recipes-bsp') diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb new file mode 100644 index 0000000000..ecfa97530f --- /dev/null +++ b/meta/recipes-bsp/alsa-state/alsa-state.bb @@ -0,0 +1,57 @@ +# Copyright Matthias Hentges (c) 2007 +# License: MIT (see http://www.opensource.org/licenses/mit-license.php +# for a copy of the license) +# +# Filename: alsa-state.bb + +SUMMARY = "Alsa scenario files to enable alsa state restoration." +DESCRIPTION = "Alsa Scenario Files - an init script and state files to restore \ +sound state at system boot and save it at system shut down." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PV = "0.2.0" +PR = "r0" + +SRC_URI = "\ + file://asound.conf \ + file://asound.state \ + file://alsa-state \ +" + +RDEPENDS = "alsa-utils-alsactl" + +inherit update-rc.d + +INITSCRIPT_NAME = "alsa-state" +INITSCRIPT_PARAMS = "start 39 S . stop 31 0 6 ." + +do_install() { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/alsa-state ${D}${sysconfdir}/init.d + + install -m 0644 ${WORKDIR}/asound.conf ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/*.state ${D}${sysconfdir} +} + +PACKAGES += "alsa-states" + +RRECOMMENDS_alsa-state = "alsa-states" + +FILES_${PN} = "${sysconfdir}/init.d ${sysconfdir}/asound.conf" +CONFFILES_${PN} = "${sysconfdir}/asound.conf" + +FILES_alsa-states = "${sysconfdir}/*.state" + +pkg_postinst_${PN}() { + if test -z "$D" + then + if test -x /usr/sbin/alsactl + then + /usr/sbin/alsactl -f ${sysconfdir}/asound.state restore + fi + # INITSCRIPT_PARAMS changed, so remove the old and + # install the new setting. + update-rc.d -f ${INITSCRIPT_NAME} remove + update-rc.d ${INITSCRIPT_NAME} ${INITSCRIPT_PARAMS} + fi +} diff --git a/meta/recipes-bsp/alsa-state/alsa-state/alsa-state b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state new file mode 100755 index 0000000000..84cdf03750 --- /dev/null +++ b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state @@ -0,0 +1,29 @@ +#! /bin/sh +# +# Copyright Matthias Hentges (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 diff --git a/meta/recipes-bsp/alsa-state/alsa-state/asound.conf b/meta/recipes-bsp/alsa-state/alsa-state/asound.conf new file mode 100644 index 0000000000..6be024201c --- /dev/null +++ b/meta/recipes-bsp/alsa-state/alsa-state/asound.conf @@ -0,0 +1,12 @@ +# default dmix configuration + +pcm.!default { + type plug + slave.pcm "dmix" +} + +ctl.mixer0 { + type hw + card 0 +} + diff --git a/meta/recipes-bsp/alsa-state/alsa-state/asound.state b/meta/recipes-bsp/alsa-state/alsa-state/asound.state new file mode 100644 index 0000000000..ddd1cce85d --- /dev/null +++ b/meta/recipes-bsp/alsa-state/alsa-state/asound.state @@ -0,0 +1 @@ +# Dummy file, do not delete -- cgit v1.2.3-54-g00ecf