Imported Upstream version 1.0.28 upstream/1.0.28
authorKévin THIERRY <kevin.thierry@open.eurogiciel.org>
Thu, 13 Nov 2014 13:06:15 +0000 (14:06 +0100)
committerKévin THIERRY <kevin.thierry@open.eurogiciel.org>
Thu, 13 Nov 2014 13:06:15 +0000 (14:06 +0100)
91 files changed:
Makefile.am
Makefile.in
aclocal.m4
alsaconf/Makefile.in
alsaconf/alsaconf.in
alsactl/90-alsa-restore.rules [deleted file]
alsactl/90-alsa-restore.rules.in
alsactl/Makefile.am
alsactl/Makefile.in
alsactl/alsa-restore.service.in
alsactl/alsa-state.service.in [new file with mode: 0644]
alsactl/alsa-store.service.in
alsactl/alsactl.1
alsactl/alsactl.c
alsactl/alsactl.h
alsactl/daemon.c [new file with mode: 0644]
alsactl/init/Makefile.am
alsactl/init/Makefile.in
alsactl/init/ca0106 [new file with mode: 0644]
alsactl/lock.c [new file with mode: 0644]
alsactl/monitor.c [new file with mode: 0644]
alsactl/state.c
alsactl/utils.c
alsaloop/Makefile.am
alsaloop/Makefile.in
alsaloop/alsaloop.1
alsaloop/alsaloop.c
alsaloop/pcmjob.c
alsamixer/Makefile.am
alsamixer/Makefile.in
alsamixer/cli.c
alsamixer/mainloop.c
alsamixer/mixer_display.c
alsamixer/mixer_widget.c
alsamixer/mixer_widget.h
alsaucm/Makefile.am
alsaucm/Makefile.in
amidi/Makefile.am
amidi/Makefile.in
amidi/amidi.1
amixer/Makefile.am
amixer/Makefile.in
amixer/amixer.1
amixer/amixer.c
aplay/Makefile.am
aplay/Makefile.in
aplay/aplay.1
aplay/aplay.c
aplay/arecord.1
aplay/formats.h
config.guess
config.sub
configure
configure.ac [moved from configure.in with 89% similarity]
depcomp
gitcompile
iecset/Makefile.am
iecset/Makefile.in
iecset/iecbits.c
include/Makefile.am
include/Makefile.in
include/aconfig.h.in
include/version.h
install-sh
m4/Makefile.in
missing
po/Makevars
po/alsa-utils.pot
po/de.gmo
po/de.po
po/fr.gmo
po/fr.po
po/ja.gmo
po/ja.po
seq/Makefile.in
seq/aconnect/Makefile.am
seq/aconnect/Makefile.in
seq/aconnect/aconnect.c
seq/aplaymidi/Makefile.am
seq/aplaymidi/Makefile.in
seq/aseqdump/Makefile.am
seq/aseqdump/Makefile.in
seq/aseqnet/Makefile.am
seq/aseqnet/Makefile.in
seq/aseqnet/aseqnet.c
speaker-test/Makefile.am
speaker-test/Makefile.in
speaker-test/samples/Makefile.in
speaker-test/speaker-test.1
speaker-test/speaker-test.c
utils/Makefile.in

index 5d5c38e..794ed27 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES=-I$(top_srcdir)/include
+AM_CPPFLAGS=-I$(top_srcdir)/include
 
 SUBDIRS = include alsactl alsaucm utils m4 po
 if ALSAMIXER
index 5c43466..eadeb26 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -44,15 +60,14 @@ subdir = .
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in $(top_srcdir)/alsaconf/po/Makefile.in \
        $(top_srcdir)/configure ABOUT-NLS COPYING ChangeLog INSTALL \
-       TODO config.guess config.rpath config.sub depcomp install-sh \
-       missing
+       TODO config.guess config.rpath config.sub install-sh missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -70,13 +85,19 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
        $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-       distdir dist dist-all distcheck
+       cscope distdir dist dist-all distcheck
 ETAGS = etags
 CTAGS = ctags
+CSCOPE = cscope
 DIST_SUBDIRS = include alsactl alsaucm utils m4 po alsamixer amixer \
        amidi alsaconf aplay iecset speaker-test alsaloop seq
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -88,6 +109,7 @@ am__remove_distdir = \
       && rm -rf "$(distdir)" \
       || { sleep 5 && rm -rf "$(distdir)"; }; \
   else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
 am__relativize = \
   dir0=`pwd`; \
   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -115,14 +137,18 @@ am__relativize = \
   reldir="$$dir2"
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -165,6 +191,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -238,6 +265,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -256,7 +284,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 SUBDIRS = include alsactl alsaucm utils m4 po $(am__append_1) \
        $(am__append_2) $(am__append_3) $(am__append_4) \
        $(am__append_5) $(am__append_6) $(am__append_7)
@@ -271,7 +299,7 @@ all: all-recursive
 .SUFFIXES:
 am--refresh: Makefile
        @:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -298,21 +326,21 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        $(SHELL) ./config.status --recheck
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
 $(am__aclocal_m4_deps):
 alsaconf/po/Makefile: $(top_builddir)/config.status $(top_srcdir)/alsaconf/po/Makefile.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -322,7 +350,11 @@ $(RECURSIVE_TARGETS):
        done; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -336,37 +368,6 @@ $(RECURSIVE_TARGETS):
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
 tags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
@@ -375,6 +376,10 @@ ctags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
        done
+cscopelist-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
+       done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -438,8 +443,32 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscope: cscope.files
+       test ! -s cscope.files \
+         || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+
+clean-cscope:
+       -rm -f cscope.files
+
+cscope.files: clean-cscope cscopelist-recursive cscopelist
+
+cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+       -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 
 distdir: $(DISTFILES)
        $(am__remove_distdir)
@@ -475,13 +504,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -513,40 +539,36 @@ distdir: $(DISTFILES)
        || chmod -R a+r "$(distdir)"
 dist-gzip: distdir
        tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-bzip2: distdir
        tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-lzip: distdir
        tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-xz: distdir
        tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-tarZ: distdir
        tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-shar: distdir
        shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
 dist-zip: distdir
        -rm -f $(distdir).zip
        zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
 
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
+dist dist-all:
+       $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+       $(am__post_remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
@@ -557,8 +579,6 @@ distcheck: dist
          GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
        *.tar.lz*) \
          lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
        *.tar.xz*) \
@@ -570,7 +590,7 @@ distcheck: dist
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
+       chmod -R a-w $(distdir); chmod u+w $(distdir)
        mkdir $(distdir)/_build
        mkdir $(distdir)/_inst
        chmod a-w $(distdir)
@@ -604,7 +624,7 @@ distcheck: dist
          && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
          && cd "$$am__cwd" \
          || exit 1
-       $(am__remove_distdir)
+       $(am__post_remove_distdir)
        @(echo "$(distdir) archives ready for distribution: "; \
          list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
          sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
@@ -739,24 +759,25 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-data-am install-strip tags-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
+       cscopelist-recursive ctags-recursive install-am \
+       install-data-am install-strip tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-generic \
-       ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
-       dist-hook dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
-       dist-zip distcheck distclean distclean-generic distclean-tags \
-       distcleancheck distdir distuninstallcheck dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-data-hook install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs installdirs-am \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am
+       all all-am am--refresh check check-am clean clean-cscope \
+       clean-generic cscope cscopelist cscopelist-recursive ctags \
+       ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
+       dist-lzip dist-shar dist-tarZ dist-xz dist-zip distcheck \
+       distclean distclean-generic distclean-tags distcleancheck \
+       distdir distuninstallcheck dvi dvi-am html html-am info \
+       info-am install install-am install-data install-data-am \
+       install-data-hook install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs installdirs-am maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
 
 
 rpm: dist
index 7d09f21..2d6f36a 100644 (file)
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.12.2 -*- Autoconf -*-
+
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
-[m4_warning([this file was generated for autoconf 2.68.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
 dnl Configure Paths for Alsa
 dnl Some modifications by Richard Boulton <richard-alsa@tartarus.org>
@@ -374,14 +373,13 @@ else
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 8
 
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
@@ -389,10 +387,10 @@ fi[]dnl
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.12'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.3], [],
+m4_if([$1], [1.12.2], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -408,24 +406,24 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.3])dnl
+[AM_AUTOMAKE_VERSION([1.12.2])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -444,7 +442,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -470,22 +468,21 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
+# serial 10
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -504,16 +501,15 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 12
+# serial 17
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -523,7 +519,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -536,12 +532,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -549,8 +546,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -590,16 +587,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -608,8 +605,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -617,7 +614,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -665,7 +662,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -675,9 +672,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -692,14 +693,13 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
+# serial 6
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
@@ -718,7 +718,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -730,21 +730,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
     test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -762,7 +760,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -770,28 +768,15 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
      [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
 ])
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 16
+# serial 19
 
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
@@ -837,31 +822,41 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+[$0: two- and three-arguments forms are deprecated.  For more info, see:
+http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
@@ -872,28 +867,35 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
                             [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-                 [_AM_DEPENDENCIES(CC)],
-                 [define([AC_PROG_CC],
-                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+                 [_AM_DEPENDENCIES([CC])],
+                 [m4_define([AC_PROG_CC],
+                            m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                 [_AM_DEPENDENCIES(CXX)],
-                 [define([AC_PROG_CXX],
-                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+                 [_AM_DEPENDENCIES([CXX])],
+                 [m4_define([AC_PROG_CXX],
+                            m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                 [_AM_DEPENDENCIES(OBJC)],
-                 [define([AC_PROG_OBJC],
-                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+                 [_AM_DEPENDENCIES([OBJC])],
+                 [m4_define([AC_PROG_OBJC],
+                            m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+dnl Support for Objective C++ was only introduced in Autoconf 2.65,
+dnl but we still cater to Autoconf 2.62.
+m4_ifdef([AC_PROG_OBJCXX],
+[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+                 [_AM_DEPENDENCIES([OBJCXX])],
+                 [m4_define([AC_PROG_OBJCXX],
+                            m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
 ])
 _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
 dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 ])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
@@ -921,14 +923,13 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 8
 
 # AM_PROG_INSTALL_SH
 # ------------------
@@ -943,9 +944,9 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -966,15 +967,55 @@ fi
 rmdir .tst 2>/dev/null
 AC_SUBST([am__leading_dot])])
 
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+       [enable], [m4_define([am_maintainer_other], [disable])],
+       [disable], [m4_define([am_maintainer_other], [enable])],
+       [m4_define([am_maintainer_other], [enable])
+        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+  AC_ARG_ENABLE([maintainer-mode],
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -993,7 +1034,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -1020,14 +1061,13 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
+# serial 7
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -1057,25 +1097,29 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2003-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 3
 
 # AM_PROG_MKDIR_P
 # ---------------
-# Check for `mkdir -p'.
+# Check for 'mkdir -p'.
 AC_DEFUN([AM_PROG_MKDIR_P],
 [AC_PREREQ([2.60])dnl
 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl FIXME to be removed in Automake 1.13.
+AC_DIAGNOSE([obsolete],
+[$0: this macro is deprecated, and will soon be removed.
+You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
+and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.])
 dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
 dnl while keeping a definition of mkdir_p for backward compatibility.
 dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
@@ -1092,14 +1136,13 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 6
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -1110,7 +1153,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 # --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
 # ------------------------
@@ -1126,22 +1169,18 @@ AC_DEFUN([_AM_IF_OPTION],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 9
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -1152,32 +1191,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+       # -L didn't work.
+       set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+       && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+       # If neither matched, then we have a broken ls.  This can happen
+       # if, for instance, CONFIG_SHELL is bash and it inherits a
+       # broken ls alias from the environment.  This has actually
+       # happened.  Such a system could not be considered "sane".
+       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -1187,39 +1234,55 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1240,18 +1303,18 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -1274,7 +1337,7 @@ AC_MSG_CHECKING([how to create a $1 tar archive])
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
 _am_tools=${am_cv_prog_tar_$1-$_am_tools}
 # Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
+# Solaris sh will not grok spaces in the rhs of '-'.
 for _am_tool in $_am_tools
 do
   case $_am_tool in
index a3910ce..893ebb3 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -43,7 +59,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -88,6 +104,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
@@ -126,9 +147,12 @@ am__relativize = \
   done; \
   reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -171,6 +195,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -244,6 +269,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -269,7 +295,7 @@ SUBDIRS = po
 all: all-recursive
 
 .SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -294,17 +320,20 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 alsaconf: $(top_builddir)/config.status $(srcdir)/alsaconf.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 install-sbinSCRIPTS: $(sbin_SCRIPTS)
        @$(NORMAL_INSTALL)
-       test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
        @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -335,12 +364,12 @@ uninstall-sbinSCRIPTS:
        dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -350,7 +379,11 @@ $(RECURSIVE_TARGETS):
        done; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -364,37 +397,6 @@ $(RECURSIVE_TARGETS):
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
 tags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
@@ -403,6 +405,10 @@ ctags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
        done
+cscopelist-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
+       done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -466,6 +472,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -476,10 +496,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -514,13 +534,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -646,22 +663,24 @@ uninstall-am: uninstall-man uninstall-sbinSCRIPTS
 
 uninstall-man: uninstall-man8
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-strip tags-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
+       cscopelist-recursive ctags-recursive install-am install-strip \
+       tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic ctags \
-       ctags-recursive distclean distclean-generic distclean-tags \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-man8 install-pdf install-pdf-am install-ps \
-       install-ps-am install-sbinSCRIPTS install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
-       uninstall-man uninstall-man8 uninstall-sbinSCRIPTS
+       all all-am check check-am clean clean-generic cscopelist \
+       cscopelist-recursive ctags ctags-recursive distclean \
+       distclean-generic distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-man8 install-pdf \
+       install-pdf-am install-ps install-ps-am install-sbinSCRIPTS \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
+       tags-recursive uninstall uninstall-am uninstall-man \
+       uninstall-man8 uninstall-sbinSCRIPTS
 
 
 install-man8:
index 5c23787..3d6adca 100644 (file)
@@ -300,17 +300,17 @@ if [ -n "$cfgfile" ]; then
     exit 1
   fi
 else
-if [ "$distribution" = "gentoo" ]; then
-  cfgfile="/etc/modules.d/alsa"
-elif [ "$kernel" = "new" ]; then
+if [ "$kernel" = "new" ]; then
   cfgfile="/etc/modprobe.conf"
   if [ -d /etc/modprobe.d ]; then
     cfgout="/etc/modprobe.d/50-sound.conf"
     cfgoldout="/etc/modprobe.d/sound"
     if [ ! -f $cfgout ]; then
-       modver=$(modprobe -V | sed -e's/^module-init-tools version //')
-       case "$modver" in
-       3.[789]*)
+       case "$(modprobe -V)" in
+       "module-init-tools version "3.[789]*|\
+       "module-init-tools version "3.1[0-9]*)
+         ;;
+       "kmod version "*)
          ;;
        *)
          cfgout="/etc/modprobe.d/sound"
diff --git a/alsactl/90-alsa-restore.rules b/alsactl/90-alsa-restore.rules
deleted file mode 100644 (file)
index 51ee299..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS=="card*", \
-        RUN+="/usr/sbin/alsactl restore $attr{number}"
index 0bcee5b..c0c1b23 100644 (file)
@@ -1,2 +1,8 @@
-ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS=="card*", \
-        RUN+="@sbindir@/alsactl restore $attr{number}"
+ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", TEST=="@sbindir@", TEST=="@mydatadir@", GOTO="alsa_restore_go"
+GOTO="alsa_restore_end"
+
+LABEL="alsa_restore_go"
+TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl restore $attr{device/number}"
+TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl nrestore $attr{device/number}"
+
+LABEL="alsa_restore_end"
index c434e44..47f06e9 100644 (file)
@@ -7,26 +7,35 @@ man_MANS += alsactl_init.7
 endif
 EXTRA_DIST=alsactl.1 alsactl_init.xml
 
-alsactl_SOURCES=alsactl.c state.c utils.c init_parse.c
-alsactl_CFLAGS=$(AM_CFLAGS) -DSYS_ASOUNDRC=\"$(ASOUND_STATE_DIR)/asound.state\"
-noinst_HEADERS=alsactl.h list.h init_sysdeps.c init_utils_string.c init_utils_run.c init_sysfs.c
+alsactl_SOURCES=alsactl.c state.c lock.c utils.c init_parse.c daemon.c \
+                monitor.c
 
-dist_udevrules_DATA = \
+alsactl_CFLAGS=$(AM_CFLAGS) -D__USE_GNU \
+               -DSYS_ASOUNDRC=\"$(ASOUND_STATE_DIR)/asound.state\" \
+               -DSYS_LOCKFILE=\"$(ASOUND_LOCK_DIR)/asound.state.lock\" \
+               -DSYS_PIDFILE=\"$(ALSACTL_PIDFILE_DIR)/alsactl.pid\"
+
+noinst_HEADERS=alsactl.h list.h init_sysdeps.c init_utils_string.c \
+               init_utils_run.c init_sysfs.c
+
+udevrules_DATA = \
        90-alsa-restore.rules
 
 if HAVE_SYSTEMD
 
 systemdsystemunit_DATA = \
-       alsa-store.service \
-       alsa-restore.service
+       alsa-state.service \
+       alsa-restore.service \
+       alsa-store.service
 
 install-data-hook:
        $(MKDIR_P) -m 0755 \
                $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants \
                $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants
        ( cd $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants && \
-               rm -f alsa-restore.service && \
-               $(LN_S) ../alsa-restore.service alsa-restore.service )
+               rm -f alsa-state.service alsa-restore.service && \
+               $(LN_S) ../alsa-state.service alsa-state.service && \
+               $(LN_S) ../alsa-restore.service alsa-restore.service)
        ( cd $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants && \
                rm -f alsa-store.service && \
                $(LN_S) ../alsa-store.service alsa-store.service )
@@ -34,25 +43,33 @@ install-data-hook:
 endif
 
 edit = \
-       $(SED) -r 's,@sbindir\@,$(sbindir),g' < $< > $@ || rm $@
+       $(SED) -r -e 's,@sbindir\@,$(sbindir),g' \
+                 -e 's,@mydatadir\@,$(mydatadir),g' \
+                 -e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \
+                                                       < $< > $@ || rm $@
 
-alsa-store.service: alsa-store.service.in
+alsa-state.service: alsa-state.service.in
        $(edit)
 
 alsa-restore.service: alsa-restore.service.in
        $(edit)
 
+alsa-store.service: alsa-store.service.in
+       $(edit)
+
 90-alsa-restore.rules: 90-alsa-restore.rules.in
        $(edit)
 
 EXTRA_DIST += \
-       alsa-store.service.in \
+       alsa-state.service.in \
        alsa-restore.service.in \
+       alsa-store.service.in \
        90-alsa-restore.rules.in
 
 CLEANFILES = \
-       alsa-store.service \
+       alsa-state.service \
        alsa-restore.service \
+       alsa-store.service \
        90-alsa-restore.rules
 
 %.7: %.xml
index 1f0c9c7..d9aba92 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -39,15 +55,15 @@ host_triplet = @host@
 sbin_PROGRAMS = alsactl$(EXEEXT)
 @USE_XMLTO_TRUE@am__append_1 = alsactl_init.7
 subdir = alsactl
-DIST_COMMON = $(dist_udevrules_DATA) $(noinst_HEADERS) \
-       $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -55,11 +71,13 @@ CONFIG_HEADER = $(top_builddir)/include/aconfig.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)" \
-       "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(udevrulesdir)" \
-       "$(DESTDIR)$(systemdsystemunitdir)"
+       "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(systemdsystemunitdir)" \
+       "$(DESTDIR)$(udevrulesdir)"
 PROGRAMS = $(sbin_PROGRAMS)
 am_alsactl_OBJECTS = alsactl-alsactl.$(OBJEXT) alsactl-state.$(OBJEXT) \
-       alsactl-utils.$(OBJEXT) alsactl-init_parse.$(OBJEXT)
+       alsactl-lock.$(OBJEXT) alsactl-utils.$(OBJEXT) \
+       alsactl-init_parse.$(OBJEXT) alsactl-daemon.$(OBJEXT) \
+       alsactl-monitor.$(OBJEXT)
 alsactl_OBJECTS = $(am_alsactl_OBJECTS)
 alsactl_LDADD = $(LDADD)
 alsactl_LINK = $(CCLD) $(alsactl_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
@@ -81,6 +99,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -112,7 +135,7 @@ man1dir = $(mandir)/man1
 man7dir = $(mandir)/man7
 NROFF = nroff
 MANS = $(man_MANS)
-DATA = $(dist_udevrules_DATA) $(systemdsystemunit_DATA)
+DATA = $(systemdsystemunit_DATA) $(udevrules_DATA)
 HEADERS = $(noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
@@ -149,9 +172,12 @@ am__relativize = \
   done; \
   reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -194,6 +220,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -267,6 +294,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -287,31 +315,45 @@ udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
 SUBDIRS = init
 man_MANS = alsactl.1 $(am__append_1)
-EXTRA_DIST = alsactl.1 alsactl_init.xml alsa-store.service.in \
-       alsa-restore.service.in 90-alsa-restore.rules.in
-alsactl_SOURCES = alsactl.c state.c utils.c init_parse.c
-alsactl_CFLAGS = $(AM_CFLAGS) -DSYS_ASOUNDRC=\"$(ASOUND_STATE_DIR)/asound.state\"
-noinst_HEADERS = alsactl.h list.h init_sysdeps.c init_utils_string.c init_utils_run.c init_sysfs.c
-dist_udevrules_DATA = \
+EXTRA_DIST = alsactl.1 alsactl_init.xml alsa-state.service.in \
+       alsa-restore.service.in alsa-store.service.in \
+       90-alsa-restore.rules.in
+alsactl_SOURCES = alsactl.c state.c lock.c utils.c init_parse.c daemon.c \
+                monitor.c
+
+alsactl_CFLAGS = $(AM_CFLAGS) -D__USE_GNU \
+               -DSYS_ASOUNDRC=\"$(ASOUND_STATE_DIR)/asound.state\" \
+               -DSYS_LOCKFILE=\"$(ASOUND_LOCK_DIR)/asound.state.lock\" \
+               -DSYS_PIDFILE=\"$(ALSACTL_PIDFILE_DIR)/alsactl.pid\"
+
+noinst_HEADERS = alsactl.h list.h init_sysdeps.c init_utils_string.c \
+               init_utils_run.c init_sysfs.c
+
+udevrules_DATA = \
        90-alsa-restore.rules
 
 @HAVE_SYSTEMD_TRUE@systemdsystemunit_DATA = \
-@HAVE_SYSTEMD_TRUE@    alsa-store.service \
-@HAVE_SYSTEMD_TRUE@    alsa-restore.service
+@HAVE_SYSTEMD_TRUE@    alsa-state.service \
+@HAVE_SYSTEMD_TRUE@    alsa-restore.service \
+@HAVE_SYSTEMD_TRUE@    alsa-store.service
 
 edit = \
-       $(SED) -r 's,@sbindir\@,$(sbindir),g' < $< > $@ || rm $@
+       $(SED) -r -e 's,@sbindir\@,$(sbindir),g' \
+                 -e 's,@mydatadir\@,$(mydatadir),g' \
+                 -e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \
+                                                       < $< > $@ || rm $@
 
 CLEANFILES = \
-       alsa-store.service \
+       alsa-state.service \
        alsa-restore.service \
+       alsa-store.service \
        90-alsa-restore.rules
 
 all: all-recursive
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -336,15 +378,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-sbinPROGRAMS: $(sbin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
        @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -389,7 +434,10 @@ distclean-compile:
        -rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsactl-alsactl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsactl-daemon.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsactl-init_parse.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsactl-lock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsactl-monitor.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsactl-state.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsactl-utils.Po@am__quote@
 
@@ -435,6 +483,20 @@ alsactl-state.obj: state.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -c -o alsactl-state.obj `if test -f 'state.c'; then $(CYGPATH_W) 'state.c'; else $(CYGPATH_W) '$(srcdir)/state.c'; fi`
 
+alsactl-lock.o: lock.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -MT alsactl-lock.o -MD -MP -MF $(DEPDIR)/alsactl-lock.Tpo -c -o alsactl-lock.o `test -f 'lock.c' || echo '$(srcdir)/'`lock.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsactl-lock.Tpo $(DEPDIR)/alsactl-lock.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lock.c' object='alsactl-lock.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -c -o alsactl-lock.o `test -f 'lock.c' || echo '$(srcdir)/'`lock.c
+
+alsactl-lock.obj: lock.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -MT alsactl-lock.obj -MD -MP -MF $(DEPDIR)/alsactl-lock.Tpo -c -o alsactl-lock.obj `if test -f 'lock.c'; then $(CYGPATH_W) 'lock.c'; else $(CYGPATH_W) '$(srcdir)/lock.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsactl-lock.Tpo $(DEPDIR)/alsactl-lock.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='lock.c' object='alsactl-lock.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -c -o alsactl-lock.obj `if test -f 'lock.c'; then $(CYGPATH_W) 'lock.c'; else $(CYGPATH_W) '$(srcdir)/lock.c'; fi`
+
 alsactl-utils.o: utils.c
 @am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -MT alsactl-utils.o -MD -MP -MF $(DEPDIR)/alsactl-utils.Tpo -c -o alsactl-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
 @am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsactl-utils.Tpo $(DEPDIR)/alsactl-utils.Po
@@ -462,13 +524,48 @@ alsactl-init_parse.obj: init_parse.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='init_parse.c' object='alsactl-init_parse.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -c -o alsactl-init_parse.obj `if test -f 'init_parse.c'; then $(CYGPATH_W) 'init_parse.c'; else $(CYGPATH_W) '$(srcdir)/init_parse.c'; fi`
+
+alsactl-daemon.o: daemon.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -MT alsactl-daemon.o -MD -MP -MF $(DEPDIR)/alsactl-daemon.Tpo -c -o alsactl-daemon.o `test -f 'daemon.c' || echo '$(srcdir)/'`daemon.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsactl-daemon.Tpo $(DEPDIR)/alsactl-daemon.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='daemon.c' object='alsactl-daemon.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -c -o alsactl-daemon.o `test -f 'daemon.c' || echo '$(srcdir)/'`daemon.c
+
+alsactl-daemon.obj: daemon.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -MT alsactl-daemon.obj -MD -MP -MF $(DEPDIR)/alsactl-daemon.Tpo -c -o alsactl-daemon.obj `if test -f 'daemon.c'; then $(CYGPATH_W) 'daemon.c'; else $(CYGPATH_W) '$(srcdir)/daemon.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsactl-daemon.Tpo $(DEPDIR)/alsactl-daemon.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='daemon.c' object='alsactl-daemon.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -c -o alsactl-daemon.obj `if test -f 'daemon.c'; then $(CYGPATH_W) 'daemon.c'; else $(CYGPATH_W) '$(srcdir)/daemon.c'; fi`
+
+alsactl-monitor.o: monitor.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -MT alsactl-monitor.o -MD -MP -MF $(DEPDIR)/alsactl-monitor.Tpo -c -o alsactl-monitor.o `test -f 'monitor.c' || echo '$(srcdir)/'`monitor.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsactl-monitor.Tpo $(DEPDIR)/alsactl-monitor.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='monitor.c' object='alsactl-monitor.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -c -o alsactl-monitor.o `test -f 'monitor.c' || echo '$(srcdir)/'`monitor.c
+
+alsactl-monitor.obj: monitor.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -MT alsactl-monitor.obj -MD -MP -MF $(DEPDIR)/alsactl-monitor.Tpo -c -o alsactl-monitor.obj `if test -f 'monitor.c'; then $(CYGPATH_W) 'monitor.c'; else $(CYGPATH_W) '$(srcdir)/monitor.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsactl-monitor.Tpo $(DEPDIR)/alsactl-monitor.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='monitor.c' object='alsactl-monitor.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alsactl_CFLAGS) $(CFLAGS) -c -o alsactl-monitor.obj `if test -f 'monitor.c'; then $(CYGPATH_W) 'monitor.c'; else $(CYGPATH_W) '$(srcdir)/monitor.c'; fi`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -500,11 +597,18 @@ uninstall-man1:
        dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
 install-man7: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man7dir)" || $(MKDIR_P) "$(DESTDIR)$(man7dir)"
-       @list=''; test -n "$(man7dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.7[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man7dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man7dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man7dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.7[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -534,50 +638,56 @@ uninstall-man7:
        } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \
              -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
        dir='$(DESTDIR)$(man7dir)'; $(am__uninstall_files_from_dir)
-install-dist_udevrulesDATA: $(dist_udevrules_DATA)
+install-systemdsystemunitDATA: $(systemdsystemunit_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(udevrulesdir)" || $(MKDIR_P) "$(DESTDIR)$(udevrulesdir)"
-       @list='$(dist_udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
+       @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(systemdsystemunitdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(systemdsystemunitdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
        done | $(am__base_list) | \
        while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevrulesdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(udevrulesdir)" || exit $$?; \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemdsystemunitdir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(systemdsystemunitdir)" || exit $$?; \
        done
 
-uninstall-dist_udevrulesDATA:
+uninstall-systemdsystemunitDATA:
        @$(NORMAL_UNINSTALL)
-       @list='$(dist_udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
+       @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(udevrulesdir)'; $(am__uninstall_files_from_dir)
-install-systemdsystemunitDATA: $(systemdsystemunit_DATA)
+       dir='$(DESTDIR)$(systemdsystemunitdir)'; $(am__uninstall_files_from_dir)
+install-udevrulesDATA: $(udevrules_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(systemdsystemunitdir)" || $(MKDIR_P) "$(DESTDIR)$(systemdsystemunitdir)"
-       @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
+       @list='$(udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(udevrulesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(udevrulesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
        done | $(am__base_list) | \
        while read files; do \
-         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemdsystemunitdir)'"; \
-         $(INSTALL_DATA) $$files "$(DESTDIR)$(systemdsystemunitdir)" || exit $$?; \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevrulesdir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(udevrulesdir)" || exit $$?; \
        done
 
-uninstall-systemdsystemunitDATA:
+uninstall-udevrulesDATA:
        @$(NORMAL_UNINSTALL)
-       @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
+       @list='$(udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-       dir='$(DESTDIR)$(systemdsystemunitdir)'; $(am__uninstall_files_from_dir)
+       dir='$(DESTDIR)$(udevrulesdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -587,7 +697,11 @@ $(RECURSIVE_TARGETS):
        done; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -601,37 +715,6 @@ $(RECURSIVE_TARGETS):
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
 tags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
@@ -640,6 +723,10 @@ ctags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
        done
+cscopelist-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
+       done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -703,6 +790,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -713,10 +814,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -751,13 +852,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -782,7 +880,7 @@ check: check-recursive
 all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) $(HEADERS)
 installdirs: installdirs-recursive
 installdirs-am:
-       for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(udevrulesdir)" "$(DESTDIR)$(systemdsystemunitdir)"; do \
+       for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(systemdsystemunitdir)" "$(DESTDIR)$(udevrulesdir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: install-recursive
@@ -839,8 +937,8 @@ info: info-recursive
 
 info-am:
 
-install-data-am: install-dist_udevrulesDATA install-man \
-       install-systemdsystemunitDATA
+install-data-am: install-man install-systemdsystemunitDATA \
+       install-udevrulesDATA
        @$(NORMAL_INSTALL)
        $(MAKE) $(AM_MAKEFLAGS) install-data-hook
 install-dvi: install-dvi-recursive
@@ -886,32 +984,33 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-dist_udevrulesDATA uninstall-man \
-       uninstall-sbinPROGRAMS uninstall-systemdsystemunitDATA
+uninstall-am: uninstall-man uninstall-sbinPROGRAMS \
+       uninstall-systemdsystemunitDATA uninstall-udevrulesDATA
 
 uninstall-man: uninstall-man1 uninstall-man7
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-data-am install-strip tags-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
+       cscopelist-recursive ctags-recursive install-am \
+       install-data-am install-strip tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
        all all-am check check-am clean clean-generic \
-       clean-sbinPROGRAMS ctags ctags-recursive distclean \
-       distclean-compile distclean-generic distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-data-hook \
-       install-dist_udevrulesDATA install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-man1 \
-       install-man7 install-pdf install-pdf-am install-ps \
-       install-ps-am install-sbinPROGRAMS install-strip \
-       install-systemdsystemunitDATA installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-dist_udevrulesDATA \
-       uninstall-man uninstall-man1 uninstall-man7 \
-       uninstall-sbinPROGRAMS uninstall-systemdsystemunitDATA
+       clean-sbinPROGRAMS cscopelist cscopelist-recursive ctags \
+       ctags-recursive distclean distclean-compile distclean-generic \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am \
+       install-data-hook install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-man1 install-man7 \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-sbinPROGRAMS install-strip \
+       install-systemdsystemunitDATA install-udevrulesDATA \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+       tags tags-recursive uninstall uninstall-am uninstall-man \
+       uninstall-man1 uninstall-man7 uninstall-sbinPROGRAMS \
+       uninstall-systemdsystemunitDATA uninstall-udevrulesDATA
 
 
 @HAVE_SYSTEMD_TRUE@install-data-hook:
@@ -919,18 +1018,22 @@ uninstall-man: uninstall-man1 uninstall-man7
 @HAVE_SYSTEMD_TRUE@            $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants \
 @HAVE_SYSTEMD_TRUE@            $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants
 @HAVE_SYSTEMD_TRUE@    ( cd $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants && \
-@HAVE_SYSTEMD_TRUE@            rm -f alsa-restore.service && \
-@HAVE_SYSTEMD_TRUE@            $(LN_S) ../alsa-restore.service alsa-restore.service )
+@HAVE_SYSTEMD_TRUE@            rm -f alsa-state.service alsa-restore.service && \
+@HAVE_SYSTEMD_TRUE@            $(LN_S) ../alsa-state.service alsa-state.service && \
+@HAVE_SYSTEMD_TRUE@            $(LN_S) ../alsa-restore.service alsa-restore.service)
 @HAVE_SYSTEMD_TRUE@    ( cd $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants && \
 @HAVE_SYSTEMD_TRUE@            rm -f alsa-store.service && \
 @HAVE_SYSTEMD_TRUE@            $(LN_S) ../alsa-store.service alsa-store.service )
 
-alsa-store.service: alsa-store.service.in
+alsa-state.service: alsa-state.service.in
        $(edit)
 
 alsa-restore.service: alsa-restore.service.in
        $(edit)
 
+alsa-store.service: alsa-store.service.in
+       $(edit)
+
 90-alsa-restore.rules: 90-alsa-restore.rules.in
        $(edit)
 
index e97d196..245a439 100644 (file)
@@ -1,7 +1,13 @@
+#
+# Note that two different ALSA card state management schemes exist and they
+# can be switched using a file exist check - /etc/alsa/state-daemon.conf .
+#
+
 [Unit]
 Description=Restore Sound Card State
+ConditionPathExists=!@daemonswitch@
 DefaultDependencies=no
-After=sysinit.target
+After=alsa-state.service
 Before=shutdown.target
 Conflicts=shutdown.target
 
diff --git a/alsactl/alsa-state.service.in b/alsactl/alsa-state.service.in
new file mode 100644 (file)
index 0000000..56c12c1
--- /dev/null
@@ -0,0 +1,17 @@
+#
+# Note that two different ALSA card state management schemes exist and they
+# can be switched using a file exist check - /etc/alsa/state-daemon.conf .
+#
+
+[Unit]
+Description=Manage Sound Card State (restore and store)
+ConditionPathExists=@daemonswitch@
+DefaultDependencies=no
+After=sysinit.target
+Before=shutdown.target
+Conflicts=shutdown.target
+
+[Service]
+Type=simple
+ExecStart=-@sbindir@/alsactl -s -n 19 -c rdaemon
+ExecStop=-@sbindir@/alsactl -s kill save_and_quit
index 0e2823c..f1a56bb 100644 (file)
@@ -1,5 +1,11 @@
+#
+# Note that two different ALSA card state management schemes exist and they
+# can be switched using a file exist check - /etc/alsa/state-daemon.conf .
+#
+
 [Unit]
 Description=Store Sound Card State
+ConditionPathExists=!@daemonswitch@
 DefaultDependencies=no
 Before=shutdown.target
 
index 054f511..c515fdd 100644 (file)
@@ -1,4 +1,4 @@
-.TH ALSACTL 1 "15 May 2001"
+.TH ALSACTL 1 "07 May 2014"
 .SH NAME
 alsactl \- advanced controls for ALSA soundcard driver
 
@@ -6,6 +6,8 @@ alsactl \- advanced controls for ALSA soundcard driver
 
 \fBalsactl\fP [\fIoptions\fP] [\fIstore\fP|\fIrestore\fP|\fIinit\fP] <card # or id or device>
 
+\fBalsactl\fP \fImonitor\fP <card # or id>
+
 .SH DESCRIPTION
 \fBalsactl\fP is used to control advanced settings for the ALSA
 soundcard drivers. It supports multiple soundcards. If your card has
@@ -21,11 +23,24 @@ to the configuration file.
 configuration file. If restoring fails (eventually partly), the init
 action is called.
 
+\fInrestore\fP is like \fIrestore\fP, but it notifies also the daemon
+to do new rescan for available soundcards.
+
 \fIinit\fP tries to initialize all devices to a default state. If device
 is not known, error code 99 is returned.
 
-If no soundcards are specified, setup for all cards will be saved or
-loaded.
+\fIdaemon\fP manages to save periodically the sound state.
+
+\fIrdaemon\fP like \fIdaemon\fP but restore the sound state at first.
+
+\fIkill\fP notifies the daemon to do the specified operation (quit,
+rescan, save_and_quit).
+
+\fImonitor\fP is for monitoring the events received from the given
+control device.
+
+If no soundcards are specified, setup for all cards will be saved,
+loaded or monitored.
 
 .SH OPTIONS
 
@@ -46,6 +61,20 @@ Print alsactl version number.
 Select the configuration file to use. The default is /var/lib/alsa/asound.state.
 
 .TP
+\fI\-l, \-\-lock\fP
+Use the file locking to serialize the concurrent access to the state file (this
+option is default for the global state file).
+
+.TP
+\fI\-L, \-\-no-lock\fP
+Do not use the file locking to serialize the concurrent access to the state
+file (including the global state file).
+
+.TP
+\fI\-O, \-\-lock-state-file\fP
+Select the state lock file path.
+
+.TP
 \fI\-F, \-\-force\fP
 Used with restore command.  Try to restore the matching control elements
 as much as possible.  This option is set as default now.
@@ -85,10 +114,34 @@ ALSA_CONFIG_PATH to read different or optimized configuration - may be
 useful for "boot" scripts).
 
 .TP
-\fI\-i, \-\-initfile\fP #=#
+\fI\-i, \-\-initfile\fP
 The configuration file for init. By default, PREFIX/share/alsa/init/00main
 is used.
 
+.TP
+\fI\-p, \-\-period\fP
+The store period in seconds for the daemon command.
+
+.TP
+\fI\-e, \-\-pid-file\fP
+The pathname to store the process-id file in the HDB UUCP format (ASCII).
+
+.TP
+\fI\-b, \-\-background\fP
+Run the task in background.
+
+.TP
+\fI\-s, \-\-syslog\fP
+Use syslog for messages.
+
+.TP
+\fI\-n, \-\-nice\fP
+Set the process priority (see 'man nice')
+
+.TP
+\fI\-c, \-\-sched-idle\fP
+Set the process scheduling policy to idle (SCHED_IDLE).
+
 .SH FILES
 \fI/var/lib/alsa/asound.state\fP (or whatever file you specify with the
 \fB\-f\fP flag) is used to store current settings for your
index 1792747..bcbc187 100644 (file)
 #include <stdio.h>
 #include <assert.h>
 #include <errno.h>
+#include <syslog.h>
+#include <sched.h>
 #include <alsa/asoundlib.h>
 #include "alsactl.h"
 
 #ifndef SYS_ASOUNDRC
 #define SYS_ASOUNDRC "/var/lib/alsa/asound.state"
 #endif
+#ifndef SYS_PIDFILE
+#define SYS_PIDFILE "/var/run/alsactl.pid"
+#endif
+#ifndef SYS_LOCKPATH
+#define SYS_LOCKPATH "/var/lock"
+#endif
 
 int debugflag = 0;
 int force_restore = 1;
 int ignore_nocards = 0;
+int do_lock = 0;
+int use_syslog = 0;
 char *command;
 char *statefile = NULL;
+char *lockfile = SYS_LOCKFILE;
+
+#define TITLE  0x0100
+#define HEADER 0x0200
+#define FILEARG 0x0400
+#define ENVARG 0x0800
+#define INTARG  0x1000
+#define EMPCMD 0x2000
+#define CARDCMD 0x4000
+#define KILLCMD 0x8000
+
+struct arg {
+       int sarg;
+       char *larg;
+       char *comment;
+};
+
+static struct arg args[] = {
+{ TITLE, NULL, "Usage: alsactl <options> command" },
+{ HEADER, NULL, "global options:" },
+{ 'h', "help", "this help" },
+{ 'd', "debug", "debug mode" },
+{ 'v', "version", "print version of this program" },
+{ HEADER, NULL, "Available state options:" },
+{ FILEARG | 'f', "file", "configuration file (default " SYS_ASOUNDRC ")" },
+{ 'l', "lock", "use file locking to serialize concurrent access" },
+{ 'L', "no-lock", "do not use file locking to serialize concurrent access" },
+{ FILEARG | 'O', "lock-state-file", "state lock file path (default " SYS_LOCKFILE ")" },
+{ 'F', "force", "try to restore the matching controls as much as possible" },
+{ 0, NULL, "  (default mode)" },
+{ 'g', "ignore", "ignore 'No soundcards found' error" },
+{ 'P', "pedantic", "do not restore mismatching controls (old default)" },
+{ 'I', "no-init-fallback", "" },
+{ 0, NULL, "don't initialize even if restore fails" },
+{ FILEARG | 'r', "runstate", "save restore and init state to this file (only errors)" },
+{ 0, NULL, "  default settings is 'no file set'" },
+{ 'R', "remove", "remove runstate file at first, otherwise append errors" },
+{ INTARG | 'p', "period", "store period in seconds for the daemon command" },
+{ FILEARG | 'e', "pid-file", "pathname for the process id (daemon mode)" },
+{ HEADER, NULL, "Available init options:" },
+{ ENVARG | 'E', "env", "set environment variable for init phase (NAME=VALUE)" },
+{ FILEARG | 'i', "initfile", "main configuation file for init phase" },
+{ 0, NULL, "  (default " DATADIR "/init/00main)" },
+{ 'b', "background", "run daemon in background" },
+{ 's', "syslog", "use syslog for messages" },
+{ INTARG | 'n', "nice", "set the process priority (see 'man nice')" },
+{ 'c', "sched-idle", "set the process scheduling policy to idle (SCHED_IDLE)" },
+{ HEADER, NULL, "Available commands:" },
+{ CARDCMD, "store", "save current driver setup for one or each soundcards" },
+{ EMPCMD, NULL, "  to configuration file" },
+{ CARDCMD, "restore", "load current driver setup for one or each soundcards" },
+{ EMPCMD, NULL, "  from configuration file" },
+{ CARDCMD, "nrestore", "like restore, but notify the daemon to rescan soundcards" },
+{ CARDCMD, "init", "initialize driver to a default state" },
+{ CARDCMD, "daemon", "store state periodically for one or each soundcards" },
+{ CARDCMD, "rdaemon", "like daemon but do the state restore at first" },
+{ KILLCMD, "kill", "notify daemon to quit, rescan or save_and_quit" },
+{ CARDCMD, "monitor", "monitor control events" },
+{ 0, NULL, NULL }
+};
 
 static void help(void)
 {
-       printf("Usage: alsactl <options> command\n");
-       printf("\nAvailable global options:\n");
-       printf("  -h,--help        this help\n");
-       printf("  -d,--debug       debug mode\n");
-       printf("  -v,--version     print version of this program\n");
-       printf("\nAvailable state options:\n");
-       printf("  -f,--file #      configuration file (default " SYS_ASOUNDRC ")\n");
-       printf("  -F,--force       try to restore the matching controls as much as possible\n");
-       printf("                   (default mode)\n");
-       printf("  -g,--ignore      ignore 'No soundcards found' error\n");
-       printf("  -P,--pedantic    do not restore mismatching controls (old default)\n");
-       printf("  -I,--no-init-fallback\n"
-              "                   don't initialize even if restore fails\n");
-       printf("  -r,--runstate #  save restore and init state to this file (only errors)\n");
-       printf("                   default settings is 'no file set'\n");
-       printf("  -R,--remove      remove runstate file at first, otherwise append errors\n");
-       printf("\nAvailable init options:\n");
-       printf("  -E,--env #=#     set environment variable for init phase (NAME=VALUE)\n");
-       printf("  -i,--initfile #  main configuation file for init phase (default " DATADIR "/init/00main)\n");
-       printf("\n");
-       printf("\nAvailable commands:\n");
-       printf("  store   <card #> save current driver setup for one or each soundcards\n");
-       printf("                   to configuration file\n");
-       printf("  restore <card #> load current driver setup for one or each soundcards\n");
-       printf("                   from configuration file\n");
-       printf("  init    <card #> initialize driver to a default state\n");
+       struct arg *n = args, *a;
+       char *larg, sa[4], buf[32];
+       int sarg;
+
+       sa[0] = '-';
+       sa[2] = ',';
+       sa[3] = '\0';
+       while (n->comment) {
+               a = n;
+               n++;
+               sarg = a->sarg;
+               if (sarg & (HEADER|TITLE)) {
+                       printf("%s%s\n", (sarg & HEADER) != 0 ? "\n" : "",
+                                                               a->comment);
+                       continue;
+               }
+               buf[0] = '\0';
+               larg = a->larg;
+               if (sarg & (EMPCMD|CARDCMD|KILLCMD)) {
+                       if (sarg & CARDCMD)
+                               strcat(buf, "<card>");
+                       else if (sarg & KILLCMD)
+                               strcat(buf, "<cmd>");
+                       printf("  %-8s  %-6s  %s\n", larg ? larg : "",
+                                                       buf, a->comment);
+                       continue;
+               }
+               sa[1] = a->sarg;
+               sprintf(buf, "%s%s%s", sa[1] ? sa : "",
+                               larg ? "--" : "", larg ? larg : "");
+               if (sarg & ENVARG)
+                       strcat(buf, " #=#");
+               else if (sarg & (FILEARG|INTARG))
+                       strcat(buf, " #");
+               printf("  %-15s  %s\n", buf, a->comment);
+       }
+}
+
+#define NO_NICE (-100000)
+
+static void do_nice(int use_nice, int sched_idle)
+{
+       struct sched_param sched_param;
+
+       if (use_nice != NO_NICE && nice(use_nice) < 0)
+               error("nice(%i): %s", use_nice, strerror(errno));
+       if (sched_idle) {
+               if (sched_getparam(0, &sched_param) >= 0) {
+                       sched_param.sched_priority = 0;
+                       if (!sched_setscheduler(0, SCHED_RR, &sched_param))
+                               error("sched_setparam failed: %s", strerror(errno));
+               } else {
+                       error("sched_getparam failed: %s", strerror(errno));
+               }
+       }
 }
 
 int main(int argc, char *argv[])
 {
-       static const struct option long_option[] =
-       {
-               {"help", 0, NULL, 'h'},
-               {"file", 1, NULL, 'f'},
-               {"env", 1, NULL, 'E'},
-               {"initfile", 1, NULL, 'i'},
-               {"no-init-fallback", 0, NULL, 'I'},
-               {"force", 0, NULL, 'F'},
-               {"ignore", 0, NULL, 'g'},
-               {"pedantic", 0, NULL, 'P'},
-               {"runstate", 0, NULL, 'r'},
-               {"remove", 0, NULL, 'R'},
-               {"debug", 0, NULL, 'd'},
-               {"version", 0, NULL, 'v'},
-               {NULL, 0, NULL, 0},
-       };
        static const char *const devfiles[] = {
                "/dev/snd/controlC",
                "/dev/snd/pcmC",
@@ -97,25 +180,70 @@ int main(int argc, char *argv[])
        };
        char *cfgfile = SYS_ASOUNDRC;
        char *initfile = DATADIR "/init/00main";
+       char *pidfile = SYS_PIDFILE;
        char *cardname, ncardname[16];
+       char *cmd;
        const char *const *tmp;
        int removestate = 0;
        int init_fallback = 1; /* new default behavior */
-       int res;
+       int period = 5*60;
+       int background = 0;
+       int daemoncmd = 0;
+       int use_nice = NO_NICE;
+       int sched_idle = 0;
+       struct arg *a;
+       struct option *o;
+       int i, j, k, res;
+       struct option *long_option;
+       char *short_option;
 
+       long_option = calloc(ARRAY_SIZE(args), sizeof(struct option));
+       if (long_option == NULL)
+               exit(EXIT_FAILURE);
+       short_option = malloc(128);
+       if (short_option == NULL) {
+               free(long_option);
+               exit(EXIT_FAILURE);
+       }
+       for (i = j = k = 0; i < ARRAY_SIZE(args); i++) {
+               a = &args[i];
+               if ((a->sarg & 0xff) == 0)
+                       continue;
+               o = &long_option[j];
+               o->name = a->larg;
+               o->has_arg = (a->sarg & (ENVARG|FILEARG|INTARG)) != 0;
+               o->flag = NULL;
+               o->val = a->sarg & 0xff;
+               j++;
+               short_option[k++] = o->val;
+               if (o->has_arg)
+                       short_option[k++] = ':';
+       }
+       short_option[k] = '\0';
        command = argv[0];
        while (1) {
                int c;
 
-               if ((c = getopt_long(argc, argv, "hdvf:FgE:i:IPr:R", long_option, NULL)) < 0)
+               if ((c = getopt_long(argc, argv, short_option, long_option,
+                                                                 NULL)) < 0)
                        break;
                switch (c) {
                case 'h':
                        help();
-                       return EXIT_SUCCESS;
+                       res = EXIT_SUCCESS;
+                       goto out;
                case 'f':
                        cfgfile = optarg;
                        break;
+               case 'l':
+                       do_lock = 1;
+                       break;
+               case 'L':
+                       do_lock = -1;
+                       break;
+               case 'O':
+                       lockfile = optarg;
+                       break;
                case 'F':
                        force_restore = 1;
                        break;
@@ -125,7 +253,8 @@ int main(int argc, char *argv[])
                case 'E':
                        if (putenv(optarg)) {
                                fprintf(stderr, "environment string '%s' is wrong\n", optarg);
-                               return EXIT_FAILURE;
+                               res = EXIT_FAILURE;
+                               goto out;
                        }
                        break;
                case 'i':
@@ -143,24 +272,56 @@ int main(int argc, char *argv[])
                case 'P':
                        force_restore = 0;
                        break;
+               case 'p':
+                       period = atoi(optarg);
+                       if (period < 10)
+                               period = 5*60;
+                       else if (period > 24*60*60)
+                               period = 24*60*60;
+                       break;
+               case 'e':
+                       pidfile = optarg;
+                       break;
+               case 'b':
+                       background = 1;
+                       break;
+               case 's':
+                       use_syslog = 1;
+                       break;
+               case 'n':
+                       use_nice = atoi(optarg);
+                       if (use_nice < -20)
+                               use_nice = -20;
+                       else if (use_nice > 19)
+                               use_nice = 19;
+                       break;
+               case 'c':
+                       sched_idle = 1;
+                       break;
                case 'd':
                        debugflag = 1;
                        break;
                case 'v':
                        printf("alsactl version " SND_UTIL_VERSION_STR "\n");
-                       return EXIT_SUCCESS;
+                       res = EXIT_SUCCESS;
+                       goto out;
                case '?':               // error msg already printed
                        help();
-                       return EXIT_FAILURE;
-                       break;
+                       res = EXIT_FAILURE;
+                       goto out;
                default:                // should never happen
                        fprintf(stderr, 
                        "Invalid option '%c' (%d) not handled??\n", c, c);
                }
        }
+       free(short_option);
+       short_option = NULL;
+       free(long_option);
+       long_option = NULL;
        if (argc - optind <= 0) {
                fprintf(stderr, "alsactl: Specify command...\n");
-               return 0;
+               res = 0;
+               goto out;
        }
 
        cardname = argc - optind > 1 ? argv[optind + 1] : NULL;
@@ -174,20 +335,64 @@ int main(int argc, char *argv[])
                }
        }
 
-       if (!strcmp(argv[optind], "init")) {
+       /* the global system file should be always locked */
+       if (strcmp(cfgfile, SYS_ASOUNDRC) == 0 && do_lock >= 0)
+               do_lock = 1;
+
+       /* when running in background, use syslog for reports */
+       if (background) {
+               use_syslog = 1;
+               daemon(0, 0);
+       }
+
+       cmd = argv[optind];
+       daemoncmd = strcmp(cmd, "daemon") == 0 || strcmp(cmd, "rdaemon") == 0;
+
+       if (use_syslog) {
+               openlog("alsactl", LOG_CONS|LOG_PID, LOG_DAEMON);
+               if (daemoncmd)
+                       syslog(LOG_INFO, "alsactl " SND_UTIL_VERSION_STR " daemon started");
+       }
+
+       if (!strcmp(cmd, "init")) {
                res = init(initfile, cardname);
-       } else if (!strcmp(argv[optind], "store")) {
+               snd_config_update_free_global();
+       } else if (!strcmp(cmd, "store")) {
                res = save_state(cfgfile, cardname);
-       } else if (!strcmp(argv[optind], "restore")) {
+       } else if (!strcmp(cmd, "restore") ||
+                   !strcmp(cmd, "rdaemon") ||
+                  !strcmp(cmd, "nrestore")) {
                if (removestate)
                        remove(statefile);
                res = load_state(cfgfile, initfile, cardname, init_fallback);
+               if (!strcmp(cmd, "rdaemon")) {
+                       do_nice(use_nice, sched_idle);
+                       res = state_daemon(cfgfile, cardname, period, pidfile);
+               }
+               if (!strcmp(cmd, "nrestore"))
+                       res = state_daemon_kill(pidfile, "rescan");
+       } else if (!strcmp(cmd, "daemon")) {
+               do_nice(use_nice, sched_idle);
+               res = state_daemon(cfgfile, cardname, period, pidfile);
+       } else if (!strcmp(cmd, "kill")) {
+               res = state_daemon_kill(pidfile, cardname);
+       } else if (!strcmp(cmd, "monitor")) {
+               res = monitor(cardname);
        } else {
-               fprintf(stderr, "alsactl: Unknown command '%s'...\n", 
-                       argv[optind]);
+               fprintf(stderr, "alsactl: Unknown command '%s'...\n", cmd);
                res = -ENODEV;
        }
 
        snd_config_update_free_global();
+       if (use_syslog) {
+               if (daemoncmd)
+                       syslog(LOG_INFO, "alsactl daemon stopped");
+               closelog();
+       }
        return res < 0 ? -res : 0;
+
+out:
+       free(short_option);
+       free(long_option);
+       return res;
 }
index be90efb..76e8c36 100644 (file)
@@ -1,77 +1,38 @@
 extern int debugflag;
 extern int force_restore;
 extern int ignore_nocards;
+extern int do_lock;
+extern int use_syslog;
 extern char *command;
 extern char *statefile;
+extern char *lockfile;
 
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-#define info(...) do {\
-       fprintf(stdout, "%s: %s:%d: ", command, __FUNCTION__, __LINE__); \
-       fprintf(stdout, __VA_ARGS__); \
-       putc('\n', stdout); \
-} while (0)
-#else
-#define info(args...) do {\
-       fprintf(stdout, "%s: %s:%d: ", command, __FUNCTION__, __LINE__); \
-       fprintf(stdout, ##args); \
-       putc('\n', stdout); \
-} while (0)
-#endif 
-
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-#define error(...) do {\
-       fprintf(stderr, "%s: %s:%d: ", command, __FUNCTION__, __LINE__); \
-       fprintf(stderr, __VA_ARGS__); \
-       putc('\n', stderr); \
-} while (0)
-#else
-#define error(args...) do {\
-       fprintf(stderr, "%s: %s:%d: ", command, __FUNCTION__, __LINE__); \
-       fprintf(stderr, ##args); \
-       putc('\n', stderr); \
-} while (0)
-#endif 
-
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-#define cerror(cond, ...) do {\
-       if (cond || debugflag) { \
-               fprintf(stderr, "%s%s: %s:%d: ", debugflag ? "WARNING: " : "", command, __FUNCTION__, __LINE__); \
-               fprintf(stderr, __VA_ARGS__); \
-               putc('\n', stderr); \
-       } \
-} while (0)
-#else
-#define cerror(cond, args...) do {\
-       if (cond || debugflag) { \
-               fprintf(stderr, "%s%s: %s:%d: ", debugflag ? "WARNING: " : "", command, __FUNCTION__, __LINE__); \
-               fprintf(stderr, ##args); \
-               putc('\n', stderr); \
-       } \
-} while (0)
-#endif 
+void info_(const char *fcn, long line, const char *fmt, ...);
+void error_(const char *fcn, long line, const char *fmt, ...);
+void cerror_(const char *fcn, long line, int cond, const char *fmt, ...);
+void dbg_(const char *fcn, long line, const char *fmt, ...);
 
 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-#define dbg(...) do {\
-       if (!debugflag) break; \
-       fprintf(stderr, "%s: %s:%d: ", command, __FUNCTION__, __LINE__); \
-       fprintf(stderr, __VA_ARGS__); \
-       putc('\n', stderr); \
-} while (0)
+#define info(...) do { info_(__FUNCTION__, __LINE__, __VA_ARGS__); } while (0)
+#define error(...) do { error_(__FUNCTION__, __LINE__, __VA_ARGS__); } while (0)
+#define cerror(cond, ...) do { cerror_(__FUNCTION__, __LINE__, (cond) != 0, __VA_ARGS__); } while (0)
+#define dbg(...) do { dbg_(__FUNCTION__, __LINE__, __VA_ARGS__); } while (0)
 #else
-#define dbg(args...) do {\
-       if (!debugflag) break; \
-       fprintf(stderr, "%s: %s:%d: ", command, __FUNCTION__, __LINE__); \
-       fprintf(stderr, ##args); \
-       putc('\n', stderr); \
-} while (0)
+#define info(args...) do { info_(__FUNCTION__, __LINE__, ##args); }  while (0)
+#define error(args...) do { error_(__FUNCTION__, __LINE__, ##args); }  while (0)
+#define cerror(cond, ...) do { error_(__FUNCTION__, __LINE__, (cond) != 0, ##args); } while (0)
+#define dbg(args...) do { dbg_(__FUNCTION__, __LINE__, ##args); }  while (0)
 #endif 
 
 int init(const char *file, const char *cardname);
+int state_lock(const char *file, int lock, int timeout);
 int save_state(const char *file, const char *cardname);
 int load_state(const char *file, const char *initfile, const char *cardname,
               int do_init);
 int power(const char *argv[], int argc);
-int generate_names(const char *cfgfile);
+int state_daemon(const char *file, const char *cardname, int period,
+                const char *pidfile);
+int state_daemon_kill(const char *pidfile, const char *cmd);
 
 /* utils */
 
@@ -92,3 +53,5 @@ static inline int hextodigit(int c)
                 return -1;
         return c;
 }
+
+#define ARRAY_SIZE(a) (sizeof (a) / sizeof (a)[0])
diff --git a/alsactl/daemon.c b/alsactl/daemon.c
new file mode 100644 (file)
index 0000000..127701e
--- /dev/null
@@ -0,0 +1,458 @@
+/*
+ *  Advanced Linux Sound Architecture Control Program
+ *  Copyright (c) by Jaroslav Kysela <perex@perex.cz>
+ *
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+
+#include "aconfig.h"
+#include "version.h"
+#include <getopt.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <assert.h>
+#include <errno.h>
+#include <signal.h>
+#include <time.h>
+#include <poll.h>
+#include <alsa/asoundlib.h>
+#include "alsactl.h"
+
+struct id_list {
+       snd_ctl_elem_id_t **list;
+       int size;
+};
+
+struct card {
+       int index;
+       int pfds;
+       snd_ctl_t *handle;
+       struct id_list whitelist;
+       struct id_list blacklist;
+};
+
+static int quit = 0;
+static int rescan = 0;
+static int save_now = 0;
+
+static void signal_handler_quit(int sig)
+{
+       quit = 1;
+       signal(sig, signal_handler_quit);
+}
+
+static void signal_handler_save_and_quit(int sig)
+{
+       quit = save_now = 1;
+       signal(sig, signal_handler_quit);
+}
+
+static void signal_handler_rescan(int sig)
+{
+       rescan = 1;
+       signal(sig, signal_handler_rescan);
+}
+
+static void free_list(struct id_list *list)
+{
+       int i;
+
+       for (i = 0; i < list->size; i++)
+               free(list->list[i]);
+       free(list->list);
+}
+
+static void card_free(struct card **card)
+{
+       struct card *c = *card;
+
+       free_list(&c->blacklist);
+       free_list(&c->whitelist);
+       if (c->handle)
+               snd_ctl_close(c->handle);
+       free(c);
+       *card = NULL;
+}
+
+static void add_card(struct card ***cards, int *count, const char *cardname)
+{
+       struct card *card, **cc;
+       int i, index, findex;
+       char device[16];
+
+       index = snd_card_get_index(cardname);
+       if (index < 0)
+               return;
+       for (i = 0, findex = -1; i < *count; i++) {
+               if ((*cards)[i] == NULL) {
+                       findex = i;
+               } else {
+                       if ((*cards)[i]->index == index)
+                               return;
+               }
+       }
+       card = calloc(1, sizeof(*card));
+       if (card == NULL)
+               return;
+       card->index = index;
+       sprintf(device, "hw:%i", index);
+       if (snd_ctl_open(&card->handle, device, SND_CTL_READONLY|SND_CTL_NONBLOCK) < 0) {
+               card_free(&card);
+               return;
+       }
+       card->pfds = snd_ctl_poll_descriptors_count(card->handle);
+       if (card->pfds < 0) {
+               card_free(&card);
+               return;
+       }
+       if (snd_ctl_subscribe_events(card->handle, 1) < 0) {
+               card_free(&card);
+               return;
+       }
+       if (findex >= 0) {
+               (*cards)[findex] = card;
+       } else {
+               cc = realloc(*cards, sizeof(void *) * (*count + 1));
+               if (cc == NULL) {
+                       card_free(&card);
+                       return;
+               }
+               cc[*count] = card;
+               *count = *count + 1;
+               *cards = cc;
+       }
+}
+
+static void add_cards(struct card ***cards, int *count)
+{
+       int card = -1;
+       char cardname[16];
+
+       while (1) {
+               if (snd_card_next(&card) < 0)
+                       break;
+               if (card < 0)
+                       break;
+               if (card >= 0) {
+                       sprintf(cardname, "%i", card);
+                       add_card(cards, count, cardname);
+               }
+       }
+}
+
+static int compare_ids(snd_ctl_elem_id_t *id1, snd_ctl_elem_id_t *id2)
+{
+       if (id1 == NULL || id2 == NULL)
+               return 0;
+       return snd_ctl_elem_id_get_interface(id1) == snd_ctl_elem_id_get_interface(id2) &&
+              snd_ctl_elem_id_get_index(id1) == snd_ctl_elem_id_get_index(id2) &&
+              strcmp(snd_ctl_elem_id_get_name(id1), snd_ctl_elem_id_get_name(id2)) == 0 &&
+              snd_ctl_elem_id_get_device(id1) == snd_ctl_elem_id_get_device(id2) &&
+              snd_ctl_elem_id_get_subdevice(id1) == snd_ctl_elem_id_get_subdevice(id2);
+}
+
+static int in_list(struct id_list *list, snd_ctl_elem_id_t *id)
+{
+       int i;
+       snd_ctl_elem_id_t *id1;
+
+       for (i = 0; i < list->size; i++) {
+               id1 = list->list[i];
+               if (id1 == NULL)
+                       continue;
+               if (compare_ids(id, id1))
+                       return 1;
+       }
+       return 0;
+}
+
+static void remove_from_list(struct id_list *list, snd_ctl_elem_id_t *id)
+{
+       int i;
+
+       for (i = 0; i < list->size; i++) {
+               if (compare_ids(id, list->list[i])) {
+                       free(list->list[i]);
+                       list->list[i] = NULL;
+               }
+       }
+}
+
+static void add_to_list(struct id_list *list, snd_ctl_elem_id_t *id)
+{
+       snd_ctl_elem_id_t *id1;
+       snd_ctl_elem_id_t **n;
+       int i;
+
+       if (snd_ctl_elem_id_malloc(&id1))
+               return;
+       snd_ctl_elem_id_copy(id1, id);
+       for (i = 0; i < list->size; i++) {
+               if (list->list[i] == NULL) {
+                       list->list[i] = id1;
+                       return;
+               }
+       }
+       n = realloc(list->list, sizeof(void *) * (list->size + 1));
+       if (n == NULL)
+               return;
+       n[list->size] = id1;
+       list->size++;
+       list->list = n;
+}
+
+static int check_lists(struct card *card, snd_ctl_elem_id_t *id)
+{
+       snd_ctl_elem_info_t *info;
+       snd_ctl_elem_info_alloca(&info);
+
+       if (in_list(&card->blacklist, id))
+               return 0;
+       if (in_list(&card->whitelist, id))
+               return 1;
+       snd_ctl_elem_info_set_id(info, id);
+       if (snd_ctl_elem_info(card->handle, info) < 0)
+               return 0;
+       if (snd_ctl_elem_info_is_writable(info) ||
+           snd_ctl_elem_info_is_tlv_writable(info)) {
+               add_to_list(&card->whitelist, id);
+               return 1;
+       } else {
+               add_to_list(&card->blacklist, id);
+               return 0;
+       }
+}
+
+static int card_events(struct card *card)
+{
+       int res = 0;
+       snd_ctl_event_t *ev;
+       snd_ctl_event_type_t type;
+       unsigned int mask;
+       snd_ctl_elem_id_t *id;
+       snd_ctl_event_alloca(&ev);
+       snd_ctl_elem_id_alloca(&id);
+
+       while (snd_ctl_read(card->handle, ev) == 1) {
+               type = snd_ctl_event_get_type(ev);
+               if (type != SND_CTL_EVENT_ELEM)
+                       continue;
+               mask = snd_ctl_event_elem_get_mask(ev);
+               snd_ctl_event_elem_get_id(ev, id);
+               if (mask == SND_CTL_EVENT_MASK_REMOVE) {
+                       remove_from_list(&card->whitelist, id);
+                       remove_from_list(&card->blacklist, id);
+                       continue;
+               }
+               if (mask & SND_CTL_EVENT_MASK_INFO) {
+                       remove_from_list(&card->whitelist, id);
+                       remove_from_list(&card->blacklist, id);
+               }
+               if (mask & (SND_CTL_EVENT_MASK_VALUE|
+                           SND_CTL_EVENT_MASK_ADD|
+                           SND_CTL_EVENT_MASK_TLV)) {
+                       if (check_lists(card, id))
+                               res = 1;
+               }
+       }
+       return res;
+}
+
+static long read_pid_file(const char *pidfile)
+{
+       int fd, err;
+       char pid_txt[12];
+
+       fd = open(pidfile, O_RDONLY);
+       if (fd >= 0) {
+               err = read(fd, pid_txt, 11);
+               if (err != 11)
+                       err = err < 0 ? -errno : -EIO;
+               close(fd);
+               pid_txt[11] = '\0';
+               return atol(pid_txt);
+       } else {
+               return -errno;
+       }
+}
+
+static int write_pid_file(const char *pidfile)
+{
+       int fd, err;
+       char pid_txt[12];
+
+       sprintf(pid_txt, "%10li\n", (long)getpid());
+       fd = open(pidfile, O_WRONLY|O_CREAT|O_EXCL, 0600);
+       if (fd >= 0) {
+               err = write(fd, pid_txt, 11);
+               if (err != 11) {
+                       err = err < 0 ? -errno : -EIO;
+                       unlink(pidfile);
+               } else {
+                       err = 0;
+               }
+               close(fd);
+       } else {
+               err = -errno;
+       }
+       return err;
+}
+
+int state_daemon_kill(const char *pidfile, const char *cmd)
+{
+       long pid;
+       int sig = SIGHUP;
+
+       if (cmd == NULL) {
+               error("Specify kill command (quit, rescan or save_and_quit)");
+               return -EINVAL;
+       }
+       if (strcmp(cmd, "rescan") == 0)
+               sig = SIGUSR1;
+       else if (strcmp(cmd, "save_and_quit") == 0)
+               sig = SIGUSR2;
+       else if (strcmp(cmd, "quit") == 0)
+               sig = SIGTERM;
+       if (sig == SIGHUP) {
+               error("Unknown kill command '%s'", cmd);
+               return -EINVAL;
+       }
+       pid = read_pid_file(pidfile);
+       if (pid > 0) {
+               if (kill(pid, sig) >= 0)
+                       return 0;
+               return -errno;
+       }
+       return 0;
+}
+
+static int check_another_instance(const char *pidfile)
+{
+       long pid;
+
+       pid = read_pid_file(pidfile);
+       if (pid >= 0) {
+               /* invoke new card rescan */
+               if (kill(pid, SIGUSR1) >= 0) {
+                       usleep(1000);
+                       pid = read_pid_file(pidfile);
+                       if (pid >= 0)
+                               return 1;
+               }
+       }
+       return 0;
+}
+
+int state_daemon(const char *file, const char *cardname, int period,
+                const char *pidfile)
+{
+       int count = 0, pcount, psize = 0, i, j, k, changed = 0;
+       time_t last_write, now;
+       unsigned short revents;
+       struct card **cards = NULL;
+       struct pollfd *pfd = NULL, *pfdn;
+
+       if (check_another_instance(pidfile))
+               return 0;
+       rescan = 1;
+       signal(SIGABRT, signal_handler_quit);
+       signal(SIGTERM, signal_handler_quit);
+       signal(SIGINT, signal_handler_quit);
+       signal(SIGUSR1, signal_handler_rescan);
+       signal(SIGUSR2, signal_handler_save_and_quit);
+       write_pid_file(pidfile);
+       time(&last_write);
+       while (!quit || save_now) {
+               if (save_now)
+                       goto save;
+               if (rescan) {
+                       if (cardname) {
+                               add_card(&cards, &count, cardname);
+                       } else {
+                               add_cards(&cards, &count);
+                       }
+                       snd_config_update_free_global();
+                       rescan = 0;
+               }
+               for (i = pcount = 0; i < count; i++) {
+                       if (cards[i] == NULL)
+                               continue;
+                       pcount += cards[i]->pfds;
+               }
+               if (pcount > psize) {
+                       pfdn = realloc(pfd, sizeof(struct pollfd) * pcount);
+                       if (pfdn) {
+                               psize = pcount;
+                               pfd = pfdn;
+                       } else {
+                               error("No enough memory...");
+                               goto out;
+                       }
+               }
+               for (i = j = 0; i < count; i++) {
+                       if (cards[i] == NULL)
+                               continue;
+                       k = snd_ctl_poll_descriptors(cards[i]->handle, pfd + j, pcount - j);
+                       if (k != cards[i]->pfds) {
+                               error("poll prepare failed: %i", k);
+                               goto out;
+                       }
+                       j += k;
+               }
+               i = poll(pfd, j, (period / 2) * 1000);
+               if (i < 0 && errno == EINTR)
+                       continue;
+               if (i < 0) {
+                       error("poll failed: %s", strerror(errno));
+                       break;
+               }
+               time(&now);
+               for (i = j = 0; i < count; i++) {
+                       if (cards[i] == NULL)
+                               continue;
+                       k = snd_ctl_poll_descriptors_revents(cards[i]->handle,
+                                       pfd + j, cards[i]->pfds, &revents);
+                       if (k < 0) {
+                               error("poll post failed: %i\n", k);
+                               goto out;
+                       }
+                       j += cards[i]->pfds;
+                       if (revents & (POLLERR|POLLNVAL)) {
+                               card_free(&cards[i]);
+                       } else if (revents & POLLIN) {
+                               if (card_events(cards[i])) {
+                                       /* delay the write */
+                                       if (!changed)
+                                               last_write = now;
+                                       changed = 1;
+                               }
+                       }
+               }
+               if ((now - last_write >= period && changed) || save_now) {
+save:
+                       changed = save_now = 0;
+                       save_state(file, cardname);
+               }
+       }
+out:
+       free(pfd);
+       remove(pidfile);
+       for (i = 0; i < count; i++)
+               card_free(&cards[i]);
+       free(cards);
+       return 0;
+}
index 9e2b83d..64dac41 100644 (file)
@@ -1,7 +1,7 @@
 
 init_files = \
        00main default help info test \
-       hda
+       hda ca0106
 EXTRA_DIST = $(init_files)
 alsainitdir = $(datadir)/alsa/init
 alsainit_DATA = $(init_files)
index a29e90a..d09d7e7 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -42,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -51,6 +67,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -82,9 +103,12 @@ am__installdirs = "$(DESTDIR)$(alsainitdir)"
 DATA = $(alsainit_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -127,6 +151,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -200,6 +225,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -220,7 +246,7 @@ udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
 init_files = \
        00main default help info test \
-       hda
+       hda ca0106
 
 EXTRA_DIST = $(init_files)
 alsainitdir = $(datadir)/alsa/init
@@ -228,7 +254,7 @@ alsainit_DATA = $(init_files)
 all: all-am
 
 .SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -253,15 +279,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-alsainitDATA: $(alsainit_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(alsainitdir)" || $(MKDIR_P) "$(DESTDIR)$(alsainitdir)"
        @list='$(alsainit_DATA)'; test -n "$(alsainitdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(alsainitdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(alsainitdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -282,6 +311,8 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
+cscope cscopelist:
+
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
diff --git a/alsactl/init/ca0106 b/alsactl/init/ca0106
new file mode 100644 (file)
index 0000000..7afd4df
--- /dev/null
@@ -0,0 +1,31 @@
+# Configuration for CA0106 driver
+
+CTL{reset}="mixer"
+CTL{name}="Master Playback Volume", CTL{value}="-20dB"
+CTL{name}="Master Playback Switch", CTL{value}="on"
+CTL{name}="Analog Front Playback Volume", CTL{value}="0dB"
+CTL{name}="Analog Front Playback Switch", CTL{value}="on"
+CTL{name}="Analog Rear Playback Volume", CTL{value}="0dB"
+CTL{name}="Analog Rear Playback Switch", CTL{value}="on"
+CTL{name}="Analog Center/LFE Playback Volume", CTL{value}="0dB"
+CTL{name}="Analog Center/LFE Playback Switch", CTL{value}="on"
+CTL{name}="Analog Side Playback Volume", CTL{value}="0dB"
+CTL{name}="Analog Side Playback Switch", CTL{value}="on"
+CTL{name}="IEC958 Front Playback Volume", CTL{value}="0dB"
+CTL{name}="IEC958 Rear Playback Volume", CTL{value}="0dB"
+CTL{name}="IEC958 Center/LFE Playback Volume", CTL{value}="0dB"
+# capture
+CTL{name}="Analog Source Capture Enum", CTL{value}="Mic"
+CTL{name}="Mic Capture Volume", CTL{value}="6dB"
+CTL{name}="Shared Mic/Line in Capture Switch", CTL{value}="Mic in"
+
+# some variants have also AC97 mixer
+
+CTL{reset}="mixer"
+CTL{name}="AC97 Line Capture Volume",PROGRAM!="__ctl_search",GOTO="ac97_end"
+CTL{name}="Analog Source Capture Enum", CTL{value}="AC97 in"
+CTL{name}="AC97 Mic Capture Switch", "on"
+CTL{name}="AC97 Mic Capture Value", "6dB"
+LABEL="ac97_end"
+
+RESULT="true", EXIT="return"
diff --git a/alsactl/lock.c b/alsactl/lock.c
new file mode 100644 (file)
index 0000000..6f85f20
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ *  Advanced Linux Sound Architecture Control Program
+ *  Copyright (c) by Jaroslav Kysela <perex@perex.cz>
+ *
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ */
+
+#include "aconfig.h"
+#include "version.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+#include "alsactl.h"
+
+static int state_lock_(const char *file, int lock, int timeout)
+{
+       int fd = -1, err = 0;
+       struct flock lck;
+       struct stat st;
+       char lcktxt[12];
+       char *nfile = lockfile;
+
+       if (do_lock <= 0)
+               return 0;
+
+       lck.l_type = lock ? F_WRLCK : F_UNLCK;
+       lck.l_whence = SEEK_SET;
+       lck.l_start = 0;
+       lck.l_len = 11;
+       lck.l_pid = 0;
+       if (lock) {
+               snprintf(lcktxt, sizeof(lcktxt), "%10li\n", (long)getpid());
+       } else {
+               snprintf(lcktxt, sizeof(lcktxt), "%10s\n", "");
+       }
+       while (fd < 0 && timeout-- > 0) {
+               fd = open(nfile, O_RDWR);
+               if (fd < 0) {
+                       fd = open(nfile, O_RDWR|O_CREAT|O_EXCL, 0644);
+                       if (fd < 0) {
+                               if (errno == EBUSY || errno == EAGAIN) {
+                                       sleep(1);
+                                       timeout--;
+                               } else {
+                                       err = -errno;
+                                       goto out;
+                               }
+                       }
+               }
+       }
+       if (fd < 0 && timeout <= 0) {
+               err = -EBUSY;
+               goto out;
+       }
+       if (fstat(fd, &st) < 0) {
+               err = -errno;
+               goto out;
+       }
+       if (st.st_size != 11) {
+               if (write(fd, lcktxt, 11) != 11) {
+                       err = -EIO;
+                       goto out;
+               }
+               if (lseek(fd, 0, SEEK_SET)) {
+                       err = -errno;
+                       goto out;
+               }
+       }
+       while (timeout > 0) {
+               if (fcntl(fd, F_SETLK, &lck) < 0) {
+                       sleep(1);
+                       timeout--;
+               } else {
+                       break;
+               }
+       }
+       if (timeout <= 0) {
+               err = -EBUSY;
+               goto out;
+       }
+       if (write(fd, lcktxt, 11) != 11) {
+               err = -EIO;
+               goto out;
+       }
+out:
+       return err;
+}
+
+int state_lock(const char *file, int lock, int timeout)
+{
+       int err;
+
+       err = state_lock_(file, lock, timeout);
+       if (err < 0)
+               error("file %s %slock error: %s", file,
+                               lock ? "" : "un", strerror(-err));
+       return err;
+}
diff --git a/alsactl/monitor.c b/alsactl/monitor.c
new file mode 100644 (file)
index 0000000..536176d
--- /dev/null
@@ -0,0 +1,145 @@
+/*
+ *  Advanced Linux Sound Architecture Control Program
+ *  Copyright (c) by Takashi Iwai <tiwai@suse.de>
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ */
+
+#include "aconfig.h"
+#include "version.h"
+#include <stdio.h>
+#include <alsa/asoundlib.h>
+
+static int open_ctl(const char *name, snd_ctl_t **ctlp)
+{
+       snd_ctl_t *ctl;
+       int err;
+
+       err = snd_ctl_open(&ctl, name, SND_CTL_READONLY);
+       if (err < 0) {
+               fprintf(stderr, "Cannot open ctl %s\n", name);
+               return err;
+       }
+       err = snd_ctl_subscribe_events(ctl, 1);
+       if (err < 0) {
+               fprintf(stderr, "Cannot open subscribe events to ctl %s\n", name);
+               snd_ctl_close(ctl);
+               return err;
+       }
+       *ctlp = ctl;
+       return 0;
+}
+
+static int print_event(int card, snd_ctl_t *ctl)
+{
+       snd_ctl_event_t *event;
+       unsigned int mask;
+       int err;
+
+       snd_ctl_event_alloca(&event);
+       err = snd_ctl_read(ctl, event);
+       if (err < 0)
+               return err;
+
+       if (snd_ctl_event_get_type(event) != SND_CTL_EVENT_ELEM)
+               return 0;
+
+       if (card >= 0)
+               printf("card %d, ", card);
+       printf("#%d (%i,%i,%i,%s,%i)",
+              snd_ctl_event_elem_get_numid(event),
+              snd_ctl_event_elem_get_interface(event),
+              snd_ctl_event_elem_get_device(event),
+              snd_ctl_event_elem_get_subdevice(event),
+              snd_ctl_event_elem_get_name(event),
+              snd_ctl_event_elem_get_index(event));
+
+       mask = snd_ctl_event_elem_get_mask(event);
+       if (mask == SND_CTL_EVENT_MASK_REMOVE) {
+               printf(" REMOVE\n");
+               return 0;
+       }
+
+       if (mask & SND_CTL_EVENT_MASK_VALUE)
+               printf(" VALUE");
+       if (mask & SND_CTL_EVENT_MASK_INFO)
+               printf(" INFO");
+       if (mask & SND_CTL_EVENT_MASK_ADD)
+               printf(" ADD");
+       if (mask & SND_CTL_EVENT_MASK_TLV)
+               printf(" TLV");
+       printf("\n");
+       return 0;
+}
+
+#define MAX_CARDS      256
+
+int monitor(const char *name)
+{
+       snd_ctl_t *ctls[MAX_CARDS];
+       int ncards = 0;
+       int show_cards;
+       int i, err;
+
+       if (!name) {
+               int card = -1;
+               while (snd_card_next(&card) >= 0 && card >= 0) {
+                       char cardname[16];
+                       if (ncards >= MAX_CARDS) {
+                               fprintf(stderr, "alsactl: too many cards\n");
+                               err = -E2BIG;
+                               goto error;
+                       }
+                       sprintf(cardname, "hw:%d", card);
+                       err = open_ctl(cardname, &ctls[ncards]);
+                       if (err < 0)
+                               goto error;
+                       ncards++;
+               }
+               show_cards = 1;
+       } else {
+               err = open_ctl(name, &ctls[0]);
+               if (err < 0)
+                       goto error;
+               ncards++;
+               show_cards = 0;
+       }
+
+       for (;;) {
+               struct pollfd fds[ncards];
+
+               for (i = 0; i < ncards; i++)
+                       snd_ctl_poll_descriptors(ctls[i], &fds[i], 1);
+
+               err = poll(fds, ncards, -1);
+               if (err <= 0) {
+                       err = 0;
+                       break;
+               }
+
+               for (i = 0; i < ncards; i++) {
+                       unsigned short revents;
+                       snd_ctl_poll_descriptors_revents(ctls[i], &fds[i], 1,
+                                                        &revents);
+                       if (revents & POLLIN)
+                               print_event(show_cards ? i : -1, ctls[i]);
+               }
+       }
+
+ error:
+       for (i = 0; i < ncards; i++)
+               snd_ctl_close(ctls[i]);
+       return err;
+}
index fec000d..c33f501 100644 (file)
@@ -31,9 +31,6 @@
 #include "alsactl.h"
 
 
-#define ARRAY_SIZE(a) (sizeof (a) / sizeof (a)[0])
-
-
 static char *id_str(snd_ctl_elem_id_t *id)
 {
        static char str[128];
@@ -185,11 +182,11 @@ static int add_tlv_comments(snd_ctl_t *handle, snd_ctl_elem_id_t *id,
                char *s = tlv_to_str(tlv);
                if (s) {
                        err = snd_config_string_add(comment, "tlv", s);
+                       free(s);
                        if (err < 0) {
                                error("snd_config_string_add: %s", snd_strerror(err));
                                return err;
                        }
-                       free(s);
                }
        }
 
@@ -1546,6 +1543,7 @@ int save_state(const char *file, const char *cardname)
        snd_input_t *in;
        snd_output_t *out;
        int stdio;
+       char *nfile = NULL;
 
        err = snd_config_top(&config);
        if (err < 0) {
@@ -1553,13 +1551,24 @@ int save_state(const char *file, const char *cardname)
                return err;
        }
        stdio = !strcmp(file, "-");
+       if (!stdio) {
+               nfile = malloc(strlen(file) + 5);
+               if (nfile == NULL) {
+                       error("No enough memory...");
+                       goto out;
+               }
+               strcpy(nfile, file);
+               strcat(nfile, ".new");
+               if (state_lock(file, 1, 10) != 0)
+                       goto out;
+       }
        if (!stdio && (err = snd_input_stdio_open(&in, file, "r")) >= 0) {
                err = snd_config_load(config, in);
                snd_input_close(in);
 #if 0
                if (err < 0) {
                        error("snd_config_load error: %s", snd_strerror(err));
-                       return err;
+                       goto out;
                }
 #endif
        }
@@ -1575,17 +1584,19 @@ int save_state(const char *file, const char *cardname)
                        if (card < 0) {
                                if (first) {
                                        if (ignore_nocards) {
-                                               return 0;
+                                               err = 0;
+                                               goto out;
                                        } else {
                                                error("No soundcards found...");
-                                               return -ENODEV;
+                                               err = -ENODEV;
+                                               goto out;
                                        }
                                }
                                break;
                        }
                        first = 0;
                        if ((err = get_controls(card, config)))
-                               return err;
+                               goto out;
                }
        } else {
                int cardno;
@@ -1593,26 +1604,40 @@ int save_state(const char *file, const char *cardname)
                cardno = snd_card_get_index(cardname);
                if (cardno < 0) {
                        error("Cannot find soundcard '%s'...", cardname);
-                       return cardno;
+                       err = cardno;
+                       goto out;
                }
                if ((err = get_controls(cardno, config))) {
-                       return err;
+                       goto out;
                }
        }
        
-       if (stdio)
+       if (stdio) {
                err = snd_output_stdio_attach(&out, stdout, 0);
-       else
-               err = snd_output_stdio_open(&out, file, "w");
+       } else {
+               err = snd_output_stdio_open(&out, nfile, "w");
+       }
        if (err < 0) {
                error("Cannot open %s for writing: %s", file, snd_strerror(err));
-               return -errno;
+               err = -errno;
+               goto out;
        }
        err = snd_config_save(config, out);
        snd_output_close(out);
-       if (err < 0)
+       if (err < 0) {
                error("snd_config_save: %s", snd_strerror(err));
-       return 0;
+       } else {
+               err = rename(nfile, file);
+               if (err < 0)
+                       error("rename failed: %s (%s)", strerror(-err), file);
+       }
+out:
+       if (!stdio)
+               state_lock(file, 0, 10);
+       free(nfile);
+       snd_config_delete(config);
+       snd_config_update_free_global();
+       return err;
 }
 
 int load_state(const char *file, const char *initfile, const char *cardname,
@@ -1621,7 +1646,7 @@ int load_state(const char *file, const char *initfile, const char *cardname,
        int err, finalerr = 0;
        snd_config_t *config;
        snd_input_t *in;
-       int stdio;
+       int stdio, locked = 0;
 
        err = snd_config_top(&config);
        if (err < 0) {
@@ -1629,16 +1654,21 @@ int load_state(const char *file, const char *initfile, const char *cardname,
                return err;
        }
        stdio = !strcmp(file, "-");
-       if (stdio)
+       if (stdio) {
                err = snd_input_stdio_attach(&in, stdin, 0);
-       else
-               err = snd_input_stdio_open(&in, file, "r");
+       } else {
+               err = state_lock(file, 1, 10);
+               locked = err >= 0;
+               err = err >= 0 ? snd_input_stdio_open(&in, file, "r") : err;
+       }
        if (err >= 0) {
                err = snd_config_load(config, in);
                snd_input_close(in);
+               if (locked)
+                       state_lock(file, 0, 10);
                if (err < 0) {
                        error("snd_config_load error: %s", snd_strerror(err));
-                       return err;
+                       goto out;
                }
        } else {
                int card, first = 1;
@@ -1650,7 +1680,8 @@ int load_state(const char *file, const char *initfile, const char *cardname,
                        card = snd_card_get_index(cardname);
                        if (card < 0) {
                                error("Cannot find soundcard '%s'...", cardname);
-                               return -ENODEV;
+                               err = -ENODEV;
+                               goto out;
                        }
                        goto single;
                } else {
@@ -1676,7 +1707,8 @@ single:
                }
                if (first)
                        finalerr = 0;   /* no cards, no error code */
-               return finalerr;
+               err = finalerr;
+               goto out;
        }
 
        if (!cardname) {
@@ -1691,10 +1723,12 @@ single:
                        if (card < 0) {
                                if (first) {
                                        if (ignore_nocards) {
-                                               return 0;
+                                               err = 0;
+                                               goto out;
                                        } else {
                                                error("No soundcards found...");
-                                               return -ENODEV;
+                                               err = -ENODEV;
+                                               goto out;
                                        }
                                }
                                break;
@@ -1721,7 +1755,8 @@ single:
                cardno = snd_card_get_index(cardname);
                if (cardno < 0) {
                        error("Cannot find soundcard '%s'...", cardname);
-                       return -ENODEV;
+                       err = -ENODEV;
+                       goto out;
                }
                /* do a check if controls matches state file */
                if (do_init && set_controls(cardno, config, 0)) {
@@ -1734,8 +1769,12 @@ single:
                if ((err = set_controls(cardno, config, 1))) {
                        initfailed(cardno, "restore", err);
                        if (!force_restore)
-                               return err;
+                               goto out;
                }
        }
-       return finalerr;
+       err = finalerr;
+out:
+       snd_config_delete(config);
+       snd_config_update_free_global();
+       return err;
 }
index a27eb6e..b5d183c 100644 (file)
@@ -27,6 +27,7 @@
 #include <errno.h>
 #include <ctype.h>
 #include <dirent.h>
+#include <syslog.h>
 #include <sys/stat.h>
 #include <sys/mman.h>
 
@@ -100,3 +101,79 @@ void initfailed(int cardnumber, const char *reason, int exitcode)
        close(fp);
        free(str);
 }
+
+static void syslog_(int prio, const char *fcn, long line,
+                   const char *fmt, va_list ap)
+{
+       char buf[1024];
+
+       snprintf(buf, sizeof(buf), "%s: %s:%ld", command, fcn, line);
+       buf[sizeof(buf)-1] = '\0';
+       vsnprintf(buf + strlen(buf), sizeof(buf)-strlen(buf), fmt, ap);
+       buf[sizeof(buf)-1] = '\0';
+       syslog(LOG_INFO, "%s", buf);
+}
+
+void info_(const char *fcn, long line, const char *fmt, ...)
+{
+       va_list ap;
+
+       va_start(ap, fmt);
+       if (use_syslog) {
+               syslog_(LOG_INFO, fcn, line, fmt, ap);
+       } else {
+               fprintf(stdout, "%s: %s:%ld: ", command, fcn, line);
+               vfprintf(stdout, fmt, ap);
+               putc('\n', stdout);
+       }
+       va_end(ap);
+}
+
+void error_(const char *fcn, long line, const char *fmt, ...)
+{
+       va_list ap;
+
+       va_start(ap, fmt);
+       if (use_syslog) {
+               syslog_(LOG_ERR, fcn, line, fmt, ap);
+       } else {
+               fprintf(stderr, "%s: %s:%ld: ", command, fcn, line);
+               vfprintf(stderr, fmt, ap);
+               putc('\n', stderr);
+       }
+       va_end(ap);
+}
+
+void cerror_(const char *fcn, long line, int cond, const char *fmt, ...)
+{
+       va_list ap;
+
+       if (!cond && !debugflag)
+               return;
+       va_start(ap, fmt);
+       if (use_syslog) {
+               syslog_(LOG_ERR, fcn, line, fmt, ap);
+       } else {
+               fprintf(stderr, "%s: %s:%ld: ", command, fcn, line);
+               vfprintf(stderr, fmt, ap);
+               putc('\n', stderr);
+               va_end(ap);
+       }
+}
+
+void dbg_(const char *fcn, long line, const char *fmt, ...)
+{
+       va_list ap;
+
+       if (!debugflag)
+               return;
+       va_start(ap, fmt);
+       if (use_syslog) {
+               syslog_(LOG_DEBUG, fcn, line, fmt, ap);
+       } else {
+               fprintf(stderr, "%s: %s:%ld: ", command, fcn, line);
+               vfprintf(stderr, fmt, ap);
+               putc('\n', stderr);
+               va_end(ap);
+       }
+}
index a694911..4cdf20b 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = -lm
 AM_CFLAGS = -D_GNU_SOURCE
 if HAVE_SAMPLERATE
index b9a974e..42c72bf 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -39,14 +55,14 @@ host_triplet = @host@
 bin_PROGRAMS = alsaloop$(EXEEXT)
 subdir = alsaloop
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+       $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -71,6 +87,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(alsaloop_SOURCES)
 DIST_SOURCES = $(alsaloop_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -106,9 +127,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -151,6 +175,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -224,6 +249,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -242,7 +268,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = -lm $(am__append_1)
 AM_CFLAGS = -D_GNU_SOURCE
 alsaloop_SOURCES = alsaloop.c pcmjob.c control.c
@@ -253,7 +279,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -278,15 +304,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -349,11 +378,18 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -433,6 +469,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -443,10 +493,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -590,7 +640,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index 048d1e0..33fa4d1 100644 (file)
@@ -1,6 +1,6 @@
 .TH ALSALOOP 1 "5 Aug 2010"
 .SH NAME
-alsaloop \- command-line PCM loopback
+alsaloop \- command\-line PCM loopback
 .SH SYNOPSIS
 \fBalsaloop\fP [\fI\-option\fP] [\fIcmd\fP]
 .SH DESCRIPTION
@@ -27,10 +27,10 @@ Use given configuration file. The syntax of this file is simple: one line
 contains the command line options for one job. The '#' means comment and
 rest of line is ignored. Example:
 
-  # First line - comment, second line - first job
-  -C hw:1,0 -P hw:0,0 -t 50000 -T 1
-  # Third line - comment, fourth line - second job
-  -C hw:1,1 -P hw:0,1 -t 40000 -T 2
+  # First line \- comment, second line \- first job
+  \-C hw:1,0 \-P hw:0,0 \-t 50000 \-T 1
+  # Third line \- comment, fourth line \- second job
+  \-C hw:1,1 \-P hw:0,1 \-t 40000 \-T 2
 
 .TP
 \fI\-d\fP | \fI\-\-daemonize\fP
@@ -70,7 +70,7 @@ Requested latency in usec (1/1000000sec).
 .TP
 \fI\-f <format>\fP | \fI\-\-format=<format>\fP
 
-Format specification (usually S16_LE S32_LE). Use -h to list all formats.
+Format specification (usually S16_LE S32_LE). Use \-h to list all formats.
 Default format is S16_LE.
 
 .TP
@@ -86,19 +86,19 @@ Rate specification. Default value is 48000 (Hz).
 .TP
 \fI\-n\fP | \fI\-\-resample\fP
 
-Allow rate resampling using alsa-lib.
+Allow rate resampling using alsa\-lib.
 
 .TP
 \fI\-A <converter>\fP | \fI\-\-samplerate=<converter>\fP
 
 Use libsamplerate and choose a converter:
 
-  0 or sincbest     - best quality
-  1 or sincmedium   - medium quality
-  2 or sincfastest  - lowest quality
-  3 or zerohold     - hold zero samples
-  4 or linear       - worst quality - linear resampling
-  5 or auto         - choose best method
+  0 or sincbest     \- best quality
+  1 or sincmedium   \- medium quality
+  2 or sincfastest  \- lowest quality
+  3 or zerohold     \- hold zero samples
+  4 or linear       \- worst quality - linear resampling
+  5 or auto         \- choose best method
 
 .TP
 \fI\-B <size>\fP | \fI\-\-buffer=<size>\fP
@@ -118,30 +118,30 @@ Duration of loop in seconds.
 .TP
 \fI\-b\fP | \fI\-\-nblock\fP
 
-Non-block mode (very early process wakeup). Eats more CPU.
+Non\-block mode (very early process wakeup). Eats more CPU.
 
 .TP
 \fI\-S <mode>\fP | \fI\-\-sync=<mode>\fP
 
 Sync mode specification for capture to playback stream:
-  0 or none       - do not touch the stream
-  1 or simple     - add or remove samples to keep
+  0 or none       \- do not touch the stream
+  1 or simple     \- add or remove samples to keep
                     both streams synchronized
-  2 or captshift  - use driver for the capture device
+  2 or captshift  \- use driver for the capture device
                     (if supported) to compensate
                     the rate shift
-  3 or playshift  - use driver for the playback device
+  3 or playshift  \- use driver for the playback device
                     (if supported) to compensate
                     the rate shift
-  4 or samplerate - use samplerate library to do rate resampling
-  5 or auto       - automatically selects the best method
+  4 or samplerate \- use samplerate library to do rate resampling
+  5 or auto       \- automatically selects the best method
                     in this order: captshift, playshift,
                     samplerate, simple
 
 .TP
 \fI\-T <num>\fP | \fI\-\-thread=<num>\fP
 
-Thread number (-1 means create a unique thread). All jobs with same
+Thread number (\-1 means create a unique thread). All jobs with same
 thread numbers are run within one thread.
 
 .TP
@@ -155,12 +155,12 @@ Redirect mixer control from the playback card to the capture card. Format of
 
 Known attributes:
 
-  name      - control ID name
-  index     - control ID index
-  device    - control ID device
-  subdevice - control ID subdevice
-  iface     - control ID interface
-  numid     - control ID numid
+  name      \- control ID name
+  index     \- control ID index
+  device    \- control ID device
+  subdevice \- control ID subdevice
+  iface     \- control ID interface
+  numid     \- control ID numid
 
 .TP
 \fI\-O <ossmixid>\fP | \fI\-\-ossmixer=<midid>\fP
index 8710dd1..3b20682 100644 (file)
@@ -31,7 +31,7 @@
 #include <math.h>
 #include <pthread.h>
 #include <syslog.h>
-#include <sys/signal.h>
+#include <signal.h>
 #include "alsaloop.h"
 
 struct loopback_thread {
@@ -195,6 +195,7 @@ void help(void)
 "-w,--workaround use workaround (serialopen)\n"
 "-U,--xrun      xrun profiling\n"
 "-W,--wake      process wake timeout in ms\n"
+"-z,--syslog    use syslog for errors\n"
 );
        printf("\nRecognized sample formats are:");
        for (k = 0; k < SND_PCM_FORMAT_LAST; ++k) {
@@ -334,6 +335,14 @@ static int add_oss_mixers(struct loopback *loop,
        return 0;
 }
 
+static void enable_syslog(void)
+{
+       if (!use_syslog) {
+               use_syslog = 1;
+               openlog("alsaloop", LOG_NDELAY|LOG_PID, LOG_DAEMON);
+       }
+}
+
 static int parse_config_file(const char *file, snd_output_t *output);
 
 static int parse_config(int argc, char *argv[], snd_output_t *output,
@@ -368,6 +377,7 @@ static int parse_config(int argc, char *argv[], snd_output_t *output,
                {"ossmixer", 1, NULL, 'O'},
                {"workaround", 1, NULL, 'w'},
                {"xrun", 0, NULL, 'U'},
+               {"syslog", 0, NULL, 'z'},
                {NULL, 0, NULL, 0},
        };
        int err, morehelp;
@@ -387,7 +397,9 @@ static int parse_config(int argc, char *argv[], snd_output_t *output,
        int arg_nblock = 0;
        int arg_effect = 0;
        int arg_resample = 0;
+#ifdef USE_SAMPLERATE
        int arg_samplerate = SRC_SINC_FASTEST + 1;
+#endif
        int arg_sync = SYNC_TYPE_AUTO;
        int arg_slave = SLAVE_TYPE_AUTO;
        int arg_thread = 0;
@@ -403,7 +415,7 @@ static int parse_config(int argc, char *argv[], snd_output_t *output,
        while (1) {
                int c;
                if ((c = getopt_long(argc, argv,
-                               "hdg:P:C:X:Y:l:t:F:f:c:r:s:benvA:S:a:m:T:O:w:UW:",
+                               "hdg:P:C:X:Y:l:t:F:f:c:r:s:benvA:S:a:m:T:O:w:UW:z",
                                long_option, NULL)) < 0)
                        break;
                switch (c) {
@@ -415,8 +427,7 @@ static int parse_config(int argc, char *argv[], snd_output_t *output,
                        break;
                case 'd':
                        daemonize = 1;
-                       use_syslog = 1;
-                       openlog("alsaloop", LOG_NDELAY|LOG_PID, LOG_DAEMON);
+                       enable_syslog();
                        break;
                case 'P':
                        arg_pdevice = strdup(optarg);
@@ -474,6 +485,7 @@ static int parse_config(int argc, char *argv[], snd_output_t *output,
                case 'n':
                        arg_resample = 1;
                        break;
+#ifdef USE_SAMPLERATE
                case 'A':
                        if (strcasecmp(optarg, "sincbest") == 0)
                                arg_samplerate = SRC_SINC_BEST_QUALITY;
@@ -491,6 +503,7 @@ static int parse_config(int argc, char *argv[], snd_output_t *output,
                                arg_sync = SRC_SINC_FASTEST;
                        arg_samplerate += 1;
                        break;
+#endif
                case 'S':
                        if (strcasecmp(optarg, "samplerate") == 0)
                                arg_sync = SYNC_TYPE_SAMPLERATE;
@@ -557,6 +570,9 @@ static int parse_config(int argc, char *argv[], snd_output_t *output,
                        if (cmdline)
                                arg_default_wake = arg_wake;
                        break;
+               case 'z':
+                       enable_syslog();
+                       break;
                }
        }
 
@@ -610,11 +626,6 @@ static int parse_config(int argc, char *argv[], snd_output_t *output,
                loop->src_enable = arg_samplerate > 0;
                if (loop->src_enable)
                        loop->src_converter_type = arg_samplerate - 1;
-#else
-               if (arg_samplerate > 0) {
-                       logit(LOG_CRIT, "No libsamplerate support.\n");
-                       exit(EXIT_FAILURE);
-               }
 #endif
                set_loop_time(loop, arg_loop_time);
                add_loop(loop);
index 139b6fd..f32180c 100644 (file)
@@ -62,11 +62,22 @@ static const char *src_types[] = {
 };
 #endif
 
-static pthread_mutex_t pcm_open_mutex =
-                                PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+static pthread_once_t pcm_open_mutex_once = PTHREAD_ONCE_INIT;
+static pthread_mutex_t pcm_open_mutex;
+
+static void pcm_open_init_mutex(void)
+{
+       pthread_mutexattr_t attr;
+
+       pthread_mutexattr_init(&attr);
+       pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+       pthread_mutex_init(&pcm_open_mutex, &attr);
+       pthread_mutexattr_destroy(&attr);
+}
 
 static inline void pcm_open_lock(void)
 {
+       pthread_once(&pcm_open_mutex_once, pcm_open_init_mutex);
        if (workarounds & WORKAROUND_SERIALOPEN)
                pthread_mutex_lock(&pcm_open_mutex);
 }
index 8a82323..259b29e 100644 (file)
@@ -19,7 +19,7 @@ alsamixer_SOURCES = card_select.c card_select.h \
                widget.c widget.h
 man_MANS = alsamixer.1
 EXTRA_DIST = alsamixer.1
-alsamixer_INCLUDES = -I$(top_srcdir)/include
+alsamixer_CPPFLAGS = -I$(top_srcdir)/include
 
 #LDFLAGS = -static
 #CFLAGS += -g -Wall
index 0c3cc5a..74be5a3 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -36,14 +52,15 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = alsamixer$(EXEEXT)
 subdir = alsamixer
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -52,12 +69,16 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
 PROGRAMS = $(bin_PROGRAMS)
-am_alsamixer_OBJECTS = card_select.$(OBJEXT) cli.$(OBJEXT) \
-       colors.$(OBJEXT) device_name.$(OBJEXT) die.$(OBJEXT) \
-       mainloop.$(OBJEXT) mem.$(OBJEXT) mixer_controls.$(OBJEXT) \
-       mixer_display.$(OBJEXT) mixer_widget.$(OBJEXT) \
-       proc_files.$(OBJEXT) textbox.$(OBJEXT) utils.$(OBJEXT) \
-       volume_mapping.$(OBJEXT) widget.$(OBJEXT)
+am_alsamixer_OBJECTS = alsamixer-card_select.$(OBJEXT) \
+       alsamixer-cli.$(OBJEXT) alsamixer-colors.$(OBJEXT) \
+       alsamixer-device_name.$(OBJEXT) alsamixer-die.$(OBJEXT) \
+       alsamixer-mainloop.$(OBJEXT) alsamixer-mem.$(OBJEXT) \
+       alsamixer-mixer_controls.$(OBJEXT) \
+       alsamixer-mixer_display.$(OBJEXT) \
+       alsamixer-mixer_widget.$(OBJEXT) \
+       alsamixer-proc_files.$(OBJEXT) alsamixer-textbox.$(OBJEXT) \
+       alsamixer-utils.$(OBJEXT) alsamixer-volume_mapping.$(OBJEXT) \
+       alsamixer-widget.$(OBJEXT)
 alsamixer_OBJECTS = $(am_alsamixer_OBJECTS)
 alsamixer_LDADD = $(LDADD)
 alsamixer_DEPENDENCIES =
@@ -71,6 +92,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(alsamixer_SOURCES)
 DIST_SOURCES = $(alsamixer_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -105,9 +131,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -150,6 +179,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -223,6 +253,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -261,12 +292,12 @@ alsamixer_SOURCES = card_select.c card_select.h \
 
 man_MANS = alsamixer.1
 EXTRA_DIST = alsamixer.1
-alsamixer_INCLUDES = -I$(top_srcdir)/include
+alsamixer_CPPFLAGS = -I$(top_srcdir)/include
 all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -291,15 +322,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -343,21 +377,21 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/card_select.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cli.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colors.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/device_name.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/die.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mainloop.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mem.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mixer_controls.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mixer_display.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mixer_widget.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proc_files.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/textbox.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/volume_mapping.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/widget.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-card_select.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-cli.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-colors.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-device_name.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-die.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-mainloop.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-mem.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-mixer_controls.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-mixer_display.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-mixer_widget.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-proc_files.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-textbox.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-volume_mapping.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alsamixer-widget.Po@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -372,13 +406,230 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+alsamixer-card_select.o: card_select.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-card_select.o -MD -MP -MF $(DEPDIR)/alsamixer-card_select.Tpo -c -o alsamixer-card_select.o `test -f 'card_select.c' || echo '$(srcdir)/'`card_select.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-card_select.Tpo $(DEPDIR)/alsamixer-card_select.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='card_select.c' object='alsamixer-card_select.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-card_select.o `test -f 'card_select.c' || echo '$(srcdir)/'`card_select.c
+
+alsamixer-card_select.obj: card_select.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-card_select.obj -MD -MP -MF $(DEPDIR)/alsamixer-card_select.Tpo -c -o alsamixer-card_select.obj `if test -f 'card_select.c'; then $(CYGPATH_W) 'card_select.c'; else $(CYGPATH_W) '$(srcdir)/card_select.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-card_select.Tpo $(DEPDIR)/alsamixer-card_select.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='card_select.c' object='alsamixer-card_select.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-card_select.obj `if test -f 'card_select.c'; then $(CYGPATH_W) 'card_select.c'; else $(CYGPATH_W) '$(srcdir)/card_select.c'; fi`
+
+alsamixer-cli.o: cli.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-cli.o -MD -MP -MF $(DEPDIR)/alsamixer-cli.Tpo -c -o alsamixer-cli.o `test -f 'cli.c' || echo '$(srcdir)/'`cli.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-cli.Tpo $(DEPDIR)/alsamixer-cli.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='cli.c' object='alsamixer-cli.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-cli.o `test -f 'cli.c' || echo '$(srcdir)/'`cli.c
+
+alsamixer-cli.obj: cli.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-cli.obj -MD -MP -MF $(DEPDIR)/alsamixer-cli.Tpo -c -o alsamixer-cli.obj `if test -f 'cli.c'; then $(CYGPATH_W) 'cli.c'; else $(CYGPATH_W) '$(srcdir)/cli.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-cli.Tpo $(DEPDIR)/alsamixer-cli.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='cli.c' object='alsamixer-cli.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-cli.obj `if test -f 'cli.c'; then $(CYGPATH_W) 'cli.c'; else $(CYGPATH_W) '$(srcdir)/cli.c'; fi`
+
+alsamixer-colors.o: colors.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-colors.o -MD -MP -MF $(DEPDIR)/alsamixer-colors.Tpo -c -o alsamixer-colors.o `test -f 'colors.c' || echo '$(srcdir)/'`colors.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-colors.Tpo $(DEPDIR)/alsamixer-colors.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='colors.c' object='alsamixer-colors.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-colors.o `test -f 'colors.c' || echo '$(srcdir)/'`colors.c
+
+alsamixer-colors.obj: colors.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-colors.obj -MD -MP -MF $(DEPDIR)/alsamixer-colors.Tpo -c -o alsamixer-colors.obj `if test -f 'colors.c'; then $(CYGPATH_W) 'colors.c'; else $(CYGPATH_W) '$(srcdir)/colors.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-colors.Tpo $(DEPDIR)/alsamixer-colors.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='colors.c' object='alsamixer-colors.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-colors.obj `if test -f 'colors.c'; then $(CYGPATH_W) 'colors.c'; else $(CYGPATH_W) '$(srcdir)/colors.c'; fi`
+
+alsamixer-device_name.o: device_name.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-device_name.o -MD -MP -MF $(DEPDIR)/alsamixer-device_name.Tpo -c -o alsamixer-device_name.o `test -f 'device_name.c' || echo '$(srcdir)/'`device_name.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-device_name.Tpo $(DEPDIR)/alsamixer-device_name.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='device_name.c' object='alsamixer-device_name.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-device_name.o `test -f 'device_name.c' || echo '$(srcdir)/'`device_name.c
+
+alsamixer-device_name.obj: device_name.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-device_name.obj -MD -MP -MF $(DEPDIR)/alsamixer-device_name.Tpo -c -o alsamixer-device_name.obj `if test -f 'device_name.c'; then $(CYGPATH_W) 'device_name.c'; else $(CYGPATH_W) '$(srcdir)/device_name.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-device_name.Tpo $(DEPDIR)/alsamixer-device_name.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='device_name.c' object='alsamixer-device_name.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-device_name.obj `if test -f 'device_name.c'; then $(CYGPATH_W) 'device_name.c'; else $(CYGPATH_W) '$(srcdir)/device_name.c'; fi`
+
+alsamixer-die.o: die.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-die.o -MD -MP -MF $(DEPDIR)/alsamixer-die.Tpo -c -o alsamixer-die.o `test -f 'die.c' || echo '$(srcdir)/'`die.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-die.Tpo $(DEPDIR)/alsamixer-die.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='die.c' object='alsamixer-die.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-die.o `test -f 'die.c' || echo '$(srcdir)/'`die.c
+
+alsamixer-die.obj: die.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-die.obj -MD -MP -MF $(DEPDIR)/alsamixer-die.Tpo -c -o alsamixer-die.obj `if test -f 'die.c'; then $(CYGPATH_W) 'die.c'; else $(CYGPATH_W) '$(srcdir)/die.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-die.Tpo $(DEPDIR)/alsamixer-die.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='die.c' object='alsamixer-die.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-die.obj `if test -f 'die.c'; then $(CYGPATH_W) 'die.c'; else $(CYGPATH_W) '$(srcdir)/die.c'; fi`
+
+alsamixer-mainloop.o: mainloop.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mainloop.o -MD -MP -MF $(DEPDIR)/alsamixer-mainloop.Tpo -c -o alsamixer-mainloop.o `test -f 'mainloop.c' || echo '$(srcdir)/'`mainloop.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mainloop.Tpo $(DEPDIR)/alsamixer-mainloop.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mainloop.c' object='alsamixer-mainloop.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mainloop.o `test -f 'mainloop.c' || echo '$(srcdir)/'`mainloop.c
+
+alsamixer-mainloop.obj: mainloop.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mainloop.obj -MD -MP -MF $(DEPDIR)/alsamixer-mainloop.Tpo -c -o alsamixer-mainloop.obj `if test -f 'mainloop.c'; then $(CYGPATH_W) 'mainloop.c'; else $(CYGPATH_W) '$(srcdir)/mainloop.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mainloop.Tpo $(DEPDIR)/alsamixer-mainloop.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mainloop.c' object='alsamixer-mainloop.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mainloop.obj `if test -f 'mainloop.c'; then $(CYGPATH_W) 'mainloop.c'; else $(CYGPATH_W) '$(srcdir)/mainloop.c'; fi`
+
+alsamixer-mem.o: mem.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mem.o -MD -MP -MF $(DEPDIR)/alsamixer-mem.Tpo -c -o alsamixer-mem.o `test -f 'mem.c' || echo '$(srcdir)/'`mem.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mem.Tpo $(DEPDIR)/alsamixer-mem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mem.c' object='alsamixer-mem.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mem.o `test -f 'mem.c' || echo '$(srcdir)/'`mem.c
+
+alsamixer-mem.obj: mem.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mem.obj -MD -MP -MF $(DEPDIR)/alsamixer-mem.Tpo -c -o alsamixer-mem.obj `if test -f 'mem.c'; then $(CYGPATH_W) 'mem.c'; else $(CYGPATH_W) '$(srcdir)/mem.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mem.Tpo $(DEPDIR)/alsamixer-mem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mem.c' object='alsamixer-mem.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mem.obj `if test -f 'mem.c'; then $(CYGPATH_W) 'mem.c'; else $(CYGPATH_W) '$(srcdir)/mem.c'; fi`
+
+alsamixer-mixer_controls.o: mixer_controls.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mixer_controls.o -MD -MP -MF $(DEPDIR)/alsamixer-mixer_controls.Tpo -c -o alsamixer-mixer_controls.o `test -f 'mixer_controls.c' || echo '$(srcdir)/'`mixer_controls.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mixer_controls.Tpo $(DEPDIR)/alsamixer-mixer_controls.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mixer_controls.c' object='alsamixer-mixer_controls.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mixer_controls.o `test -f 'mixer_controls.c' || echo '$(srcdir)/'`mixer_controls.c
+
+alsamixer-mixer_controls.obj: mixer_controls.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mixer_controls.obj -MD -MP -MF $(DEPDIR)/alsamixer-mixer_controls.Tpo -c -o alsamixer-mixer_controls.obj `if test -f 'mixer_controls.c'; then $(CYGPATH_W) 'mixer_controls.c'; else $(CYGPATH_W) '$(srcdir)/mixer_controls.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mixer_controls.Tpo $(DEPDIR)/alsamixer-mixer_controls.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mixer_controls.c' object='alsamixer-mixer_controls.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mixer_controls.obj `if test -f 'mixer_controls.c'; then $(CYGPATH_W) 'mixer_controls.c'; else $(CYGPATH_W) '$(srcdir)/mixer_controls.c'; fi`
+
+alsamixer-mixer_display.o: mixer_display.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mixer_display.o -MD -MP -MF $(DEPDIR)/alsamixer-mixer_display.Tpo -c -o alsamixer-mixer_display.o `test -f 'mixer_display.c' || echo '$(srcdir)/'`mixer_display.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mixer_display.Tpo $(DEPDIR)/alsamixer-mixer_display.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mixer_display.c' object='alsamixer-mixer_display.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mixer_display.o `test -f 'mixer_display.c' || echo '$(srcdir)/'`mixer_display.c
+
+alsamixer-mixer_display.obj: mixer_display.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mixer_display.obj -MD -MP -MF $(DEPDIR)/alsamixer-mixer_display.Tpo -c -o alsamixer-mixer_display.obj `if test -f 'mixer_display.c'; then $(CYGPATH_W) 'mixer_display.c'; else $(CYGPATH_W) '$(srcdir)/mixer_display.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mixer_display.Tpo $(DEPDIR)/alsamixer-mixer_display.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mixer_display.c' object='alsamixer-mixer_display.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mixer_display.obj `if test -f 'mixer_display.c'; then $(CYGPATH_W) 'mixer_display.c'; else $(CYGPATH_W) '$(srcdir)/mixer_display.c'; fi`
+
+alsamixer-mixer_widget.o: mixer_widget.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mixer_widget.o -MD -MP -MF $(DEPDIR)/alsamixer-mixer_widget.Tpo -c -o alsamixer-mixer_widget.o `test -f 'mixer_widget.c' || echo '$(srcdir)/'`mixer_widget.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mixer_widget.Tpo $(DEPDIR)/alsamixer-mixer_widget.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mixer_widget.c' object='alsamixer-mixer_widget.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mixer_widget.o `test -f 'mixer_widget.c' || echo '$(srcdir)/'`mixer_widget.c
+
+alsamixer-mixer_widget.obj: mixer_widget.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-mixer_widget.obj -MD -MP -MF $(DEPDIR)/alsamixer-mixer_widget.Tpo -c -o alsamixer-mixer_widget.obj `if test -f 'mixer_widget.c'; then $(CYGPATH_W) 'mixer_widget.c'; else $(CYGPATH_W) '$(srcdir)/mixer_widget.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-mixer_widget.Tpo $(DEPDIR)/alsamixer-mixer_widget.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mixer_widget.c' object='alsamixer-mixer_widget.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-mixer_widget.obj `if test -f 'mixer_widget.c'; then $(CYGPATH_W) 'mixer_widget.c'; else $(CYGPATH_W) '$(srcdir)/mixer_widget.c'; fi`
+
+alsamixer-proc_files.o: proc_files.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-proc_files.o -MD -MP -MF $(DEPDIR)/alsamixer-proc_files.Tpo -c -o alsamixer-proc_files.o `test -f 'proc_files.c' || echo '$(srcdir)/'`proc_files.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-proc_files.Tpo $(DEPDIR)/alsamixer-proc_files.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='proc_files.c' object='alsamixer-proc_files.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-proc_files.o `test -f 'proc_files.c' || echo '$(srcdir)/'`proc_files.c
+
+alsamixer-proc_files.obj: proc_files.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-proc_files.obj -MD -MP -MF $(DEPDIR)/alsamixer-proc_files.Tpo -c -o alsamixer-proc_files.obj `if test -f 'proc_files.c'; then $(CYGPATH_W) 'proc_files.c'; else $(CYGPATH_W) '$(srcdir)/proc_files.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-proc_files.Tpo $(DEPDIR)/alsamixer-proc_files.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='proc_files.c' object='alsamixer-proc_files.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-proc_files.obj `if test -f 'proc_files.c'; then $(CYGPATH_W) 'proc_files.c'; else $(CYGPATH_W) '$(srcdir)/proc_files.c'; fi`
+
+alsamixer-textbox.o: textbox.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-textbox.o -MD -MP -MF $(DEPDIR)/alsamixer-textbox.Tpo -c -o alsamixer-textbox.o `test -f 'textbox.c' || echo '$(srcdir)/'`textbox.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-textbox.Tpo $(DEPDIR)/alsamixer-textbox.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='textbox.c' object='alsamixer-textbox.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-textbox.o `test -f 'textbox.c' || echo '$(srcdir)/'`textbox.c
+
+alsamixer-textbox.obj: textbox.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-textbox.obj -MD -MP -MF $(DEPDIR)/alsamixer-textbox.Tpo -c -o alsamixer-textbox.obj `if test -f 'textbox.c'; then $(CYGPATH_W) 'textbox.c'; else $(CYGPATH_W) '$(srcdir)/textbox.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-textbox.Tpo $(DEPDIR)/alsamixer-textbox.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='textbox.c' object='alsamixer-textbox.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-textbox.obj `if test -f 'textbox.c'; then $(CYGPATH_W) 'textbox.c'; else $(CYGPATH_W) '$(srcdir)/textbox.c'; fi`
+
+alsamixer-utils.o: utils.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-utils.o -MD -MP -MF $(DEPDIR)/alsamixer-utils.Tpo -c -o alsamixer-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-utils.Tpo $(DEPDIR)/alsamixer-utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='utils.c' object='alsamixer-utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
+
+alsamixer-utils.obj: utils.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-utils.obj -MD -MP -MF $(DEPDIR)/alsamixer-utils.Tpo -c -o alsamixer-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-utils.Tpo $(DEPDIR)/alsamixer-utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='utils.c' object='alsamixer-utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi`
+
+alsamixer-volume_mapping.o: volume_mapping.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-volume_mapping.o -MD -MP -MF $(DEPDIR)/alsamixer-volume_mapping.Tpo -c -o alsamixer-volume_mapping.o `test -f 'volume_mapping.c' || echo '$(srcdir)/'`volume_mapping.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-volume_mapping.Tpo $(DEPDIR)/alsamixer-volume_mapping.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='volume_mapping.c' object='alsamixer-volume_mapping.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-volume_mapping.o `test -f 'volume_mapping.c' || echo '$(srcdir)/'`volume_mapping.c
+
+alsamixer-volume_mapping.obj: volume_mapping.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-volume_mapping.obj -MD -MP -MF $(DEPDIR)/alsamixer-volume_mapping.Tpo -c -o alsamixer-volume_mapping.obj `if test -f 'volume_mapping.c'; then $(CYGPATH_W) 'volume_mapping.c'; else $(CYGPATH_W) '$(srcdir)/volume_mapping.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-volume_mapping.Tpo $(DEPDIR)/alsamixer-volume_mapping.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='volume_mapping.c' object='alsamixer-volume_mapping.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-volume_mapping.obj `if test -f 'volume_mapping.c'; then $(CYGPATH_W) 'volume_mapping.c'; else $(CYGPATH_W) '$(srcdir)/volume_mapping.c'; fi`
+
+alsamixer-widget.o: widget.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-widget.o -MD -MP -MF $(DEPDIR)/alsamixer-widget.Tpo -c -o alsamixer-widget.o `test -f 'widget.c' || echo '$(srcdir)/'`widget.c
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-widget.Tpo $(DEPDIR)/alsamixer-widget.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='widget.c' object='alsamixer-widget.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-widget.o `test -f 'widget.c' || echo '$(srcdir)/'`widget.c
+
+alsamixer-widget.obj: widget.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT alsamixer-widget.obj -MD -MP -MF $(DEPDIR)/alsamixer-widget.Tpo -c -o alsamixer-widget.obj `if test -f 'widget.c'; then $(CYGPATH_W) 'widget.c'; else $(CYGPATH_W) '$(srcdir)/widget.c'; fi`
+@am__fastdepCC_TRUE@   $(am__mv) $(DEPDIR)/alsamixer-widget.Tpo $(DEPDIR)/alsamixer-widget.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='widget.c' object='alsamixer-widget.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(alsamixer_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o alsamixer-widget.obj `if test -f 'widget.c'; then $(CYGPATH_W) 'widget.c'; else $(CYGPATH_W) '$(srcdir)/widget.c'; fi`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -458,6 +709,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -468,10 +733,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -615,7 +880,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index bb4f030..3f8f52f 100644 (file)
@@ -115,6 +115,9 @@ fail:
 
 int main(int argc, char *argv[])
 {
+       if (!isatty(fileno(stdin)))
+               return 0;
+
        setlocale(LC_ALL, "");
 #ifdef ENABLE_NLS_IN_CURSES
        textdomain(PACKAGE);
index dbfef9b..351f57f 100644 (file)
@@ -128,8 +128,15 @@ void mainloop(void)
                }
                if (!active_widget)
                        break;
-               if (controls_changed)
+               if (controls_changed) {
+                       controls_changed = FALSE;
+                       create_controls();
+                       control_values_changed = FALSE;
                        display_controls();
+               } else if (control_values_changed) {
+                       control_values_changed = FALSE;
+                       display_controls();
+               }
        }
        free(pollfds);
 }
index 8ba396a..b1f79d0 100644 (file)
@@ -657,7 +657,6 @@ void display_controls(void)
                display_no_controls();
        }
        display_scroll_indicators();
-       controls_changed = FALSE;
 }
 
 void compute_controls_layout(void)
index caaf777..0c2b9e0 100644 (file)
@@ -50,6 +50,7 @@ int focus_control_index;
 snd_mixer_selem_id_t *current_selem_id;
 unsigned int current_control_flags;
 
+bool control_values_changed;
 bool controls_changed;
 
 enum channel_mask {
@@ -59,20 +60,15 @@ enum channel_mask {
 
 static int elem_callback(snd_mixer_elem_t *elem, unsigned int mask)
 {
-       unsigned int i;
-
-       if (mask & (SND_CTL_EVENT_MASK_REMOVE |
-                   SND_CTL_EVENT_MASK_INFO |
-                   SND_CTL_EVENT_MASK_VALUE))
+       if (mask == SND_CTL_EVENT_MASK_REMOVE) {
                controls_changed = TRUE;
+       } else {
+               if (mask & SND_CTL_EVENT_MASK_VALUE)
+                       control_values_changed = TRUE;
 
-       if (mask & SND_CTL_EVENT_MASK_INFO)
-               for (i = 0; i < controls_count; ++i)
-                       if (controls[i].elem == elem) {
-                               controls[i].flags &= ~IS_ACTIVE;
-                               if (snd_mixer_selem_is_active(controls[i].elem))
-                                       controls[i].flags |= IS_ACTIVE;
-                       }
+               if (mask & SND_CTL_EVENT_MASK_INFO)
+                       controls_changed = TRUE;
+       }
 
        return 0;
 }
index da8628e..086611c 100644 (file)
@@ -24,6 +24,7 @@ extern int focus_control_index;
 extern snd_mixer_selem_id_t *current_selem_id;
 extern unsigned int current_control_flags;
 
+extern bool control_values_changed;
 extern bool controls_changed;
 
 void create_mixer_object(struct snd_mixer_selem_regopt *selem_regopt);
index 4eba677..c180d4a 100644 (file)
@@ -3,11 +3,11 @@ bin_PROGRAMS = \
 
 alsaucm_SOURCES = usecase.c
 
-INCLUDES = \
+AM_CPPFLAGS = \
          -Wall -I$(top_srcdir)/include
 
 alsaucm_LDADD = -lasound
 
 # local build
-INCLUDES += -I$(top_srcdir)/../alsa-lib/include
+AM_CPPFLAGS += -I$(top_srcdir)/../alsa-lib/include
 alsaucm_LDADD += -L$(top_srcdir)/../alsa-lib/src/.libs
index 20ed8e7..c4e10f4 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -36,14 +52,15 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = alsaucm$(EXEEXT)
 subdir = alsaucm
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -65,13 +82,21 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(alsaucm_SOURCES)
 DIST_SOURCES = $(alsaucm_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -114,6 +139,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -187,6 +213,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -208,14 +235,14 @@ xmlto = @xmlto@
 alsaucm_SOURCES = usecase.c
 
 # local build
-INCLUDES = -Wall -I$(top_srcdir)/include \
+AM_CPPFLAGS = -Wall -I$(top_srcdir)/include \
        -I$(top_srcdir)/../alsa-lib/include
 alsaucm_LDADD = -lasound -L$(top_srcdir)/../alsa-lib/src/.libs
 all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -240,15 +267,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -357,6 +387,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -499,7 +543,7 @@ uninstall-am: uninstall-binPROGRAMS
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index 0b31a67..0b91685 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = amidi.1
 
 bin_PROGRAMS = amidi
index 1f271ab..9b056d3 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -36,14 +52,15 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = amidi$(EXEEXT)
 subdir = amidi
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -65,6 +82,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = amidi.c
 DIST_SOURCES = amidi.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -99,9 +121,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -144,6 +169,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -217,6 +243,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -235,14 +262,14 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = amidi.1
 man_MANS = amidi.1
 all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -267,15 +294,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -336,11 +366,18 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -420,6 +457,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -430,10 +481,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -577,7 +628,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index c58d65c..1b4cfb1 100644 (file)
@@ -9,7 +9,7 @@ amidi \- read from and write to ALSA RawMIDI ports
 
 .SH DESCRIPTION
 .B amidi
-is a command-line utility which allows to receive and send
+is a command-line utility which allows one to receive and send
 SysEx (system exclusive) data from/to external MIDI devices.
 It can also send any other MIDI commands.
 
@@ -141,7 +141,7 @@ creates a virtual RawMIDI port and prints all data sent to this port.
 default rawmidi definitions
 .br
 .I /etc/asound.conf
-system-wide rawmidi definitions
+system\-wide rawmidi definitions
 .br
 .I ~/.asoundrc
 user specific rawmidi definitions
index ba67a57..0343c8e 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = -lm
 # LDFLAGS = -static
 # CFLAGS += -g -Wall
index cdeeb83..2474264 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -38,14 +54,14 @@ host_triplet = @host@
 bin_PROGRAMS = amixer$(EXEEXT)
 subdir = amixer
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+       $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -68,6 +84,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(amixer_SOURCES)
 DIST_SOURCES = $(amixer_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -103,9 +124,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -148,6 +172,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -221,6 +246,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -239,7 +265,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = -lm
 amixer_SOURCES = amixer.c ../alsamixer/volume_mapping.c
 noinst_HEADERS = amixer.h
@@ -249,7 +275,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -274,15 +300,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -358,11 +387,18 @@ volume_mapping.obj: ../alsamixer/volume_mapping.c
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o volume_mapping.obj `if test -f '../alsamixer/volume_mapping.c'; then $(CYGPATH_W) '../alsamixer/volume_mapping.c'; else $(CYGPATH_W) '$(srcdir)/../alsamixer/volume_mapping.c'; fi`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -442,6 +478,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -452,10 +502,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -599,7 +649,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index 3ed20a9..76007d2 100644 (file)
@@ -4,7 +4,7 @@ amixer \- command-line mixer for ALSA soundcard driver
 .SH SYNOPSIS
 \fBamixer\fP [\fI\-option\fP] [\fIcmd\fP]
 .SH DESCRIPTION
-\fBamixer\fP allows command-line control of the mixer for the ALSA
+\fBamixer\fP allows command\-line control of the mixer for the ALSA
 soundcard driver.
 \fBamixer\fP supports multiple soundcards.
 
@@ -34,7 +34,7 @@ Shows a complete list of simple mixer controls with their contents.
 \fIset\fP or \fIsset\fP <\fISCONTROL\fP> <\fIPARAMETER\fP> ...
 Sets the simple mixer control contents. The parameter can be the volume
 either as a percentage from 0% to 100% with \fI%\fP suffix,
-a dB gain with \fIdB\fP suffix (like -12.5dB), or an exact hardware value.
+a dB gain with \fIdB\fP suffix (like \-12.5dB), or an exact hardware value.
 The dB gain can be used only for the mixer elements with available
 dB information.
 When plus(+) or minus(\-) letter is appended after
@@ -96,7 +96,7 @@ Select the device name to control. The default control name is 'default'.
 \fI\-s\fP | \fI\-\-stdin\fP
 
 Read from stdin and execute the command on each line sequentially.
-When this option is given, the command in command-line arguments is ignored.
+When this option is given, the command in command\-line arguments is ignored.
 
 Only sset and cset are accepted.  Other commands are ignored.
 The commands to unmatched ids are ignored without errors too.
@@ -128,8 +128,8 @@ right line input to 40%, unmute it, and select it as a source for
 capture (recording).\fR
 
 .TP
-\fBamixer \-c 1 \-\- sset Master playback -20dB\fR
-will set the master volume of the second card to -20dB.  If the master
+\fBamixer \-c 1 \-\- sset Master playback \-20dB\fR
+will set the master volume of the second card to \-20dB.  If the master
 has multiple channels, all channels are set to the same value.
 
 .TP
index a0a7387..cf82892 100644 (file)
@@ -138,11 +138,6 @@ static int info(void)
        return 0;
 }
 
-static const char *control_iface(snd_ctl_elem_id_t *id)
-{
-       return snd_ctl_elem_iface_name(snd_ctl_elem_id_get_interface(id));
-}
-
 static const char *control_type(snd_ctl_elem_info_t *info)
 {
        return snd_ctl_elem_type_name(snd_ctl_elem_info_get_type(info));
@@ -208,62 +203,6 @@ static int convert_prange(long val, long min, long max)
 #define convert_prange1(val, min, max) \
        ceil((val) * ((max) - (min)) * 0.01 + (min))
 
-static long get_integer(char **ptr, long min, long max)
-{
-       long val = min;
-       char *p = *ptr, *s;
-
-       if (*p == ':')
-               p++;
-       if (*p == '\0' || (!isdigit(*p) && *p != '-'))
-               goto out;
-
-       s = p;
-       val = strtol(s, &p, 10);
-       if (*p == '.') {
-               p++;
-               strtol(p, &p, 10);
-       }
-       if (*p == '%') {
-               val = (long)convert_prange1(strtod(s, NULL), min, max);
-               p++;
-       }
-       val = check_range(val, min, max);
-       if (*p == ',')
-               p++;
- out:
-       *ptr = p;
-       return val;
-}
-
-static long get_integer64(char **ptr, long long min, long long max)
-{
-       long long val = min;
-       char *p = *ptr, *s;
-
-       if (*p == ':')
-               p++;
-       if (*p == '\0' || (!isdigit(*p) && *p != '-'))
-               goto out;
-
-       s = p;
-       val = strtol(s, &p, 10);
-       if (*p == '.') {
-               p++;
-               strtol(p, &p, 10);
-       }
-       if (*p == '%') {
-               val = (long long)convert_prange1(strtod(s, NULL), min, max);
-               p++;
-       }
-       val = check_range(val, min, max);
-       if (*p == ',')
-               p++;
- out:
-       *ptr = p;
-       return val;
-}
-
 struct volume_ops {
        int (*get_range)(snd_mixer_elem_t *elem, long *min, long *max);
        int (*get)(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t c,
@@ -425,10 +364,10 @@ static int set_volume_simple(snd_mixer_elem_t *elem,
                                invalid = 1;
                        if (*p == '+') {
                                val = orig + val;
-                               correct = -1;
+                               correct = 1;
                        } else {
                                val = orig - val;
-                               correct = 1;
+                               correct = -1;
                        }
                }
                p++;
@@ -476,20 +415,12 @@ static int simple_skip_word(char **ptr, char *str)
                
 static void show_control_id(snd_ctl_elem_id_t *id)
 {
-       unsigned int index, device, subdevice;
-       printf("numid=%u,iface=%s,name='%s'",
-              snd_ctl_elem_id_get_numid(id),
-              control_iface(id),
-              snd_ctl_elem_id_get_name(id));
-       index = snd_ctl_elem_id_get_index(id);
-       device = snd_ctl_elem_id_get_device(id);
-       subdevice = snd_ctl_elem_id_get_subdevice(id);
-       if (index)
-               printf(",index=%i", index);
-       if (device)
-               printf(",device=%i", device);
-       if (subdevice)
-               printf(",subdevice=%i", subdevice);
+       char *str;
+
+       str = snd_ctl_ascii_elem_id_get(id);
+       if (str)
+               printf("%s", str);
+       free(str);
 }
 
 static void print_spaces(unsigned int spaces)
@@ -500,7 +431,11 @@ static void print_spaces(unsigned int spaces)
 
 static void print_dB(long dB)
 {
-       printf("%li.%02lidB", dB / 100, (dB < 0 ? -dB : dB) % 100);
+       if (dB < 0) {
+               printf("-%li.%02lidB", -dB / 100, -dB % 100);
+       } else {
+               printf("%li.%02lidB", dB / 100, dB % 100);
+       }
 }
 
 static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_size)
@@ -508,6 +443,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
        unsigned int type = tlv[0];
        unsigned int size;
        unsigned int idx = 0;
+       const char *chmap_type = NULL;
 
        if (tlv_size < 2 * sizeof(unsigned int)) {
                printf("TLV size error!\n");
@@ -524,6 +460,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
        }
        switch (type) {
        case SND_CTL_TLVT_CONTAINER:
+               printf("container\n");
                size += sizeof(unsigned int) -1;
                size /= sizeof(unsigned int);
                while (idx < size) {
@@ -531,8 +468,8 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
                                printf("TLV size error in compound!\n");
                                return;
                        }
-                       decode_tlv(spaces + 2, tlv + idx, tlv[idx+1]);
-                       idx += 2 + (tlv[1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
+                       decode_tlv(spaces + 2, tlv + idx, tlv[idx+1] + 8);
+                       idx += 2 + (tlv[idx+1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
                }
                break;
        case SND_CTL_TLVT_DB_SCALE:
@@ -560,9 +497,9 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
                        }
                } else {
                        printf("min=");
-                       print_dB(tlv[2]);
+                       print_dB((int)tlv[2]);
                        printf(",max=");
-                       print_dB(tlv[3]);
+                       print_dB((int)tlv[3]);
                }
                break;
 #endif
@@ -600,9 +537,30 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
                        }
                } else {
                        printf("min=");
-                       print_dB(tlv[2]);
+                       print_dB((int)tlv[2]);
                        printf(",max=");
-                       print_dB(tlv[3]);
+                       print_dB((int)tlv[3]);
+               }
+               break;
+#endif
+#ifdef SND_CTL_TLVT_CHMAP_FIXED
+       case SND_CTL_TLVT_CHMAP_FIXED:
+               chmap_type = "fixed";
+               /* Fall through */
+       case SND_CTL_TLVT_CHMAP_VAR:
+               if (!chmap_type)
+                       chmap_type = "variable";
+               /* Fall through */
+       case SND_CTL_TLVT_CHMAP_PAIRED:
+               if (!chmap_type)
+                       chmap_type = "paired";
+               printf("chmap-%s=", chmap_type);
+
+               while (size > 0) {
+                       printf("%s", snd_pcm_chmap_name(tlv[idx++]));
+                       size -= sizeof(unsigned int);
+                       if (size > 0)
+                               printf(",");
                }
                break;
 #endif
@@ -1086,103 +1044,6 @@ static int selems(int level)
        return 0;
 }
 
-static int parse_control_id(const char *str, snd_ctl_elem_id_t *id)
-{
-       int c, size, numid;
-       char *ptr;
-
-       while (*str == ' ' || *str == '\t')
-               str++;
-       if (!(*str))
-               return -EINVAL;
-       snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER);    /* default */
-       while (*str) {
-               if (!strncasecmp(str, "numid=", 6)) {
-                       str += 6;
-                       numid = atoi(str);
-                       if (numid <= 0) {
-                               fprintf(stderr, "amixer: Invalid numid %d\n", numid);
-                               return -EINVAL;
-                       }
-                       snd_ctl_elem_id_set_numid(id, atoi(str));
-                       while (isdigit(*str))
-                               str++;
-               } else if (!strncasecmp(str, "iface=", 6)) {
-                       str += 6;
-                       if (!strncasecmp(str, "card", 4)) {
-                               snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_CARD);
-                               str += 4;
-                       } else if (!strncasecmp(str, "mixer", 5)) {
-                               snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER);
-                               str += 5;
-                       } else if (!strncasecmp(str, "pcm", 3)) {
-                               snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_PCM);
-                               str += 3;
-                       } else if (!strncasecmp(str, "rawmidi", 7)) {
-                               snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_RAWMIDI);
-                               str += 7;
-                       } else if (!strncasecmp(str, "timer", 5)) {
-                               snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_TIMER);
-                               str += 5;
-                       } else if (!strncasecmp(str, "sequencer", 9)) {
-                               snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_SEQUENCER);
-                               str += 9;
-                       } else {
-                               return -EINVAL;
-                       }
-               } else if (!strncasecmp(str, "name=", 5)) {
-                       char buf[64];
-                       str += 5;
-                       ptr = buf;
-                       size = 0;
-                       if (*str == '\'' || *str == '\"') {
-                               c = *str++;
-                               while (*str && *str != c) {
-                                       if (size < (int)sizeof(buf)) {
-                                               *ptr++ = *str;
-                                               size++;
-                                       }
-                                       str++;
-                               }
-                               if (*str == c)
-                                       str++;
-                       } else {
-                               while (*str && *str != ',') {
-                                       if (size < (int)sizeof(buf)) {
-                                               *ptr++ = *str;
-                                               size++;
-                                       }
-                                       str++;
-                               }
-                       }
-                       *ptr = '\0';
-                       snd_ctl_elem_id_set_name(id, buf);
-               } else if (!strncasecmp(str, "index=", 6)) {
-                       str += 6;
-                       snd_ctl_elem_id_set_index(id, atoi(str));
-                       while (isdigit(*str))
-                               str++;
-               } else if (!strncasecmp(str, "device=", 7)) {
-                       str += 7;
-                       snd_ctl_elem_id_set_device(id, atoi(str));
-                       while (isdigit(*str))
-                               str++;
-               } else if (!strncasecmp(str, "subdevice=", 10)) {
-                       str += 10;
-                       snd_ctl_elem_id_set_subdevice(id, atoi(str));
-                       while (isdigit(*str))
-                               str++;
-               }
-               if (*str == ',') {
-                       str++;
-               } else {
-                       if (*str)
-                               return -EINVAL;
-               }
-       }                       
-       return 0;
-}
-
 static int parse_simple_id(const char *str, snd_mixer_selem_id_t *sid)
 {
        int c, size;
@@ -1231,34 +1092,6 @@ static int parse_simple_id(const char *str, snd_mixer_selem_id_t *sid)
        return 0;
 }
 
-static int get_ctl_enum_item_index(snd_ctl_t *handle, snd_ctl_elem_info_t *info,
-                                  char **ptrp)
-{
-       char *ptr = *ptrp;
-       int items, i, len;
-       const char *name;
-       
-       items = snd_ctl_elem_info_get_items(info);
-       if (items <= 0)
-               return -1;
-
-       for (i = 0; i < items; i++) {
-               snd_ctl_elem_info_set_item(info, i);
-               if (snd_ctl_elem_info(handle, info) < 0)
-                       return -1;
-               name = snd_ctl_elem_info_get_item_name(info);
-               len = strlen(name);
-               if (! strncmp(name, ptr, len)) {
-                       if (! ptr[len] || ptr[len] == ',' || ptr[len] == '\n') {
-                               ptr += len;
-                               *ptrp = ptr;
-                               return i;
-                       }
-               }
-       }
-       return -1;
-}
-
 static int cset(int argc, char *argv[], int roflag, int keep_handle)
 {
        int err;
@@ -1266,10 +1099,6 @@ static int cset(int argc, char *argv[], int roflag, int keep_handle)
        snd_ctl_elem_info_t *info;
        snd_ctl_elem_id_t *id;
        snd_ctl_elem_value_t *control;
-       char *ptr;
-       unsigned int idx, count;
-       long tmp;
-       snd_ctl_elem_type_t type;
        snd_ctl_elem_info_alloca(&info);
        snd_ctl_elem_id_alloca(&id);
        snd_ctl_elem_value_alloca(&control);
@@ -1278,7 +1107,7 @@ static int cset(int argc, char *argv[], int roflag, int keep_handle)
                fprintf(stderr, "Specify a full control identifier: [[iface=<iface>,][name='name',][index=<index>,][device=<device>,][subdevice=<subdevice>]]|[numid=<numid>]\n");
                return -EINVAL;
        }
-       if (parse_control_id(argv[0], id)) {
+       if (snd_ctl_ascii_elem_id_parse(id, argv[0])) {
                fprintf(stderr, "Wrong control identifier: %s\n", argv[0]);
                return -EINVAL;
        }
@@ -1303,66 +1132,28 @@ static int cset(int argc, char *argv[], int roflag, int keep_handle)
                }
                return err;
        }
-       snd_ctl_elem_info_get_id(info, id);     /* FIXME: Remove it when hctl find works ok !!! */
-       type = snd_ctl_elem_info_get_type(info);
-       count = snd_ctl_elem_info_get_count(info);
-       snd_ctl_elem_value_set_id(control, id);
-       
+       snd_ctl_elem_info_get_id(info, id);     /* FIXME: Remove it when hctl find works ok !!! */
        if (!roflag) {
-               ptr = argv[1];
-               for (idx = 0; idx < count && idx < 128 && ptr && *ptr; idx++) {
-                       switch (type) {
-                       case SND_CTL_ELEM_TYPE_BOOLEAN:
-                               tmp = 0;
-                               if (!strncasecmp(ptr, "on", 2) || !strncasecmp(ptr, "up", 2)) {
-                                       tmp = 1;
-                                       ptr += 2;
-                               } else if (!strncasecmp(ptr, "yes", 3)) {
-                                       tmp = 1;
-                                       ptr += 3;
-                               } else if (!strncasecmp(ptr, "toggle", 6)) {
-                                       tmp = snd_ctl_elem_value_get_boolean(control, idx);
-                                       tmp = tmp > 0 ? 0 : 1;
-                                       ptr += 6;
-                               } else if (isdigit(*ptr)) {
-                                       tmp = atoi(ptr) > 0 ? 1 : 0;
-                                       while (isdigit(*ptr))
-                                               ptr++;
-                               } else {
-                                       while (*ptr && *ptr != ',')
-                                               ptr++;
-                               }
-                               snd_ctl_elem_value_set_boolean(control, idx, tmp);
-                               break;
-                       case SND_CTL_ELEM_TYPE_INTEGER:
-                               tmp = get_integer(&ptr,
-                                                 snd_ctl_elem_info_get_min(info),
-                                                 snd_ctl_elem_info_get_max(info));
-                               snd_ctl_elem_value_set_integer(control, idx, tmp);
-                               break;
-                       case SND_CTL_ELEM_TYPE_INTEGER64:
-                               tmp = get_integer64(&ptr,
-                                                 snd_ctl_elem_info_get_min64(info),
-                                                 snd_ctl_elem_info_get_max64(info));
-                               snd_ctl_elem_value_set_integer64(control, idx, tmp);
-                               break;
-                       case SND_CTL_ELEM_TYPE_ENUMERATED:
-                               tmp = get_ctl_enum_item_index(handle, info, &ptr);
-                               if (tmp < 0)
-                                       tmp = get_integer(&ptr, 0, snd_ctl_elem_info_get_items(info) - 1);
-                               snd_ctl_elem_value_set_enumerated(control, idx, tmp);
-                               break;
-                       case SND_CTL_ELEM_TYPE_BYTES:
-                               tmp = get_integer(&ptr, 0, 255);
-                               snd_ctl_elem_value_set_byte(control, idx, tmp);
-                               break;
-                       default:
-                               break;
+               snd_ctl_elem_value_set_id(control, id);
+               if ((err = snd_ctl_elem_read(handle, control)) < 0) {
+                       if (ignore_error)
+                               return 0;
+                       error("Cannot read the given element from control %s\n", card);
+                       if (! keep_handle) {
+                               snd_ctl_close(handle);
+                               handle = NULL;
                        }
-                       if (!strchr(argv[1], ','))
-                               ptr = argv[1];
-                       else if (*ptr == ',')
-                               ptr++;
+                       return err;
+               }
+               err = snd_ctl_ascii_value_parse(handle, control, info, argv[1]);
+               if (err < 0) {
+                       if (!ignore_error)
+                               error("Control %s parse error: %s\n", card, snd_strerror(err));
+                       if (!keep_handle) {
+                               snd_ctl_close(handle);
+                               handle = NULL;
+                       }
+                       return ignore_error ? 0 : err;
                }
                if ((err = snd_ctl_elem_write(handle, control)) < 0) {
                        if (!ignore_error)
index 92323d1..c3256e9 100644 (file)
@@ -1,6 +1,6 @@
 LIBRT = @LIBRT@
 
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = $(LIBINTL) $(LIBRT)
 
 # debug flags
index 72fc341..b11b473 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -38,14 +54,14 @@ host_triplet = @host@
 bin_PROGRAMS = aplay$(EXEEXT)
 subdir = aplay
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
+       $(srcdir)/Makefile.in $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -69,6 +85,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = aplay.c
 DIST_SOURCES = aplay.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -104,9 +125,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -149,6 +173,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -222,6 +247,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -240,7 +266,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = $(LIBINTL) $(LIBRT)
 man_MANS = aplay.1 arecord.1
 noinst_HEADERS = formats.h
@@ -250,7 +276,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -275,15 +301,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -344,11 +373,18 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -428,6 +464,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -438,10 +488,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -587,7 +637,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-data-am install-exec-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-data-hook install-dvi \
index bf9b53e..2945dad 100644 (file)
@@ -1,6 +1,6 @@
 .TH APLAY 1 "1 January 2010"
 .SH NAME
-arecord, aplay \- command-line sound recorder and player for ALSA 
+arecord, aplay \- command\-line sound recorder and player for ALSA 
 soundcard driver
 .SH SYNOPSIS
 \fBarecord\fP [\fIflags\fP] [filename]
@@ -8,7 +8,7 @@ soundcard driver
 \fBaplay\fP [\fIflags\fP] [filename [filename]] ...
 
 .SH DESCRIPTION
-\fBarecord\fP is a command-line soundfile recorder for the ALSA soundcard
+\fBarecord\fP is a command\-line soundfile recorder for the ALSA soundcard
 driver. It supports several file formats and multiple soundcards with
 multiple devices. If recording with interleaved mode samples the file is
 automatically split before the 2GB filesize.
@@ -81,11 +81,11 @@ The default is zero, so if this option is omitted then the arecord process will
 Min ticks to sleep. The default is not to sleep.
 .TP
 \fI\-M, \-\-mmap\fP            
-Use memory-mapped (mmap) I/O mode for the audio stream.
+Use memory\-mapped (mmap) I/O mode for the audio stream.
 If this option is not set, the read/write I/O mode will be used.
 .TP
 \fI\-N, \-\-nonblock\fP          
-Open the audio device in non-blocking mode. If the device is busy the program will exit immediately.
+Open the audio device in non\-blocking mode. If the device is busy the program will exit immediately.
 If this option is not set the program will block until the audio device is available again.
 .TP
 \fI\-F, \-\-period\-time=#\fP     
@@ -120,8 +120,8 @@ This option is accumulative.  The VU meter is displayed when this
 is given twice or three times.
 .TP
 \fI\-V, \-\-vumeter=TYPE\fP
-Specifies the VU-meter type, either \fIstereo\fP or \fImono\fP.
-The stereo VU-meter is available only for 2-channel stereo samples
+Specifies the VU\-meter type, either \fIstereo\fP or \fImono\fP.
+The stereo VU\-meter is available only for 2\-channel stereo samples
 with interleaved format.
 .TP
 \fI\-I, \-\-separate\-channels\fP 
@@ -141,6 +141,17 @@ by typing arecord.
 Allow interactive operation via stdin.
 Currently only pause/resume via space or enter key is implemented.
 .TP
+\fI-m, \-\-chmap=ch1,ch2,...\fP
+Give the channel map to override or follow.  Pass channel position
+strings like \fIFL\fP, \fIFR\fP, etc.
+
+If a device supports the override of the channel map, \fBaplay\fP
+tries to pass the given channel map.
+If it doesn't support the channel map override but still it provides
+the channel map information, \fBaplay\fP tries to rearrange the
+channel order in the buffer to match with the returned channel map
+from the device.
+.TP
 \fI\-\-disable\-resample\fP
 Disable automatic rate resample.
 .TP
@@ -162,7 +173,7 @@ Expression for validation is: coef * (buffer_size / 2).
 Minimum value is 1.
 .TP
 \fI\-\-test\-nowait\fP
-Do not wait for the ring buffer--eats the whole CPU.
+Do not wait for the ring buffer \(hy eats the whole CPU.
 .TP
 \fI\-\-max\-file\-time\fP
 While recording, when the output file has been accumulating
@@ -177,7 +188,7 @@ aplay writes its process ID here, so other programs can
 send signals to it.
 .TP
 \fI\-\-use\-strftime\fP
-When recording, interpret %-codes in the file name parameter using
+When recording, interpret %\-codes in the file name parameter using
 the strftime facility whenever the output file is opened.  The
 important strftime codes are: %Y is the year, %m month, %d day of
 the month, %H hour, %M minute and %S second.  In addition, %v is
@@ -207,11 +218,11 @@ and continue recording.  However, SIGUSR1 does not work with
 .TP
 \fBaplay \-c 1 \-t raw \-r 22050 \-f mu_law foobar\fR
 will play the raw file "foobar" as a
-22050-Hz, mono, 8-bit, Mu-Law .au file. 
+22050\-Hz, mono, 8\-bit, Mu\-Law .au file. 
 
 .TP
 \fBarecord \-d 10 \-f cd \-t wav \-D copy foobar.wav\fP
-will record foobar.wav as a 10-second, CD-quality wave file, using the
+will record foobar.wav as a 10\-second, CD\-quality wave file, using the
 PCM "copy" (which might be defined in the user's .asoundrc file as:
 .nf
 pcm.copy {
@@ -224,14 +235,14 @@ pcm.copy {
 .fi
 
 .TP
-\fBarecord \-t wav \-\-max-file-time 30 mon.wav\fP
+\fBarecord \-t wav \-\-max\-file\-time 30 mon.wav\fP
 Record from the default audio source in monaural, 8,000 samples
 per second, 8 bits per sample.  Start a new file every
-30 seconds.  File names are mon-nn.wav, where nn increases
-from 01.  The file after mon-99.wav is mon-100.wav.
+30 seconds.  File names are mon\-nn.wav, where nn increases
+from 01.  The file after mon\-99.wav is mon\-100.wav.
 
 .TP
-\fBarecord \-f cd \-t wav \-\-max-file-time 3600 --use-strftime %Y/%m/%d/listen-%H-%M-%v.wav\fP
+\fBarecord \-f cd \-t wav \-\-max\-file\-time 3600 \-\-use-strftime %Y/%m/%d/listen-%H-%M-%v.wav\fP
 Record in stereo from the default audio source.  Create a new file
 every hour.  The files are placed in directories based on their start dates
 and have names which include their start times and file numbers.
index 17fa913..30d3f31 100644 (file)
 #include "formats.h"
 #include "version.h"
 
+#ifdef SND_CHMAP_API_VERSION
+#define CONFIG_SUPPORT_CHMAP   1
+#endif
+
 #ifndef LLONG_MAX
 #define LLONG_MAX    9223372036854775807LL
 #endif
@@ -103,6 +107,7 @@ static snd_pcm_stream_t stream = SND_PCM_STREAM_PLAYBACK;
 static int mmap_flag = 0;
 static int interleaved = 1;
 static int nonblock = 0;
+static int in_aborting = 0;
 static u_char *audiobuf = NULL;
 static snd_pcm_uframes_t chunk_size = 0;
 static unsigned period_time = 0;
@@ -140,6 +145,11 @@ static char *pidfile_name = NULL;
 FILE *pidf = NULL;
 static int pidfile_written = 0;
 
+#ifdef CONFIG_SUPPORT_CHMAP
+static snd_pcm_chmap_t *channel_map = NULL; /* chmap to override */
+static unsigned int *hw_map = NULL; /* chmap to follow */
+#endif
+
 /* needed prototypes */
 
 static void done_stdin(void);
@@ -214,6 +224,7 @@ _("Usage: %s [OPTION]... [FILE]...\n"
 "-V, --vumeter=TYPE      enable VU meter (TYPE: mono or stereo)\n"
 "-I, --separate-channels one file for each channel\n"
 "-i, --interactive       allow interactive operation from stdin\n"
+"-m, --chmap=ch1,ch2,..  Give the channel map to override or follow\n"
 "    --disable-resample  disable automatic rate resample\n"
 "    --disable-channels  disable automatic channel conversions\n"
 "    --disable-format    disable automatic format conversions\n"
@@ -227,16 +238,17 @@ _("Usage: %s [OPTION]... [FILE]...\n"
 "    --process-id-file   write the process ID here\n"
 "    --use-strftime      apply the strftime facility to the output file name\n"
 "    --dump-hw-params    dump hw_params of the device\n"
-"    --fatal-errors      treat all errors as fatal\n")
+"    --fatal-errors      treat all errors as fatal\n"
+  )
                , command);
        printf(_("Recognized sample formats are:"));
-       for (k = 0; k < SND_PCM_FORMAT_LAST; ++k) {
+       for (k = 0; k <= SND_PCM_FORMAT_LAST; ++k) {
                const char *s = snd_pcm_format_name(k);
                if (s)
                        printf(" %s", s);
        }
        printf(_("\nSome of these may not be available on selected hardware\n"));
-       printf(_("The availabled format shortcuts are:\n"));
+       printf(_("The available format shortcuts are:\n"));
        printf(_("-f cd (16 bit little endian, 44100, stereo)\n"));
        printf(_("-f cdr (16 bit big endian, 44100, stereo)\n"));
        printf(_("-f dat (16 bit little endian, 48000, stereo)\n"));
@@ -372,8 +384,6 @@ static void prg_exit(int code)
 
 static void signal_handler(int sig)
 {
-       static int in_aborting;
-
        if (in_aborting)
                return;
 
@@ -382,22 +392,14 @@ static void signal_handler(int sig)
                putchar('\n');
        if (!quiet_mode)
                fprintf(stderr, _("Aborted by signal %s...\n"), strsignal(sig));
-       if (stream == SND_PCM_STREAM_CAPTURE) {
-               if (fmt_rec_table[file_type].end) {
-                       fmt_rec_table[file_type].end(fd);
-                       fd = -1;
-               }
-               stream = -1;
-       }
-       if (fd > 1) {
-               close(fd);
-               fd = -1;
-       }
-       if (handle && sig != SIGABRT) {
-               snd_pcm_close(handle);
+       if (handle)
+               snd_pcm_abort(handle);
+       if (sig == SIGABRT) {
+               /* do not call snd_pcm_close() and abort immediately */
                handle = NULL;
+               prg_exit(EXIT_FAILURE);
        }
-       prg_exit(EXIT_FAILURE);
+       signal(sig, signal_handler);
 }
 
 /* call on SIGUSR1 signal. */
@@ -428,7 +430,11 @@ enum {
 int main(int argc, char *argv[])
 {
        int option_index;
-       static const char short_options[] = "hnlLD:qt:c:f:r:d:MNF:A:R:T:B:vV:IPCi";
+       static const char short_options[] = "hnlLD:qt:c:f:r:d:MNF:A:R:T:B:vV:IPCi"
+#ifdef CONFIG_SUPPORT_CHMAP
+               "m:"
+#endif
+               ;
        static const struct option long_options[] = {
                {"help", 0, 0, 'h'},
                {"version", 0, 0, OPT_VERSION},
@@ -469,12 +475,16 @@ int main(int argc, char *argv[])
                {"interactive", 0, 0, 'i'},
                {"dump-hw-params", 0, 0, OPT_DUMP_HWPARAMS},
                {"fatal-errors", 0, 0, OPT_FATAL_ERRORS},
+#ifdef CONFIG_SUPPORT_CHMAP
+               {"chmap", 1, 0, 'm'},
+#endif
                {0, 0, 0, 0}
        };
        char *pcm_name = "default";
        int tmp, err, c;
        int do_device_list = 0, do_pcm_list = 0;
        snd_pcm_info_t *info;
+       FILE *direction;
 
 #ifdef ENABLE_NLS
        setlocale(LC_ALL, "");
@@ -493,14 +503,21 @@ int main(int argc, char *argv[])
                file_type = FORMAT_WAVE;
                command = "arecord";
                start_delay = 1;
+               direction = stdout;
        } else if (strstr(argv[0], "aplay")) {
                stream = SND_PCM_STREAM_PLAYBACK;
                command = "aplay";
+               direction = stdin;
        } else {
                error(_("command should be named either arecord or aplay"));
                return 1;
        }
 
+       if (isatty(fileno(direction)) && (argc == 1)) {
+               usage(command);
+               return 1;
+       }
+
        chunk_size = -1;
        rhwparams.format = DEFAULT_FORMAT;
        rhwparams.rate = DEFAULT_SPEED;
@@ -676,6 +693,15 @@ int main(int argc, char *argv[])
                case OPT_FATAL_ERRORS:
                        fatal_errors = 1;
                        break;
+#ifdef CONFIG_SUPPORT_CHMAP
+               case 'm':
+                       channel_map = snd_pcm_chmap_parse_string(optarg);
+                       if (!channel_map) {
+                               fprintf(stderr, _("Unable to parse channel map string: %s\n"), optarg);
+                               return 1;
+                       }
+                       break;
+#endif
                default:
                        fprintf(stderr, _("Try `%s --help' for more information.\n"), command);
                        return 1;
@@ -790,7 +816,7 @@ static ssize_t safe_read(int fd, void *buf, size_t count)
 {
        ssize_t result = 0, res;
 
-       while (count > 0) {
+       while (count > 0 && !in_aborting) {
                if ((res = read(fd, buf, count)) == 0)
                        break;
                if (res < 0)
@@ -857,11 +883,20 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
        WaveFmtBody *f;
        WaveChunkHeader *c;
        u_int type, len;
+       unsigned short format, channels;
+       int big_endian, native_format;
 
        if (size < sizeof(WaveHeader))
                return -1;
-       if (h->magic != WAV_RIFF || h->type != WAV_WAVE)
+       if (h->magic == WAV_RIFF)
+               big_endian = 0;
+       else if (h->magic == WAV_RIFX)
+               big_endian = 1;
+       else
+               return -1;
+       if (h->type != WAV_WAVE)
                return -1;
+
        if (size > sizeof(WaveHeader)) {
                check_wavefile_space(buffer, size - sizeof(WaveHeader), blimit);
                memcpy(buffer, _buffer + sizeof(WaveHeader), size - sizeof(WaveHeader));
@@ -872,7 +907,7 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
                test_wavefile_read(fd, buffer, &size, sizeof(WaveChunkHeader), __LINE__);
                c = (WaveChunkHeader*)buffer;
                type = c->type;
-               len = LE_INT(c->length);
+               len = TO_CPU_INT(c->length, big_endian);
                len += len % 2;
                if (size > sizeof(WaveChunkHeader))
                        memmove(buffer, buffer + sizeof(WaveChunkHeader), size - sizeof(WaveChunkHeader));
@@ -894,7 +929,8 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
        check_wavefile_space(buffer, len, blimit);
        test_wavefile_read(fd, buffer, &size, len, __LINE__);
        f = (WaveFmtBody*) buffer;
-       if (LE_SHORT(f->format) == WAV_FMT_EXTENSIBLE) {
+       format = TO_CPU_SHORT(f->format, big_endian);
+       if (format == WAV_FMT_EXTENSIBLE) {
                WaveFmtExtensibleBody *fe = (WaveFmtExtensibleBody*)buffer;
                if (len < sizeof(WaveFmtExtensibleBody)) {
                        error(_("unknown length of extensible 'fmt ' chunk (read %u, should be %u at least)"),
@@ -905,19 +941,20 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
                        error(_("wrong format tag in extensible 'fmt ' chunk"));
                        prg_exit(EXIT_FAILURE);
                }
-               f->format = fe->guid_format;
+               format = TO_CPU_SHORT(fe->guid_format, big_endian);
        }
-        if (LE_SHORT(f->format) != WAV_FMT_PCM &&
-            LE_SHORT(f->format) != WAV_FMT_IEEE_FLOAT) {
-                error(_("can't play WAVE-file format 0x%04x which is not PCM or FLOAT encoded"), LE_SHORT(f->format));
+       if (format != WAV_FMT_PCM &&
+           format != WAV_FMT_IEEE_FLOAT) {
+                error(_("can't play WAVE-file format 0x%04x which is not PCM or FLOAT encoded"), format);
                prg_exit(EXIT_FAILURE);
        }
-       if (LE_SHORT(f->channels) < 1) {
-               error(_("can't play WAVE-files with %d tracks"), LE_SHORT(f->channels));
+       channels = TO_CPU_SHORT(f->channels, big_endian);
+       if (channels < 1) {
+               error(_("can't play WAVE-files with %d tracks"), channels);
                prg_exit(EXIT_FAILURE);
        }
-       hwparams.channels = LE_SHORT(f->channels);
-       switch (LE_SHORT(f->bit_p_spl)) {
+       hwparams.channels = channels;
+       switch (TO_CPU_SHORT(f->bit_p_spl, big_endian)) {
        case 8:
                if (hwparams.format != DEFAULT_FORMAT &&
                    hwparams.format != SND_PCM_FORMAT_U8)
@@ -925,43 +962,69 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
                hwparams.format = SND_PCM_FORMAT_U8;
                break;
        case 16:
+               if (big_endian)
+                       native_format = SND_PCM_FORMAT_S16_BE;
+               else
+                       native_format = SND_PCM_FORMAT_S16_LE;
                if (hwparams.format != DEFAULT_FORMAT &&
-                   hwparams.format != SND_PCM_FORMAT_S16_LE)
-                       fprintf(stderr, _("Warning: format is changed to S16_LE\n"));
-               hwparams.format = SND_PCM_FORMAT_S16_LE;
+                   hwparams.format != native_format)
+                       fprintf(stderr, _("Warning: format is changed to %s\n"),
+                               snd_pcm_format_name(native_format));
+               hwparams.format = native_format;
                break;
        case 24:
-               switch (LE_SHORT(f->byte_p_spl) / hwparams.channels) {
+               switch (TO_CPU_SHORT(f->byte_p_spl, big_endian) / hwparams.channels) {
                case 3:
+                       if (big_endian)
+                               native_format = SND_PCM_FORMAT_S24_3BE;
+                       else
+                               native_format = SND_PCM_FORMAT_S24_3LE;
                        if (hwparams.format != DEFAULT_FORMAT &&
-                           hwparams.format != SND_PCM_FORMAT_S24_3LE)
-                               fprintf(stderr, _("Warning: format is changed to S24_3LE\n"));
-                       hwparams.format = SND_PCM_FORMAT_S24_3LE;
+                           hwparams.format != native_format)
+                               fprintf(stderr, _("Warning: format is changed to %s\n"),
+                                       snd_pcm_format_name(native_format));
+                       hwparams.format = native_format;
                        break;
                case 4:
+                       if (big_endian)
+                               native_format = SND_PCM_FORMAT_S24_BE;
+                       else
+                               native_format = SND_PCM_FORMAT_S24_LE;
                        if (hwparams.format != DEFAULT_FORMAT &&
-                           hwparams.format != SND_PCM_FORMAT_S24_LE)
-                               fprintf(stderr, _("Warning: format is changed to S24_LE\n"));
-                       hwparams.format = SND_PCM_FORMAT_S24_LE;
+                           hwparams.format != native_format)
+                               fprintf(stderr, _("Warning: format is changed to %s\n"),
+                                       snd_pcm_format_name(native_format));
+                       hwparams.format = native_format;
                        break;
                default:
                        error(_(" can't play WAVE-files with sample %d bits in %d bytes wide (%d channels)"),
-                             LE_SHORT(f->bit_p_spl), LE_SHORT(f->byte_p_spl), hwparams.channels);
+                             TO_CPU_SHORT(f->bit_p_spl, big_endian),
+                             TO_CPU_SHORT(f->byte_p_spl, big_endian),
+                             hwparams.channels);
                        prg_exit(EXIT_FAILURE);
                }
                break;
        case 32:
-                if (LE_SHORT(f->format) == WAV_FMT_PCM)
-                        hwparams.format = SND_PCM_FORMAT_S32_LE;
-                else if (LE_SHORT(f->format) == WAV_FMT_IEEE_FLOAT)
-                        hwparams.format = SND_PCM_FORMAT_FLOAT_LE;
+               if (format == WAV_FMT_PCM) {
+                       if (big_endian)
+                               native_format = SND_PCM_FORMAT_S32_BE;
+                       else
+                               native_format = SND_PCM_FORMAT_S32_LE;
+                        hwparams.format = native_format;
+               } else if (format == WAV_FMT_IEEE_FLOAT) {
+                       if (big_endian)
+                               native_format = SND_PCM_FORMAT_FLOAT_BE;
+                       else
+                               native_format = SND_PCM_FORMAT_FLOAT_LE;
+                       hwparams.format = native_format;
+               }
                break;
        default:
                error(_(" can't play WAVE-files with sample %d bits wide"),
-                     LE_SHORT(f->bit_p_spl));
+                     TO_CPU_SHORT(f->bit_p_spl, big_endian));
                prg_exit(EXIT_FAILURE);
        }
-       hwparams.rate = LE_INT(f->sample_fq);
+       hwparams.rate = TO_CPU_INT(f->sample_fq, big_endian);
        
        if (size > len)
                memmove(buffer, buffer + len, size - len);
@@ -974,7 +1037,7 @@ static ssize_t test_wavefile(int fd, u_char *_buffer, size_t size)
                test_wavefile_read(fd, buffer, &size, sizeof(WaveChunkHeader), __LINE__);
                c = (WaveChunkHeader*)buffer;
                type = c->type;
-               len = LE_INT(c->length);
+               len = TO_CPU_INT(c->length, big_endian);
                if (size > sizeof(WaveChunkHeader))
                        memmove(buffer, buffer + sizeof(WaveChunkHeader), size - sizeof(WaveChunkHeader));
                size -= sizeof(WaveChunkHeader);
@@ -1051,12 +1114,80 @@ static void show_available_sample_formats(snd_pcm_hw_params_t* params)
        snd_pcm_format_t format;
 
        fprintf(stderr, "Available formats:\n");
-       for (format = 0; format < SND_PCM_FORMAT_LAST; format++) {
+       for (format = 0; format <= SND_PCM_FORMAT_LAST; format++) {
                if (snd_pcm_hw_params_test_format(handle, params, format) == 0)
                        fprintf(stderr, "- %s\n", snd_pcm_format_name(format));
        }
 }
 
+#ifdef CONFIG_SUPPORT_CHMAP
+static int setup_chmap(void)
+{
+       snd_pcm_chmap_t *chmap = channel_map;
+       char mapped[hwparams.channels];
+       snd_pcm_chmap_t *hw_chmap;
+       unsigned int ch, i;
+       int err;
+
+       if (!chmap)
+               return 0;
+
+       if (chmap->channels != hwparams.channels) {
+               error(_("Channel numbers don't match between hw_params and channel map"));
+               return -1;
+       }
+       err = snd_pcm_set_chmap(handle, chmap);
+       if (!err)
+               return 0;
+
+       hw_chmap = snd_pcm_get_chmap(handle);
+       if (!hw_chmap) {
+               fprintf(stderr, _("Warning: unable to get channel map\n"));
+               return 0;
+       }
+
+       if (hw_chmap->channels == chmap->channels &&
+           !memcmp(hw_chmap, chmap, 4 * (chmap->channels + 1))) {
+               /* maps are identical, so no need to convert */
+               free(hw_chmap);
+               return 0;
+       }
+
+       hw_map = calloc(hwparams.channels, sizeof(int));
+       if (!hw_map) {
+               error(_("not enough memory"));
+               return -1;
+       }
+
+       memset(mapped, 0, sizeof(mapped));
+       for (ch = 0; ch < hw_chmap->channels; ch++) {
+               if (chmap->pos[ch] == hw_chmap->pos[ch]) {
+                       mapped[ch] = 1;
+                       hw_map[ch] = ch;
+                       continue;
+               }
+               for (i = 0; i < hw_chmap->channels; i++) {
+                       if (!mapped[i] && chmap->pos[ch] == hw_chmap->pos[i]) {
+                               mapped[i] = 1;
+                               hw_map[ch] = i;
+                               break;
+                       }
+               }
+               if (i >= hw_chmap->channels) {
+                       char buf[256];
+                       error(_("Channel %d doesn't match with hw_parmas"), ch);
+                       snd_pcm_chmap_print(hw_chmap, sizeof(buf), buf);
+                       fprintf(stderr, "hardware chmap = %s\n", buf);
+                       return -1;
+               }
+       }
+       free(hw_chmap);
+       return 0;
+}
+#else
+#define setup_chmap()  0
+#endif
+
 static void set_params(void)
 {
        snd_pcm_hw_params_t *params;
@@ -1206,6 +1337,9 @@ static void set_params(void)
                prg_exit(EXIT_FAILURE);
        }
 
+       if (setup_chmap())
+               prg_exit(EXIT_FAILURE);
+
        if (verbose)
                snd_pcm_dump(handle, log);
 
@@ -1251,6 +1385,10 @@ static void init_stdin(void)
 
        if (!interactive)
                return;
+       if (!isatty(fileno(stdin))) {
+               interactive = 0;
+               return;
+       }
        tcgetattr(fileno(stdin), &term);
        term_c_lflag = term.c_lflag;
        if (fd == fileno(stdin))
@@ -1371,7 +1509,7 @@ static void xrun(void)
                        timermsub(&now, &tstamp, &diff);
                        fprintf(stderr, _("%s!!! (at least %.3f ms long)\n"),
                                stream == SND_PCM_STREAM_PLAYBACK ? _("underrun") : _("overrun"),
-                               diff.tv_sec * 1000 + diff.tv_nsec / 10000000.0);
+                               diff.tv_sec * 1000 + diff.tv_nsec / 1000000.0);
 #else
                        fprintf(stderr, "%s !!!\n", _("underrun"));
 #endif
@@ -1636,12 +1774,12 @@ static void compute_max_peak(u_char *data, size_t count)
                fflush(stderr);
        }
        else if(verbose==3) {
-               printf(_("Max peak (%li samples): 0x%08x "), (long)ocount, max_peak[0]);
+               fprintf(stderr, _("Max peak (%li samples): 0x%08x "), (long)ocount, max_peak[0]);
                for (val = 0; val < 20; val++)
                        if (val <= perc[0] / 5)
-                               putchar('#');
+                               putc('#', stderr);
                        else
-                               putchar(' ');
+                               putc(' ', stderr);
                fprintf(stderr, " %i%%\n", perc[0]);
                fflush(stderr);
        }
@@ -1707,6 +1845,69 @@ static void do_test_position(void)
 }
 
 /*
+ */
+#ifdef CONFIG_SUPPORT_CHMAP
+static u_char *remap_data(u_char *data, size_t count)
+{
+       static u_char *tmp, *src, *dst;
+       static size_t tmp_size;
+       size_t sample_bytes = bits_per_sample / 8;
+       size_t step = bits_per_frame / 8;
+       size_t chunk_bytes;
+       unsigned int ch, i;
+
+       if (!hw_map)
+               return data;
+
+       chunk_bytes = count * bits_per_frame / 8;
+       if (tmp_size < chunk_bytes) {
+               free(tmp);
+               tmp = malloc(chunk_bytes);
+               if (!tmp) {
+                       error(_("not enough memory"));
+                       exit(1);
+               }
+               tmp_size = count;
+       }
+
+       src = data;
+       dst = tmp;
+       for (i = 0; i < count; i++) {
+               for (ch = 0; ch < hwparams.channels; ch++) {
+                       memcpy(dst, src + sample_bytes * hw_map[ch],
+                              sample_bytes);
+                       dst += sample_bytes;
+               }
+               src += step;
+       }
+       return tmp;
+}
+
+static u_char **remap_datav(u_char **data, size_t count)
+{
+       static u_char **tmp;
+       unsigned int ch;
+
+       if (!hw_map)
+               return data;
+
+       if (!tmp) {
+               tmp = malloc(sizeof(*tmp) * hwparams.channels);
+               if (!tmp) {
+                       error(_("not enough memory"));
+                       exit(1);
+               }
+               for (ch = 0; ch < hwparams.channels; ch++)
+                       tmp[ch] = data[hw_map[ch]];
+       }
+       return tmp;
+}
+#else
+#define remap_data(data, count)                (data)
+#define remap_datav(data, count)       (data)
+#endif
+
+/*
  *  write function
  */
 
@@ -1719,7 +1920,8 @@ static ssize_t pcm_write(u_char *data, size_t count)
                snd_pcm_format_set_silence(hwparams.format, data + count * bits_per_frame / 8, (chunk_size - count) * hwparams.channels);
                count = chunk_size;
        }
-       while (count > 0) {
+       data = remap_data(data, count);
+       while (count > 0 && !in_aborting) {
                if (test_position)
                        do_test_position();
                check_stdin();
@@ -1761,7 +1963,8 @@ static ssize_t pcm_writev(u_char **data, unsigned int channels, size_t count)
                        snd_pcm_format_set_silence(hwparams.format, data[channel] + offset * bits_per_sample / 8, remaining);
                count = chunk_size;
        }
-       while (count > 0) {
+       data = remap_datav(data, count);
+       while (count > 0 && !in_aborting) {
                unsigned int channel;
                void *bufs[channels];
                size_t offset = result;
@@ -1810,7 +2013,7 @@ static ssize_t pcm_read(u_char *data, size_t rcount)
                count = chunk_size;
        }
 
-       while (count > 0) {
+       while (count > 0 && !in_aborting) {
                if (test_position)
                        do_test_position();
                check_stdin();
@@ -1836,7 +2039,7 @@ static ssize_t pcm_read(u_char *data, size_t rcount)
                        data += r * bits_per_frame / 8;
                }
        }
-       return rcount;
+       return result;
 }
 
 static ssize_t pcm_readv(u_char **data, unsigned int channels, size_t rcount)
@@ -1849,7 +2052,7 @@ static ssize_t pcm_readv(u_char **data, unsigned int channels, size_t rcount)
                count = chunk_size;
        }
 
-       while (count > 0) {
+       while (count > 0 && !in_aborting) {
                unsigned int channel;
                void *bufs[channels];
                size_t offset = result;
@@ -1881,7 +2084,7 @@ static ssize_t pcm_readv(u_char **data, unsigned int channels, size_t rcount)
                        count -= r;
                }
        }
-       return rcount;
+       return result;
 }
 
 /*
@@ -1921,7 +2124,7 @@ static void voc_write_silence(unsigned x)
                return;         /* not fatal error */
        }
        snd_pcm_format_set_silence(hwparams.format, buf, chunk_size * hwparams.channels);
-       while (x > 0) {
+       while (x > 0 && !in_aborting) {
                l = x;
                if (l > chunk_size)
                        l = chunk_size;
@@ -1959,7 +2162,6 @@ static void voc_play(int fd, int ofs, char *name)
        u_char *data, *buf;
        char was_extended = 0, output = 0;
        u_short *sp, repeat = 0;
-       size_t silence;
        off64_t filepos = 0;
 
 #define COUNT(x)       nextblock -= x; in_buffer -= x; data += x
@@ -1994,7 +2196,7 @@ static void voc_play(int fd, int ofs, char *name)
        set_params();
 
        in_buffer = nextblock = 0;
-       while (1) {
+       while (!in_aborting) {
              Fill_the_buffer:  /* need this for repeat */
                if (in_buffer < 32) {
                        /* move the rest of buffer to pos 0 and fill the buf up */
@@ -2063,9 +2265,12 @@ static void voc_play(int fd, int ofs, char *name)
                                COUNT1(1);
                                hwparams.rate = 1000000 / (256 - hwparams.rate);
                                set_params();
-                               silence = (((size_t) * sp) * 1000) / hwparams.rate;
 #if 0
-                               d_printf("Silence for %d ms\n", (int) silence);
+                               {
+                                       size_t silence;
+                                       silence = (((size_t) * sp) * 1000) / hwparams.rate;
+                                       d_printf("Silence for %d ms\n", (int) silence);
+                               }
 #endif
                                voc_write_silence(*sp);
                                break;
@@ -2439,7 +2644,7 @@ static void playback_go(int fd, size_t loaded, off64_t count, int rtype, char *n
        header(rtype, name);
        set_params();
 
-       while (loaded > chunk_bytes && written < count) {
+       while (loaded > chunk_bytes && written < count && !in_aborting) {
                if (pcm_write(audiobuf + written, chunk_size) <= 0)
                        return;
                written += chunk_bytes;
@@ -2449,7 +2654,7 @@ static void playback_go(int fd, size_t loaded, off64_t count, int rtype, char *n
                memmove(audiobuf, audiobuf + written, loaded);
 
        l = loaded;
-       while (written < count) {
+       while (written < count && !in_aborting) {
                do {
                        c = count - written;
                        if (c > chunk_bytes)
@@ -2789,7 +2994,7 @@ static void capture(char *orig_name)
 
                /* capture */
                fdcount = 0;
-               while (rest > 0 && recycle_capture_file == 0) {
+               while (rest > 0 && recycle_capture_file == 0 && !in_aborting) {
                        size_t c = (rest <= (off64_t)chunk_bytes) ?
                                (size_t)rest : chunk_bytes;
                        size_t f = c * 8 / bits_per_frame;
@@ -2816,6 +3021,9 @@ static void capture(char *orig_name)
                        fd = -1;
                }
 
+               if (in_aborting)
+                       break;
+
                /* repeat the loop when format is raw without timelimit or
                 * requested counts of data are recorded
                 */
@@ -2841,7 +3049,7 @@ static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off64_t
        for (channel = 0; channel < channels; ++channel)
                bufs[channel] = audiobuf + vsize * channel;
 
-       while (count > 0) {
+       while (count > 0 && !in_aborting) {
                size_t c = 0;
                size_t expected = count / channels;
                if (expected > vsize)
@@ -2890,7 +3098,7 @@ static void capturev_go(int* fds, unsigned int channels, off64_t count, int rtyp
        for (channel = 0; channel < channels; ++channel)
                bufs[channel] = audiobuf + vsize * channel;
 
-       while (count > 0) {
+       while (count > 0 && !in_aborting) {
                size_t rv;
                c = count;
                if (c > chunk_bytes)
index bf9b53e..2945dad 100644 (file)
@@ -1,6 +1,6 @@
 .TH APLAY 1 "1 January 2010"
 .SH NAME
-arecord, aplay \- command-line sound recorder and player for ALSA 
+arecord, aplay \- command\-line sound recorder and player for ALSA 
 soundcard driver
 .SH SYNOPSIS
 \fBarecord\fP [\fIflags\fP] [filename]
@@ -8,7 +8,7 @@ soundcard driver
 \fBaplay\fP [\fIflags\fP] [filename [filename]] ...
 
 .SH DESCRIPTION
-\fBarecord\fP is a command-line soundfile recorder for the ALSA soundcard
+\fBarecord\fP is a command\-line soundfile recorder for the ALSA soundcard
 driver. It supports several file formats and multiple soundcards with
 multiple devices. If recording with interleaved mode samples the file is
 automatically split before the 2GB filesize.
@@ -81,11 +81,11 @@ The default is zero, so if this option is omitted then the arecord process will
 Min ticks to sleep. The default is not to sleep.
 .TP
 \fI\-M, \-\-mmap\fP            
-Use memory-mapped (mmap) I/O mode for the audio stream.
+Use memory\-mapped (mmap) I/O mode for the audio stream.
 If this option is not set, the read/write I/O mode will be used.
 .TP
 \fI\-N, \-\-nonblock\fP          
-Open the audio device in non-blocking mode. If the device is busy the program will exit immediately.
+Open the audio device in non\-blocking mode. If the device is busy the program will exit immediately.
 If this option is not set the program will block until the audio device is available again.
 .TP
 \fI\-F, \-\-period\-time=#\fP     
@@ -120,8 +120,8 @@ This option is accumulative.  The VU meter is displayed when this
 is given twice or three times.
 .TP
 \fI\-V, \-\-vumeter=TYPE\fP
-Specifies the VU-meter type, either \fIstereo\fP or \fImono\fP.
-The stereo VU-meter is available only for 2-channel stereo samples
+Specifies the VU\-meter type, either \fIstereo\fP or \fImono\fP.
+The stereo VU\-meter is available only for 2\-channel stereo samples
 with interleaved format.
 .TP
 \fI\-I, \-\-separate\-channels\fP 
@@ -141,6 +141,17 @@ by typing arecord.
 Allow interactive operation via stdin.
 Currently only pause/resume via space or enter key is implemented.
 .TP
+\fI-m, \-\-chmap=ch1,ch2,...\fP
+Give the channel map to override or follow.  Pass channel position
+strings like \fIFL\fP, \fIFR\fP, etc.
+
+If a device supports the override of the channel map, \fBaplay\fP
+tries to pass the given channel map.
+If it doesn't support the channel map override but still it provides
+the channel map information, \fBaplay\fP tries to rearrange the
+channel order in the buffer to match with the returned channel map
+from the device.
+.TP
 \fI\-\-disable\-resample\fP
 Disable automatic rate resample.
 .TP
@@ -162,7 +173,7 @@ Expression for validation is: coef * (buffer_size / 2).
 Minimum value is 1.
 .TP
 \fI\-\-test\-nowait\fP
-Do not wait for the ring buffer--eats the whole CPU.
+Do not wait for the ring buffer \(hy eats the whole CPU.
 .TP
 \fI\-\-max\-file\-time\fP
 While recording, when the output file has been accumulating
@@ -177,7 +188,7 @@ aplay writes its process ID here, so other programs can
 send signals to it.
 .TP
 \fI\-\-use\-strftime\fP
-When recording, interpret %-codes in the file name parameter using
+When recording, interpret %\-codes in the file name parameter using
 the strftime facility whenever the output file is opened.  The
 important strftime codes are: %Y is the year, %m month, %d day of
 the month, %H hour, %M minute and %S second.  In addition, %v is
@@ -207,11 +218,11 @@ and continue recording.  However, SIGUSR1 does not work with
 .TP
 \fBaplay \-c 1 \-t raw \-r 22050 \-f mu_law foobar\fR
 will play the raw file "foobar" as a
-22050-Hz, mono, 8-bit, Mu-Law .au file. 
+22050\-Hz, mono, 8\-bit, Mu\-Law .au file. 
 
 .TP
 \fBarecord \-d 10 \-f cd \-t wav \-D copy foobar.wav\fP
-will record foobar.wav as a 10-second, CD-quality wave file, using the
+will record foobar.wav as a 10\-second, CD\-quality wave file, using the
 PCM "copy" (which might be defined in the user's .asoundrc file as:
 .nf
 pcm.copy {
@@ -224,14 +235,14 @@ pcm.copy {
 .fi
 
 .TP
-\fBarecord \-t wav \-\-max-file-time 30 mon.wav\fP
+\fBarecord \-t wav \-\-max\-file\-time 30 mon.wav\fP
 Record from the default audio source in monaural, 8,000 samples
 per second, 8 bits per sample.  Start a new file every
-30 seconds.  File names are mon-nn.wav, where nn increases
-from 01.  The file after mon-99.wav is mon-100.wav.
+30 seconds.  File names are mon\-nn.wav, where nn increases
+from 01.  The file after mon\-99.wav is mon\-100.wav.
 
 .TP
-\fBarecord \-f cd \-t wav \-\-max-file-time 3600 --use-strftime %Y/%m/%d/listen-%H-%M-%v.wav\fP
+\fBarecord \-f cd \-t wav \-\-max\-file\-time 3600 \-\-use-strftime %Y/%m/%d/listen-%H-%M-%v.wav\fP
 Record in stereo from the default audio source.  Create a new file
 every hour.  The files are placed in directories based on their start dates
 and have names which include their start times and file numbers.
index b5314f9..ac0a2b0 100644 (file)
@@ -60,7 +60,14 @@ typedef struct voc_ext_block {
 #error "Wrong endian"
 #endif
 
+/* Note: the following macros evaluate the parameter v twice */
+#define TO_CPU_SHORT(v, be) \
+       ((be) ? BE_SHORT(v) : LE_SHORT(v))
+#define TO_CPU_INT(v, be) \
+       ((be) ? BE_INT(v) : LE_INT(v))
+
 #define WAV_RIFF               COMPOSE_ID('R','I','F','F')
+#define WAV_RIFX               COMPOSE_ID('R','I','F','X')
 #define WAV_WAVE               COMPOSE_ID('W','A','V','E')
 #define WAV_FMT                        COMPOSE_ID('f','m','t',' ')
 #define WAV_DATA               COMPOSE_ID('d','a','t','a')
index 49ba16f..c0adba9 100755 (executable)
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2012-01-01'
+timestamp='2012-06-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ timestamp='2012-01-01'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -863,6 +861,13 @@ EOF
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit ;;
+    aarch64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    aarch64_be:Linux:*:*)
+       UNAME_MACHINE=aarch64_be
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
          EV5)   UNAME_MACHINE=alphaev5 ;;
@@ -1251,7 +1256,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
        echo neo-tandem-nsk${UNAME_RELEASE}
        exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NSE-*:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
@@ -1320,6 +1325,9 @@ EOF
     i*86:AROS:*:*)
        echo ${UNAME_MACHINE}-pc-aros
        exit ;;
+    x86_64:VMkernel:*:*)
+       echo ${UNAME_MACHINE}-unknown-esx
+       exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
index d6b6b3c..6205f84 100755 (executable)
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2012-01-01'
+timestamp='2012-04-18'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -21,9 +21,7 @@ timestamp='2012-01-01'
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -132,6 +130,10 @@ case $maybe_os in
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
+  android-linux)
+    os=-linux-android
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    ;;
   *)
     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
     if [ $basic_machine != $1 ]
@@ -223,6 +225,12 @@ case $os in
        -isc*)
                basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                ;;
+       -lynx*178)
+               os=-lynxos178
+               ;;
+       -lynx*5)
+               os=-lynxos5
+               ;;
        -lynx*)
                os=-lynxos
                ;;
@@ -247,6 +255,7 @@ case $basic_machine in
        # Some are omitted here because they have special meanings below.
        1750a | 580 \
        | a29k \
+       | aarch64 | aarch64_be \
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
@@ -319,7 +328,7 @@ case $basic_machine in
        c6x)
                basic_machine=tic6x-unknown
                ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
                basic_machine=$basic_machine-unknown
                os=-none
                ;;
@@ -332,7 +341,10 @@ case $basic_machine in
        strongarm | thumb | xscale)
                basic_machine=arm-unknown
                ;;
-
+       xgate)
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
        xscaleeb)
                basic_machine=armeb-unknown
                ;;
@@ -355,6 +367,7 @@ case $basic_machine in
        # Recognize the basic CPU types with company name.
        580-* \
        | a29k-* \
+       | aarch64-* | aarch64_be-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
        | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
@@ -1530,6 +1543,9 @@ case $basic_machine in
        c4x-* | tic4x-*)
                os=-coff
                ;;
+       hexagon-*)
+               os=-elf
+               ;;
        tic54x-*)
                os=-coff
                ;;
index bdc0ac3..160c06b 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,11 +1,9 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68.
+# Generated by GNU Autoconf 2.69 for alsa-utils 1.0.28.
 #
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -134,6 +132,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -167,7 +190,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -212,21 +236,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -328,6 +356,14 @@ $as_echo X"$as_dir" |
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -449,6 +485,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -483,16 +523,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -504,28 +544,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -555,12 +575,12 @@ MFLAGS=
 MAKEFLAGS=
 
 # Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-PACKAGE_URL=
+PACKAGE_NAME='alsa-utils'
+PACKAGE_TARNAME='alsa-utils'
+PACKAGE_VERSION='1.0.28'
+PACKAGE_STRING='alsa-utils 1.0.28'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
 
 ac_unique_file="aplay/aplay.c"
 ac_default_prefix=/usr
@@ -605,6 +625,9 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
+ALSACTL_DAEMONSWITCH
+ALSACTL_PIDFILE_DIR
+ASOUND_LOCK_DIR
 ASOUND_STATE_DIR
 HAVE_SYSTEMD_FALSE
 HAVE_SYSTEMD_TRUE
@@ -615,6 +638,7 @@ SND_UTIL_MINOR
 SND_UTIL_MAJOR
 SND_UTIL_VERSION
 TESTSOUND
+mydatadir
 CURSES_CFLAGS
 CURSESLIB
 CURSESINC
@@ -696,6 +720,9 @@ GMSGFMT
 MSGFMT
 GETTEXT_MACRO_VERSION
 USE_NLS
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
 am__untar
 am__tar
 AMTAR
@@ -760,6 +787,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+enable_maintainer_mode
 enable_nls
 enable_dependency_tracking
 with_gnu_ld
@@ -780,6 +808,9 @@ with_testsound
 enable_largefile
 with_systemdsystemunitdir
 with_asound_state_dir
+with_alsactl_lock_dir
+with_alsactl_pidfile_dir
+with_alsactl_daemonswitch
 '
       ac_precious_vars='build_alias
 host_alias
@@ -837,7 +868,7 @@ sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
 infodir='${datarootdir}/info'
 htmldir='${docdir}'
 dvidir='${docdir}'
@@ -1252,8 +1283,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1339,7 +1368,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
+\`configure' configures alsa-utils 1.0.28 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1387,7 +1416,7 @@ Fine tuning of the installation directories:
   --infodir=DIR           info documentation [DATAROOTDIR/info]
   --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
   --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/alsa-utils]
   --htmldir=DIR           html documentation [DOCDIR]
   --dvidir=DIR            dvi documentation [DOCDIR]
   --pdfdir=DIR            pdf documentation [DOCDIR]
@@ -1408,16 +1437,23 @@ _ACEOF
 fi
 
 if test -n "$ac_init_help"; then
-
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of alsa-utils 1.0.28:";;
+   esac
   cat <<\_ACEOF
 
 Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --disable-maintainer-mode
+                          disable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
   --disable-nls           do not use Native Language Support
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
   --disable-rpath         do not hardcode runtime library paths
   --disable-alsatest      Do not try to compile and run a test Alsa program
   --disable-alsamixer     Disable alsamixer compilation
@@ -1437,14 +1473,21 @@ Optional Packages:
   --with-alsa-prefix=PFX  Prefix where Alsa library is installed(optional)
   --with-alsa-inc-prefix=PFX  Prefix where include libraries are (optional)
   --with-librt            Use librt for monotonic clock (default = yes)
-  --with-udev-rules-dir   Directory where to install udev rules to (defaults
-                          to /lib/udev/rules.d)
+  --with-udev-rules-dir=DIR
+                          Directory where to install udev rules to
+                          (default=auto)
   --with-curses=libname   Specify the curses library to use (default=auto)
   --with-testsound=file   give the path of test sound file for alsaconf
   --with-systemdsystemunitdir=DIR
                           Directory for systemd service files
   --with-asound-state-dir=DIR
                           Directory to place asound.state file in
+  --with-alsactl-lock-dir=DIR
+                          Directory to place lock files in
+  --with-alsactl-pidfile-dir=DIR
+                          Directory to place alsactl.pid file in
+  --with-alsactl-daemonswitch=FILE
+                          File to test for the daemon mode
 
 Some influential environment variables:
   CC          C compiler command
@@ -1535,10 +1578,10 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.68
+alsa-utils configure 1.0.28
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1651,7 +1694,7 @@ $as_echo "$ac_try_echo"; } >&5
         test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
         test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
+        test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1900,8 +1943,8 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by $as_me, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+It was created by alsa-utils $as_me 1.0.28, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2250,7 +2293,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-am__api_version='1.11'
+
+am__api_version='1.12'
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2318,7 +2362,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+       if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
          if test $ac_prog = install &&
            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
            # AIX install.  It has an incompatible calling convention.
@@ -2376,9 +2420,6 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -2389,32 +2430,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+       # -L didn't work.
+       set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+       && test "$*" != "X conftest.file $srcdir/configure"; then
+
+       # If neither matched, then we have a broken ls.  This can happen
+       # if, for instance, CONFIG_SHELL is bash and it inherits a
+       # broken ls alias from the environment.  This has actually
+       # happened.  Such a system could not be considered "sane".
+       as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$2" = conftest.file
    )
 then
@@ -2426,6 +2475,16 @@ Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -2452,8 +2511,8 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
 if test x"${install_sh}" != xset; then
@@ -2465,10 +2524,10 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
@@ -2487,7 +2546,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2527,7 +2586,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2578,7 +2637,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_prog in mkdir gmkdir; do
         for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+          as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
           case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
             'mkdir (GNU coreutils) '* | \
             'mkdir (coreutils) '* | \
@@ -2607,12 +2666,6 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
 $as_echo "$MKDIR_P" >&6; }
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -2631,7 +2684,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2716,8 +2769,8 @@ fi
 
 
 # Define the identity of the package.
- PACKAGE=alsa-utils
- VERSION=1.0.26
+ PACKAGE='alsa-utils'
+ VERSION='1.0.28'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2745,6 +2798,12 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
@@ -2759,6 +2818,37 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=yes
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
 $as_echo_n "checking whether NLS is requested... " >&6; }
     # Check whether --enable-nls was given.
@@ -2866,7 +2956,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3093,7 +3183,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -3159,7 +3249,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3199,7 +3289,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3252,7 +3342,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3293,7 +3383,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -3351,7 +3441,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3395,7 +3485,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3841,8 +3931,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3938,8 +4027,8 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -3974,16 +4063,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -3992,8 +4081,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -4001,7 +4090,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -4428,7 +4517,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -4494,7 +4583,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -6138,7 +6227,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6178,7 +6267,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6231,7 +6320,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6272,7 +6361,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -6330,7 +6419,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6374,7 +6463,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6570,8 +6659,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -6667,8 +6755,8 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -6703,16 +6791,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -6721,8 +6809,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
        continue
       else
@@ -6730,7 +6818,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -6819,7 +6907,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -6892,7 +6980,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6935,7 +7023,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7038,7 +7126,7 @@ LIBS="$ALSA_LIBS $LIBS"
 $as_echo "$ALSA_LIBS" >&6; }
 
 if test "x$enable_alsatest" = "xyes"; then
-min_alsa_version=1.0.24
+min_alsa_version=1.0.27
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libasound headers version >= $min_alsa_version" >&5
 $as_echo_n "checking for libasound headers version >= $min_alsa_version... " >&6; }
 no_alsa=""
@@ -7474,7 +7562,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_xmlto="yes"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7508,9 +7596,14 @@ fi
 
 # Check whether --with-udev-rules-dir was given.
 if test "${with_udev_rules_dir+set}" = set; then :
-  withval=$with_udev_rules_dir; udevrulesdir=$withval
+  withval=$with_udev_rules_dir; udevrulesdir="$withval"
 else
-  udevrulesdir="/lib/udev/rules.d"
+  udevdir=$($PKG_CONFIG udev --variable=udevdir)
+        if test "x$udevdir" = "x"; then
+            udevrulesdir="/lib/udev/rules.d"
+        else
+            udevrulesdir="$udevdir/rules.d"
+        fi
 fi
 
 
@@ -7714,7 +7807,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ncursesw5_config="yes"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7804,7 +7897,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ncursesw5_config="yes"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -7967,7 +8060,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ncurses5_config="yes"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8057,7 +8150,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ncurses5_config="yes"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -8480,6 +8573,7 @@ _ACEOF
 
 
 
+
 # Check whether --with-testsound was given.
 if test "${with_testsound+set}" = set; then :
   withval=$with_testsound; TESTSOUND="$withval"
@@ -8503,11 +8597,11 @@ else
 int
 main ()
 {
-/* FIXME: Include the comments suggested by Paul. */
+
 #ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
+  /* Ultrix mips cc rejects this sort of thing.  */
   typedef int charset[2];
-  const charset cs;
+  const charset cs = { 0, 0 };
   /* SunOS 4.1.1 cc rejects this.  */
   char const *const *pcpcc;
   char **ppc;
@@ -8524,8 +8618,9 @@ main ()
   ++pcpcc;
   ppc = (char**) pcpcc;
   pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
+  { /* SCO 3.2v4 cc rejects this sort of thing.  */
+    char tx;
+    char *t = &tx;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
@@ -8541,10 +8636,10 @@ main ()
     iptr p = 0;
     ++p;
   }
-  { /* AIX XL C 1.02.0.0 rejects this saying
+  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
+    struct s { int j; const int *ap[3]; } bx;
+    struct s *b = &bx; b->j = 5;
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
@@ -8889,6 +8984,8 @@ _ACEOF
 esac
 rm -rf conftest*
   fi
+
+
 fi
 
 
@@ -8942,6 +9039,36 @@ fi
 
 
 
+
+# Check whether --with-alsactl-lock-dir was given.
+if test "${with_alsactl_lock_dir+set}" = set; then :
+  withval=$with_alsactl_lock_dir; ASOUND_LOCK_DIR="$withval"
+else
+  ASOUND_LOCK_DIR="/var/lock"
+fi
+
+
+
+
+# Check whether --with-alsactl-pidfile-dir was given.
+if test "${with_alsactl_pidfile_dir+set}" = set; then :
+  withval=$with_alsactl_pidfile_dir; ALSACTL_PIDFILE_DIR="$withval"
+else
+  ALSACTL_PIDFILE_DIR="/var/run"
+fi
+
+
+
+
+# Check whether --with-alsactl-daemonswitch was given.
+if test "${with_alsactl_daemonswitch+set}" = set; then :
+  withval=$with_alsactl_daemonswitch; ALSACTL_DAEMONSWITCH="$withval"
+else
+  ALSACTL_DAEMONSWITCH="/etc/alsa/state-daemon.conf"
+fi
+
+
+
 ac_config_files="$ac_config_files Makefile alsactl/Makefile alsactl/init/Makefile alsamixer/Makefile amidi/Makefile amixer/Makefile m4/Makefile po/Makefile.in alsaconf/alsaconf alsaconf/Makefile alsaconf/po/Makefile alsaucm/Makefile aplay/Makefile include/Makefile iecset/Makefile utils/Makefile utils/alsa-utils.spec seq/Makefile seq/aconnect/Makefile seq/aplaymidi/Makefile seq/aseqdump/Makefile seq/aseqnet/Makefile speaker-test/Makefile speaker-test/samples/Makefile alsaloop/Makefile"
 
 cat >confcache <<\_ACEOF
@@ -9053,6 +9180,14 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
  if test -n "$EXEEXT"; then
   am__EXEEXT_TRUE=
   am__EXEEXT_FALSE='#'
@@ -9061,6 +9196,10 @@ else
   am__EXEEXT_FALSE=
 fi
 
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
   as_fn_error $? "conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -9411,16 +9550,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -9480,28 +9619,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -9522,8 +9649,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+This file was extended by alsa-utils $as_me 1.0.28, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -9588,11 +9715,11 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.68,
+alsa-utils config.status 1.0.28
+configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -9683,7 +9810,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -10474,7 +10601,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -10508,21 +10635,19 @@ $as_echo X"$mf" |
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
     test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
similarity index 89%
rename from configure.in
rename to configure.ac
index 4e69567..a4d2db3 100644 (file)
@@ -1,8 +1,11 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.59)
-AC_INIT(aplay/aplay.c)
+AC_INIT(alsa-utils, 1.0.28)
+AC_CONFIG_SRCDIR([aplay/aplay.c])
 AC_PREFIX_DEFAULT(/usr)
-AM_INIT_AUTOMAKE(alsa-utils, 1.0.26)
+AM_INIT_AUTOMAKE
+
+AM_MAINTAINER_MODE([enable])
 
 AM_GNU_GETTEXT([external])
 AM_GNU_GETTEXT_VERSION([0.15])
@@ -30,7 +33,7 @@ AC_PROG_MKDIR_P
 AC_PROG_LN_S
 AC_PROG_SED
 PKG_PROG_PKG_CONFIG
-AM_PATH_ALSA(1.0.24)
+AM_PATH_ALSA(1.0.27)
 if test "x$enable_alsatest" = "xyes"; then
 AC_CHECK_FUNC([snd_ctl_elem_add_enumerated],
              , [AC_ERROR([No user enum control support in alsa-lib])])
@@ -118,8 +121,14 @@ AM_CONDITIONAL(USE_XMLTO, test x"$xmlto" = xyes)
 
 AC_ARG_WITH(
         [udev-rules-dir],
-        AS_HELP_STRING([--with-udev-rules-dir],[Directory where to install udev rules to (defaults to /lib/udev/rules.d)]),
-        [udevrulesdir=$withval], [udevrulesdir="/lib/udev/rules.d"])
+        AS_HELP_STRING([--with-udev-rules-dir=DIR],[Directory where to install udev rules to (default=auto)]),
+        [udevrulesdir="$withval"],
+        [udevdir=$($PKG_CONFIG udev --variable=udevdir)
+        if test "x$udevdir" = "x"; then
+            udevrulesdir="/lib/udev/rules.d"
+        else
+            udevrulesdir="$udevdir/rules.d"
+        fi])
 AC_SUBST(udevrulesdir)
 
 dnl Checks for header files.
@@ -283,6 +292,7 @@ AC_DEFINE_UNQUOTED(SOUNDSDIR, "$soundsdir", [directory containing sample data])
 
 mydatadir="$dir/alsa"
 AC_DEFINE_UNQUOTED(DATADIR, "$mydatadir", [directory containing alsa configuration])
+AC_SUBST(mydatadir)
 
 AC_ARG_WITH(testsound,
   AS_HELP_STRING([--with-testsound=file], [give the path of test sound file for alsaconf]),
@@ -290,7 +300,7 @@ AC_ARG_WITH(testsound,
   TESTSOUND="$dir/test.wav")
 AC_SUBST(TESTSOUND)
 
-AM_CONFIG_HEADER(include/aconfig.h)
+AC_CONFIG_HEADERS(include/aconfig.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -322,6 +332,24 @@ AC_ARG_WITH([asound-state-dir],
         [ASOUND_STATE_DIR="/var/lib/alsa"])
 AC_SUBST(ASOUND_STATE_DIR)
 
+AC_ARG_WITH([alsactl-lock-dir],
+        AS_HELP_STRING([--with-alsactl-lock-dir=DIR], [Directory to place lock files in]),
+        [ASOUND_LOCK_DIR="$withval"],
+        [ASOUND_LOCK_DIR="/var/lock"])
+AC_SUBST(ASOUND_LOCK_DIR)
+
+AC_ARG_WITH([alsactl-pidfile-dir],
+        AS_HELP_STRING([--with-alsactl-pidfile-dir=DIR], [Directory to place alsactl.pid file in]),
+        [ALSACTL_PIDFILE_DIR="$withval"],
+        [ALSACTL_PIDFILE_DIR="/var/run"])
+AC_SUBST(ALSACTL_PIDFILE_DIR)
+
+AC_ARG_WITH([alsactl-daemonswitch],
+        AS_HELP_STRING([--with-alsactl-daemonswitch=FILE], [File to test for the daemon mode]),
+        [ALSACTL_DAEMONSWITCH="$withval"],
+        [ALSACTL_DAEMONSWITCH="/etc/alsa/state-daemon.conf"])
+AC_SUBST(ALSACTL_DAEMONSWITCH)
+
 AC_OUTPUT(Makefile alsactl/Makefile alsactl/init/Makefile \
          alsamixer/Makefile amidi/Makefile amixer/Makefile \
          m4/Makefile po/Makefile.in \
diff --git a/depcomp b/depcomp
index bd0ac08..debb6ff 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2011-12-04.11; # UTC
+scriptversion=2012-03-27.16; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,7 +27,7 @@ scriptversion=2011-12-04.11; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
@@ -40,8 +39,8 @@ as side-effects.
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
   tmpdepfile  Temporary file to use when outputting dependencies.
@@ -57,6 +56,12 @@ EOF
     ;;
 esac
 
+# A tabulation character.
+tab='  '
+# A newline character.
+nl='
+'
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -102,6 +107,12 @@ if test "$depmode" = msvc7msys; then
    depmode=msvc7
 fi
 
+if test "$depmode" = xlc; then
+   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+   gccflag=-qmakedep=gcc,-MF
+   depmode=gcc
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -156,15 +167,14 @@ gcc)
 ## The second -e expression handles DOS-style file names with drive letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+  tr ' ' "$nl" < "$tmpdepfile" |
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
 ## well.  hp depmode also adds that space, but also prefixes the VPATH
 ## to the object.  Take care to not repeat it in the output.
@@ -203,18 +213,15 @@ sgi)
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
+    # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
+    tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
 
     # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
    >> "$depfile"
   else
@@ -226,10 +233,17 @@ sgi)
   rm -f "$tmpdepfile"
   ;;
 
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
@@ -259,12 +273,11 @@ aix)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
+    # Each line is of the form 'foo.o: dependent.h'.
     # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
+    # '$object: dependent.h' and one to simply 'dependent.h:'.
     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[     ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   else
     # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile
@@ -275,23 +288,26 @@ aix)
   ;;
 
 icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
+  # However on
+  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
   # ICC 7.0 will fill foo.d with something like
   #    foo.o: sub/foo.c
   #    foo.o: sub/foo.h
-  # which is wrong.  We want:
+  # which is wrong.  We want
   #    sub/foo.o: sub/foo.c
   #    sub/foo.o: sub/foo.h
   #    sub/foo.c:
   #    sub/foo.h:
   # ICC 7.1 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using :
+  # and will wrap long lines using '\':
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-
+  # tcc 0.9.26 (FIXME still under development at the moment of writing)
+  # will emit a similar output, but also prepend the continuation lines
+  # with horizontal tabulation characters.
   "$@" -MD -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
@@ -300,15 +316,21 @@ icc)
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Each line is of the form 'foo.o: dependent.h',
+  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
   # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  # '$object: dependent.h' and one to simply 'dependent.h:'.
+  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
+    < "$tmpdepfile" > "$depfile"
+  sed '
+    s/[ '"$tab"'][ '"$tab"']*/ /g
+    s/^ *//
+    s/ *\\*$//
+    s/^[^:]*: *//
+    /^$/d
+    /:$/d
+    s/$/ :/
+  ' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -344,7 +366,7 @@ hp2)
   done
   if test -f "$tmpdepfile"; then
     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
+    # Add 'dependent.h:' lines.
     sed -ne '2,${
               s/^ *//
               s/ \\*$//
@@ -359,9 +381,9 @@ hp2)
 
 tru64)
    # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
+   # dependencies in 'foo.d' instead, so we check for that too.
    # Subdirectories are respected.
    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    test "x$dir" = "x$object" && dir=
@@ -407,8 +429,7 @@ tru64)
    done
    if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
    else
       echo "#dummy" > "$depfile"
    fi
@@ -443,11 +464,11 @@ msvc7)
   p
 }' | $cygpath_u | sort -u | sed -n '
 s/ /\\ /g
-s/\(.*\)/      \1 \\/p
+s/\(.*\)/'"$tab"'\1 \\/p
 s/.\(.*\) \\/\1:/
 H
 $ {
-  s/.*/        /
+  s/.*/'"$tab"'/
   G
   p
 }' >> "$depfile"
@@ -478,7 +499,7 @@ dashmstdout)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -498,15 +519,14 @@ dashmstdout)
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
+  tr ' ' "$nl" < "$tmpdepfile" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -562,8 +582,7 @@ makedepend)
   # makedepend may prepend the VPATH from the source file name to the object.
   # No need to regex-escape $object, excess matching of '.' is harmless.
   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
+  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -583,7 +602,7 @@ cpp)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -652,8 +671,8 @@ msvisualcpp)
   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::     \1 \\:p' >> "$depfile"
-  echo "       " >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
index 513ef72..ce293cc 100755 (executable)
@@ -6,11 +6,11 @@ fi
 aclocal $alsa_m4_flags $ACLOCAL_FLAGS
 # save original files to avoid stupid modifications by gettextize
 cp Makefile.am Makefile.am.ok
-cp configure.in configure.in.ok
+cp configure.ac configure.ac.ok
 gettextize -c -f --no-changelog
 echo "EXTRA_DIST = gettext.m4" > m4/Makefile.am
 cp Makefile.am.ok Makefile.am
-cp configure.in.ok configure.in
+cp configure.ac.ok configure.ac
 autoheader
 automake --foreign --copy --add-missing
 touch depcomp          # for older automake
index c03a7f1..8c80f90 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = -lm
 # LDFLAGS = -static
 # CFLAGS += -g -Wall
index e220c86..14dba73 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -36,14 +52,15 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = iecset$(EXEEXT)
 subdir = iecset
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -66,6 +83,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(iecset_SOURCES)
 DIST_SOURCES = $(iecset_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -100,9 +122,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -145,6 +170,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -218,6 +244,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -236,7 +263,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = -lm
 iecset_SOURCES = iecset.c iecbits.c
 man_MANS = iecset.1
@@ -245,7 +272,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -270,15 +297,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -340,11 +370,18 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -424,6 +461,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -434,10 +485,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -581,7 +632,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index edea932..13e8947 100644 (file)
@@ -218,7 +218,7 @@ void dump_iec958(snd_aes_iec958_t *iec)
                        printf("user-defined\n");
                        break;
                default:
-                       printf("unkown\n");
+                       printf("unknown\n");
                        break;
                }
                printf("Sample Bits: ");
index 7a3968d..b447abf 100644 (file)
@@ -3,7 +3,7 @@ noinst_HEADERS=version.h gettext.h gettext_curses.h
 version.h: stamp-vh
        @:
 
-stamp-vh: $(top_builddir)/configure.in
+stamp-vh: $(top_builddir)/configure.ac
        @echo "/*" > ver.tmp
        @echo " *  version.h" >> ver.tmp
        @echo " */" >> ver.tmp
@@ -22,4 +22,4 @@ stamp-vh: $(top_builddir)/configure.in
               echo timestamp > stamp-vh)
        -@rm -f ver.tmp
 
-INCLUDES=-I$(top_srcdir)/include
+AM_CPPFLAGS=-I$(top_srcdir)/include
index 5601030..f66449c 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -43,7 +59,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -52,14 +68,22 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -102,6 +126,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -175,6 +200,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -194,12 +220,12 @@ top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
 noinst_HEADERS = version.h gettext.h gettext_curses.h
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 all: aconfig.h
        $(MAKE) $(AM_MAKEFLAGS) all-am
 
 .SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -224,9 +250,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
@@ -237,7 +263,7 @@ aconfig.h: stamp-h1
 stamp-h1: $(srcdir)/aconfig.h.in $(top_builddir)/config.status
        @rm -f stamp-h1
        cd $(top_builddir) && $(SHELL) ./config.status include/aconfig.h
-$(srcdir)/aconfig.h.in:  $(am__configure_deps) 
+$(srcdir)/aconfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
        ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
        rm -f stamp-h1
        touch $@
@@ -294,6 +320,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -430,9 +470,9 @@ uninstall-am:
 .MAKE: all install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       ctags distclean distclean-generic distclean-hdr distclean-tags \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-dvi \
+       cscopelist ctags distclean distclean-generic distclean-hdr \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-html \
        install-html-am install-info install-info-am install-man \
        install-pdf install-pdf-am install-ps install-ps-am \
@@ -445,7 +485,7 @@ uninstall-am:
 version.h: stamp-vh
        @:
 
-stamp-vh: $(top_builddir)/configure.in
+stamp-vh: $(top_builddir)/configure.ac
        @echo "/*" > ver.tmp
        @echo " *  version.h" >> ver.tmp
        @echo " */" >> ver.tmp
index 04e277b..0f6b081 100644 (file)
@@ -1,4 +1,4 @@
-/* include/aconfig.h.in.  Generated from configure.in by autoheader.  */
+/* include/aconfig.h.in.  Generated from configure.ac by autoheader.  */
 
 /* directory containing alsa configuration */
 #undef DATADIR
 /* ALSA util version */
 #undef VERSION
 
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
 /* Number of bits in a file offset, on hosts where this is settable. */
 #undef _FILE_OFFSET_BITS
 
index 5ca5f50..76f95f8 100644 (file)
@@ -4,9 +4,9 @@
 
 #define SND_UTIL_MAJOR         1
 #define SND_UTIL_MINOR         0
-#define SND_UTIL_SUBMINOR      26
+#define SND_UTIL_SUBMINOR      28
 #define SND_UTIL_VERSION               ((SND_UTIL_MAJOR<<16)|\
                                 (SND_UTIL_MINOR<<8)|\
                                  SND_UTIL_SUBMINOR)
-#define SND_UTIL_VERSION_STR   "1.0.26"
+#define SND_UTIL_VERSION_STR   "1.0.28"
 
index a9244eb..377bb86 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2011-11-20.07; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
@@ -156,7 +156,7 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
-       # Protect names problematic for `test' and other utilities.
+       # Protect names problematic for 'test' and other utilities.
        case $dst_arg in
          -* | [=\(\)!]) dst_arg=./$dst_arg;;
        esac
@@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
-    # Protect names problematic for `test' and other utilities.
+    # Protect names problematic for 'test' and other utilities.
     case $dst_arg in
       -* | [=\(\)!]) dst_arg=./$dst_arg;;
     esac
@@ -202,7 +202,7 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call `install-sh -d' without argument.
+  # It's OK to call 'install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
@@ -240,7 +240,7 @@ fi
 
 for src
 do
-  # Protect names problematic for `test' and other utilities.
+  # Protect names problematic for 'test' and other utilities.
   case $src in
     -* | [=\(\)!]) src=./$src;;
   esac
@@ -354,7 +354,7 @@ do
              if test -z "$dir_arg" || {
                   # Check for POSIX incompatibilities with -m.
                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                  # other-writeable bit of parent directory when it shouldn't.
+                  # other-writable bit of parent directory when it shouldn't.
                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
                   case $ls_ld_tmpdir in
index 8818d8d..99a1edd 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -41,7 +57,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -50,11 +66,19 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -97,6 +121,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -170,6 +195,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -192,7 +218,7 @@ EXTRA_DIST = gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m
 all: all-am
 
 .SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -217,9 +243,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 tags: TAGS
@@ -228,6 +254,8 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
+cscope cscopelist:
+
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
diff --git a/missing b/missing
index 86a8fc3..9a55648 100755 (executable)
--- a/missing
+++ b/missing
@@ -1,10 +1,9 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2012-01-06.18; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -26,7 +25,7 @@ scriptversion=2012-01-06.13; # UTC
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
@@ -34,7 +33,7 @@ run=:
 sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
 sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 
-# In the cases where this matters, `missing' is being run in the
+# In the cases where this matters, 'missing' is being run in the
 # srcdir already.
 if test -f configure.ac; then
   configure_ac=configure.ac
@@ -65,7 +64,7 @@ case $1 in
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
 error status if there is no known handling for PROGRAM.
 
 Options:
@@ -74,20 +73,20 @@ Options:
   --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
+  aclocal      touch file 'aclocal.m4'
+  autoconf     touch file 'configure'
+  autoheader   touch file 'config.h.in'
   autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
+  automake     touch all 'Makefile.in' files
+  bison        create 'y.tab.[ch]', if possible, from existing .[ch]
+  flex         create 'lex.yy.c', if possible, from existing .c
   help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
+  lex          create 'lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  yacc         create 'y.tab.[ch]', if possible, from existing .[ch]
 
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <bug-automake@gnu.org>."
     exit $?
@@ -99,8 +98,8 @@ Send bug reports to <bug-automake@gnu.org>."
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: Unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
@@ -127,7 +126,7 @@ case $1 in
        exit 1
     elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
        # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # running '$TOOL --version' or '$TOOL --help' to check whether
        # $TOOL exists and not knowing $TOOL uses missing.
        exit 1
     fi
@@ -139,27 +138,27 @@ esac
 case $program in
   aclocal*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'acinclude.m4' or '${configure_ac}'.  You might want
+         to install the Automake and Perl packages.  Grab them from
          any GNU archive site."
     touch aclocal.m4
     ;;
 
   autoconf*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+WARNING: '$1' is $msg.  You should only need it if
+         you modified '${configure_ac}'.  You might want to install the
+         Autoconf and GNU m4 packages.  Grab them from any GNU
          archive site."
     touch configure
     ;;
 
   autoheader*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'acconfig.h' or '${configure_ac}'.  You might want
+         to install the Autoconf and GNU m4 packages.  Grab them
          from any GNU archive site."
     files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
     test -z "$files" && files="config.h"
@@ -176,9 +175,9 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   automake*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
+         You might want to install the Automake and Perl packages.
          Grab them from any GNU archive site."
     find . -type f -name Makefile.am -print |
           sed 's/\.am$/.in/' |
@@ -187,10 +186,10 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   autom4te*)
     echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
+WARNING: '$1' is needed, but is $msg.
          You might have modified some files without having the
          proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
+         You can get '$1' as part of Autoconf from any GNU
          archive site."
 
     file=`echo "$*" | sed -n "$sed_output"`
@@ -210,10 +209,10 @@ WARNING: \`$1' is needed, but is $msg.
 
   bison*|yacc*)
     echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
+WARNING: '$1' $msg.  You should only need it if
+         you modified a '.y' file.  You may need the Bison package
          in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
+         Bison from any GNU archive site."
     rm -f y.tab.c y.tab.h
     if test $# -ne 1; then
         eval LASTARG=\${$#}
@@ -240,10 +239,10 @@ WARNING: \`$1' $msg.  You should only need it if
 
   lex*|flex*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
+WARNING: '$1' is $msg.  You should only need it if
+         you modified a '.l' file.  You may need the Flex package
          in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
+         Flex from any GNU archive site."
     rm -f lex.yy.c
     if test $# -ne 1; then
         eval LASTARG=\${$#}
@@ -263,10 +262,10 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   help2man*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
+WARNING: '$1' is $msg.  You should only need it if
         you modified a dependency of a manual page.  You may need the
-        \`Help2man' package in order for those modifications to take
-        effect.  You can get \`Help2man' from any GNU archive site."
+        Help2man package in order for those modifications to take
+        effect.  You can get Help2man from any GNU archive site."
 
     file=`echo "$*" | sed -n "$sed_output"`
     test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
@@ -281,12 +280,12 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   makeinfo*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
+WARNING: '$1' is $msg.  You should only need it if
+         you modified a '.texi' or '.texinfo' file, or any other file
          indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
+         call might also be the consequence of using a buggy 'make' (AIX,
+         DU, IRIX).  You might want to install the Texinfo package or
+         the GNU make package.  Grab either from any GNU archive site."
     # The file to touch is that specified with -o ...
     file=`echo "$*" | sed -n "$sed_output"`
     test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
@@ -310,12 +309,12 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   *)
     echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
+WARNING: '$1' is needed, and is $msg.
          You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
+         proper tools for further handling them.  Check the 'README' file,
          it often tells you about the needed prerequisites for installing
          this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
+         some other package would contain this missing '$1' program."
     exit 1
     ;;
 esac
index 779d8ac..4618f48 100644 (file)
@@ -39,3 +39,15 @@ MSGID_BUGS_ADDRESS =
 # This is the list of locale categories, beyond LC_MESSAGES, for which the
 # message catalogs shall be used.  It is usually empty.
 EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context.  Possible values are "yes" and "no".  Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+#   --previous            to keep previous msgids of translated messages,
+#   --quiet               to reduce the verbosity.
+MSGMERGE_OPTIONS =
index 80ae0d5..2606419 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: alsa-utils 1.0.26\n"
+"Project-Id-Version: alsa-utils 1.0.28\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-09-06 10:45+0200\n"
+"POT-Creation-Date: 2014-06-13 19:24+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -204,7 +204,7 @@ msgstr ""
 msgid "Rear"
 msgstr ""
 
-#: alsamixer/mixer_display.c:598 speaker-test/speaker-test.c:108
+#: alsamixer/mixer_display.c:598 speaker-test/speaker-test.c:124
 msgid "Center"
 msgstr ""
 
@@ -216,131 +216,131 @@ msgstr ""
 msgid "Side"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:95 alsamixer/mixer_widget.c:100
+#: alsamixer/mixer_widget.c:91 alsamixer/mixer_widget.c:96
 msgid "cannot open mixer"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:106 alsamixer/mixer_widget.c:183
+#: alsamixer/mixer_widget.c:102 alsamixer/mixer_widget.c:179
 msgid "cannot load mixer controls"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:173
+#: alsamixer/mixer_widget.c:169
 #, c-format
 msgid "Cannot open mixer device '%s'."
 msgstr ""
 
-#: alsamixer/mixer_widget.c:194
+#: alsamixer/mixer_widget.c:190
 msgid "Esc     Exit"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:195
+#: alsamixer/mixer_widget.c:191
 msgid "F1 ? H  Help"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:196
+#: alsamixer/mixer_widget.c:192
 msgid "F2 /    System information"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:197
+#: alsamixer/mixer_widget.c:193
 msgid "F3      Show playback controls"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:198
+#: alsamixer/mixer_widget.c:194
 msgid "F4      Show capture controls"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:199
+#: alsamixer/mixer_widget.c:195
 msgid "F5      Show all controls"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:200
+#: alsamixer/mixer_widget.c:196
 msgid "Tab     Toggle view mode (F3/F4/F5)"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:201
+#: alsamixer/mixer_widget.c:197
 msgid "F6 S    Select sound card"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:202
+#: alsamixer/mixer_widget.c:198
 msgid "L       Redraw screen"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:204
+#: alsamixer/mixer_widget.c:200
 msgid "Left    Move to the previous control"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:205
+#: alsamixer/mixer_widget.c:201
 msgid "Right   Move to the next control"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:207
+#: alsamixer/mixer_widget.c:203
 msgid "Up/Down    Change volume"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:208
+#: alsamixer/mixer_widget.c:204
 msgid "+ -        Change volume"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:209
+#: alsamixer/mixer_widget.c:205
 msgid "Page Up/Dn Change volume in big steps"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:210
+#: alsamixer/mixer_widget.c:206
 msgid "End        Set volume to 0%"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:211
+#: alsamixer/mixer_widget.c:207
 msgid "0-9        Set volume to 0%-90%"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:212
+#: alsamixer/mixer_widget.c:208
 msgid "Q W E      Increase left/both/right volumes"
 msgstr ""
 
 #. TRANSLATORS: or Y instead of Z
-#: alsamixer/mixer_widget.c:214
+#: alsamixer/mixer_widget.c:210
 msgid "Z X C      Decrease left/both/right volumes"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:215
+#: alsamixer/mixer_widget.c:211
 msgid "B          Balance left and right volumes"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:217
+#: alsamixer/mixer_widget.c:213
 msgid "M          Toggle mute"
 msgstr ""
 
 #. TRANSLATORS: or , .
-#: alsamixer/mixer_widget.c:219
+#: alsamixer/mixer_widget.c:215
 msgid "< >        Toggle left/right mute"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:221
+#: alsamixer/mixer_widget.c:217
 msgid "Space      Toggle capture"
 msgstr ""
 
 #. TRANSLATORS: or Insert Delete
-#: alsamixer/mixer_widget.c:223
+#: alsamixer/mixer_widget.c:219
 msgid "; '        Toggle left/right capture"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:225
+#: alsamixer/mixer_widget.c:221
 msgid "Authors:"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:226
+#: alsamixer/mixer_widget.c:222
 msgid "  Tim Janik"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:227
+#: alsamixer/mixer_widget.c:223
 msgid "  Jaroslav Kysela <perex@perex.cz>"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:228
+#: alsamixer/mixer_widget.c:224
 msgid "  Clemens Ladisch <clemens@ladisch.de>"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:230
+#: alsamixer/mixer_widget.c:226
 msgid "Help"
 msgstr ""
 
@@ -357,23 +357,23 @@ msgstr ""
 msgid "Cannot open file \"%s\"."
 msgstr ""
 
-#: aplay/aplay.c:165
+#: aplay/aplay.c:175
 msgid "raw data"
 msgstr ""
 
-#: aplay/aplay.c:166
+#: aplay/aplay.c:176
 msgid "VOC"
 msgstr ""
 
-#: aplay/aplay.c:168
+#: aplay/aplay.c:178
 msgid "WAVE"
 msgstr ""
 
-#: aplay/aplay.c:169
+#: aplay/aplay.c:179
 msgid "Sparc Audio"
 msgstr ""
 
-#: aplay/aplay.c:190
+#: aplay/aplay.c:200
 #, c-format
 msgid ""
 "Usage: %s [OPTION]... [FILE]...\n"
@@ -404,6 +404,7 @@ msgid ""
 "-V, --vumeter=TYPE      enable VU meter (TYPE: mono or stereo)\n"
 "-I, --separate-channels one file for each channel\n"
 "-i, --interactive       allow interactive operation from stdin\n"
+"-m, --chmap=ch1,ch2,..  Give the channel map to override or follow\n"
 "    --disable-resample  disable automatic rate resample\n"
 "    --disable-channels  disable automatic channel conversions\n"
 "    --disable-format    disable automatic format conversions\n"
@@ -423,472 +424,482 @@ msgid ""
 "    --fatal-errors      treat all errors as fatal\n"
 msgstr ""
 
-#: aplay/aplay.c:232 speaker-test/speaker-test.c:819
+#: aplay/aplay.c:244 speaker-test/speaker-test.c:1021
 #, c-format
 msgid "Recognized sample formats are:"
 msgstr ""
 
-#: aplay/aplay.c:238
+#: aplay/aplay.c:250
 #, c-format
 msgid ""
 "\n"
 "Some of these may not be available on selected hardware\n"
 msgstr ""
 
-#: aplay/aplay.c:239
+#: aplay/aplay.c:251
 #, c-format
-msgid "The availabled format shortcuts are:\n"
+msgid "The available format shortcuts are:\n"
 msgstr ""
 
-#: aplay/aplay.c:240
+#: aplay/aplay.c:252
 #, c-format
 msgid "-f cd (16 bit little endian, 44100, stereo)\n"
 msgstr ""
 
-#: aplay/aplay.c:241
+#: aplay/aplay.c:253
 #, c-format
 msgid "-f cdr (16 bit big endian, 44100, stereo)\n"
 msgstr ""
 
-#: aplay/aplay.c:242
+#: aplay/aplay.c:254
 #, c-format
 msgid "-f dat (16 bit little endian, 48000, stereo)\n"
 msgstr ""
 
-#: aplay/aplay.c:256
+#: aplay/aplay.c:268
 msgid "no soundcards found..."
 msgstr ""
 
-#: aplay/aplay.c:259
+#: aplay/aplay.c:271
 #, c-format
 msgid "**** List of %s Hardware Devices ****\n"
 msgstr ""
 
-#: aplay/aplay.c:288
+#: aplay/aplay.c:300
 #, c-format
 msgid "card %i: %s [%s], device %i: %s [%s]\n"
 msgstr ""
 
-#: aplay/aplay.c:294
+#: aplay/aplay.c:306
 #, c-format
 msgid "  Subdevices: %i/%i\n"
 msgstr ""
 
-#: aplay/aplay.c:301
+#: aplay/aplay.c:313
 #, c-format
 msgid "  Subdevice #%i: %s\n"
 msgstr ""
 
-#: aplay/aplay.c:384
+#: aplay/aplay.c:394
 #, c-format
 msgid "Aborted by signal %s...\n"
 msgstr ""
 
-#: aplay/aplay.c:500
+#: aplay/aplay.c:512
 msgid "command should be named either arecord or aplay"
 msgstr ""
 
-#: aplay/aplay.c:539
+#: aplay/aplay.c:556
 #, c-format
 msgid "unrecognized file format %s"
 msgstr ""
 
-#: aplay/aplay.c:546
+#: aplay/aplay.c:563
 #, c-format
 msgid "value %i for channels is invalid"
 msgstr ""
 
-#: aplay/aplay.c:565
+#: aplay/aplay.c:582
 #, c-format
 msgid "wrong extended format '%s'"
 msgstr ""
 
-#: aplay/aplay.c:576
+#: aplay/aplay.c:593
 #, c-format
 msgid "bad speed value %i"
 msgstr ""
 
-#: aplay/aplay.c:680
+#: aplay/aplay.c:700 speaker-test/speaker-test.c:665
+#, c-format
+msgid "Unable to parse channel map string: %s\n"
+msgstr ""
+
+#: aplay/aplay.c:706
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: aplay/aplay.c:696
+#: aplay/aplay.c:722
 #, c-format
 msgid "audio open error: %s"
 msgstr ""
 
-#: aplay/aplay.c:701
+#: aplay/aplay.c:727
 #, c-format
 msgid "info error: %s"
 msgstr ""
 
-#: aplay/aplay.c:708
+#: aplay/aplay.c:734
 #, c-format
 msgid "nonblock setting error: %s"
 msgstr ""
 
-#: aplay/aplay.c:718 aplay/aplay.c:842 aplay/aplay.c:1217
+#: aplay/aplay.c:744 aplay/aplay.c:868 aplay/aplay.c:1158 aplay/aplay.c:1351
+#: aplay/aplay.c:1867 aplay/aplay.c:1897
 msgid "not enough memory"
 msgstr ""
 
-#: aplay/aplay.c:742
+#: aplay/aplay.c:768
 #, c-format
 msgid "Cannot create process ID file %s: %s"
 msgstr ""
 
-#: aplay/aplay.c:832
+#: aplay/aplay.c:858
 #, c-format
 msgid "read error (called from line %i)"
 msgstr ""
 
-#: aplay/aplay.c:890
+#: aplay/aplay.c:925
 #, c-format
 msgid "unknown length of 'fmt ' chunk (read %u, should be %u at least)"
 msgstr ""
 
-#: aplay/aplay.c:900
+#: aplay/aplay.c:936
 #, c-format
 msgid ""
 "unknown length of extensible 'fmt ' chunk (read %u, should be %u at least)"
 msgstr ""
 
-#: aplay/aplay.c:905
+#: aplay/aplay.c:941
 msgid "wrong format tag in extensible 'fmt ' chunk"
 msgstr ""
 
-#: aplay/aplay.c:912
+#: aplay/aplay.c:948
 #, c-format
 msgid "can't play WAVE-file format 0x%04x which is not PCM or FLOAT encoded"
 msgstr ""
 
-#: aplay/aplay.c:916
+#: aplay/aplay.c:953
 #, c-format
 msgid "can't play WAVE-files with %d tracks"
 msgstr ""
 
-#: aplay/aplay.c:924 aplay/aplay.c:1024
+#: aplay/aplay.c:961 aplay/aplay.c:1087
 #, c-format
 msgid "Warning: format is changed to U8\n"
 msgstr ""
 
-#: aplay/aplay.c:930
-#, c-format
-msgid "Warning: format is changed to S16_LE\n"
-msgstr ""
-
-#: aplay/aplay.c:938
+#: aplay/aplay.c:971 aplay/aplay.c:984 aplay/aplay.c:995
 #, c-format
-msgid "Warning: format is changed to S24_3LE\n"
+msgid "Warning: format is changed to %s\n"
 msgstr ""
 
-#: aplay/aplay.c:944
-#, c-format
-msgid "Warning: format is changed to S24_LE\n"
-msgstr ""
-
-#: aplay/aplay.c:948
+#: aplay/aplay.c:1000
 #, c-format
 msgid ""
 " can't play WAVE-files with sample %d bits in %d bytes wide (%d channels)"
 msgstr ""
 
-#: aplay/aplay.c:960
+#: aplay/aplay.c:1023
 #, c-format
 msgid " can't play WAVE-files with sample %d bits wide"
 msgstr ""
 
-#: aplay/aplay.c:1018
+#: aplay/aplay.c:1081
 #, c-format
 msgid "Warning: format is changed to MU_LAW\n"
 msgstr ""
 
-#: aplay/aplay.c:1030
+#: aplay/aplay.c:1093
 #, c-format
 msgid "Warning: format is changed to S16_BE\n"
 msgstr ""
 
-#: aplay/aplay.c:1043 aplay/aplay.c:1980 aplay/aplay.c:1987 aplay/aplay.c:2510
-#: aplay/aplay.c:2522
+#: aplay/aplay.c:1106 aplay/aplay.c:2182 aplay/aplay.c:2189 aplay/aplay.c:2715
+#: aplay/aplay.c:2727
 msgid "read error"
 msgstr ""
 
-#: aplay/aplay.c:1073
+#: aplay/aplay.c:1136
+msgid "Channel numbers don't match between hw_params and channel map"
+msgstr ""
+
+#: aplay/aplay.c:1145
+#, c-format
+msgid "Warning: unable to get channel map\n"
+msgstr ""
+
+#: aplay/aplay.c:1178
+#, c-format
+msgid "Channel %d doesn't match with hw_parmas"
+msgstr ""
+
+#: aplay/aplay.c:1204
 msgid "Broken configuration for this PCM: no configurations available"
 msgstr ""
 
-#: aplay/aplay.c:1077
+#: aplay/aplay.c:1208
 #, c-format
 msgid "HW Params of device \"%s\":\n"
 msgstr ""
 
-#: aplay/aplay.c:1097
+#: aplay/aplay.c:1228
 msgid "Access type not available"
 msgstr ""
 
-#: aplay/aplay.c:1102
+#: aplay/aplay.c:1233
 msgid "Sample format non available"
 msgstr ""
 
-#: aplay/aplay.c:1108
+#: aplay/aplay.c:1239
 msgid "Channels count non available"
 msgstr ""
 
-#: aplay/aplay.c:1123
+#: aplay/aplay.c:1254
 #, c-format
 msgid "Warning: rate is not accurate (requested = %iHz, got = %iHz)\n"
 msgstr ""
 
-#: aplay/aplay.c:1129
+#: aplay/aplay.c:1260
 #, c-format
 msgid "         please, try the plug plugin %s\n"
 msgstr ""
 
-#: aplay/aplay.c:1166
+#: aplay/aplay.c:1297
 msgid "Unable to install hw params:"
 msgstr ""
 
-#: aplay/aplay.c:1173
+#: aplay/aplay.c:1304
 #, c-format
 msgid "Can't use period equal to buffer size (%lu == %lu)"
 msgstr ""
 
-#: aplay/aplay.c:1204
+#: aplay/aplay.c:1335
 msgid "unable to install sw params:"
 msgstr ""
 
-#: aplay/aplay.c:1235
+#: aplay/aplay.c:1369
 #, c-format
 msgid "snd_pcm_mmap_begin problem: %s"
 msgstr ""
 
-#: aplay/aplay.c:1260
+#: aplay/aplay.c:1398
 #, c-format
 msgid "stdin O_NONBLOCK flag setup failed\n"
 msgstr ""
 
-#: aplay/aplay.c:1284
+#: aplay/aplay.c:1422
 #, c-format
 msgid "\rPAUSE command ignored (no hw support)\n"
 msgstr ""
 
-#: aplay/aplay.c:1289
+#: aplay/aplay.c:1427
 #, c-format
 msgid "pause push error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1298
+#: aplay/aplay.c:1436
 #, c-format
 msgid "pause release error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1314
+#: aplay/aplay.c:1452
 #, c-format
 msgid ""
 "\r=== PAUSE ===                                                            "
 msgstr ""
 
-#: aplay/aplay.c:1356
+#: aplay/aplay.c:1494
 #, c-format
 msgid "status error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1361
+#: aplay/aplay.c:1499
 #, c-format
 msgid "fatal %s: %s"
 msgstr ""
 
-#: aplay/aplay.c:1362 aplay/aplay.c:1373 aplay/aplay.c:1376 aplay/aplay.c:1384
+#: aplay/aplay.c:1500 aplay/aplay.c:1511 aplay/aplay.c:1514 aplay/aplay.c:1522
 msgid "underrun"
 msgstr ""
 
-#: aplay/aplay.c:1362 aplay/aplay.c:1373 aplay/aplay.c:1384
+#: aplay/aplay.c:1500 aplay/aplay.c:1511 aplay/aplay.c:1522
 msgid "overrun"
 msgstr ""
 
-#: aplay/aplay.c:1372 aplay/aplay.c:1383
+#: aplay/aplay.c:1510 aplay/aplay.c:1521
 #, c-format
 msgid "%s!!! (at least %.3f ms long)\n"
 msgstr ""
 
-#: aplay/aplay.c:1388
+#: aplay/aplay.c:1526
 #, c-format
 msgid "Status:\n"
 msgstr ""
 
-#: aplay/aplay.c:1392
+#: aplay/aplay.c:1530
 #, c-format
 msgid "xrun: prepare error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1398
+#: aplay/aplay.c:1536
 #, c-format
 msgid "Status(DRAINING):\n"
 msgstr ""
 
-#: aplay/aplay.c:1402
+#: aplay/aplay.c:1540
 #, c-format
 msgid "capture stream format change? attempting recover...\n"
 msgstr ""
 
-#: aplay/aplay.c:1404
+#: aplay/aplay.c:1542
 #, c-format
 msgid "xrun(DRAINING): prepare error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1411
+#: aplay/aplay.c:1549
 #, c-format
 msgid "Status(R/W):\n"
 msgstr ""
 
-#: aplay/aplay.c:1414
+#: aplay/aplay.c:1552
 #, c-format
 msgid "read/write error, state = %s"
 msgstr ""
 
-#: aplay/aplay.c:1424
+#: aplay/aplay.c:1562
 #, c-format
 msgid "Suspended. Trying resume. "
 msgstr ""
 
-#: aplay/aplay.c:1429
+#: aplay/aplay.c:1567
 #, c-format
 msgid "Failed. Restarting stream. "
 msgstr ""
 
-#: aplay/aplay.c:1431
+#: aplay/aplay.c:1569
 #, c-format
 msgid "suspend: prepare error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1436
+#: aplay/aplay.c:1574
 #, c-format
 msgid "Done.\n"
 msgstr ""
 
-#: aplay/aplay.c:1458
+#: aplay/aplay.c:1596
 #, c-format
 msgid " !clip  "
 msgstr ""
 
-#: aplay/aplay.c:1605
+#: aplay/aplay.c:1743
 #, c-format
 msgid "Unsupported bit size %d.\n"
 msgstr ""
 
-#: aplay/aplay.c:1639
+#: aplay/aplay.c:1777
 #, c-format
 msgid "Max peak (%li samples): 0x%08x "
 msgstr ""
 
-#: aplay/aplay.c:1673
+#: aplay/aplay.c:1811
 #, c-format
 msgid ""
 "Suspicious buffer position (%li total): avail = %li, delay = %li, buffer = "
 "%li\n"
 msgstr ""
 
-#: aplay/aplay.c:1737
+#: aplay/aplay.c:1939
 #, c-format
 msgid "write error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1784
+#: aplay/aplay.c:1987
 #, c-format
 msgid "writev error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1828
+#: aplay/aplay.c:2031
 #, c-format
 msgid "read error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1872
+#: aplay/aplay.c:2075
 #, c-format
 msgid "readv error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1920
+#: aplay/aplay.c:2123
 msgid "can't allocate buffer for silence"
 msgstr ""
 
-#: aplay/aplay.c:1929 aplay/aplay.c:2155 aplay/aplay.c:2160 aplay/aplay.c:2207
-#: aplay/aplay.c:2216 aplay/aplay.c:2223 aplay/aplay.c:2233 aplay/aplay.c:2239
-#: aplay/aplay.c:2311 aplay/aplay.c:2341 aplay/aplay.c:2355
+#: aplay/aplay.c:2132 aplay/aplay.c:2360 aplay/aplay.c:2365 aplay/aplay.c:2412
+#: aplay/aplay.c:2421 aplay/aplay.c:2428 aplay/aplay.c:2438 aplay/aplay.c:2444
+#: aplay/aplay.c:2516 aplay/aplay.c:2546 aplay/aplay.c:2560
 msgid "write error"
 msgstr ""
 
-#: aplay/aplay.c:1942
+#: aplay/aplay.c:2145
 #, c-format
 msgid "voc_pcm_flush - silence error"
 msgstr ""
 
-#: aplay/aplay.c:1945
+#: aplay/aplay.c:2148
 msgid "voc_pcm_flush error"
 msgstr ""
 
-#: aplay/aplay.c:1971
+#: aplay/aplay.c:2173
 msgid "malloc error"
 msgstr ""
 
-#: aplay/aplay.c:1975
+#: aplay/aplay.c:2177
 #, c-format
 msgid "Playing Creative Labs Channel file '%s'...\n"
 msgstr ""
 
-#: aplay/aplay.c:2043 aplay/aplay.c:2135
+#: aplay/aplay.c:2245 aplay/aplay.c:2340
 msgid "can't play packed .voc files"
 msgstr ""
 
-#: aplay/aplay.c:2095
+#: aplay/aplay.c:2300
 #, c-format
 msgid "can't play loops; %s isn't seekable\n"
 msgstr ""
 
-#: aplay/aplay.c:2144
+#: aplay/aplay.c:2349
 #, c-format
 msgid "unknown blocktype %d. terminate."
 msgstr ""
 
-#: aplay/aplay.c:2275
+#: aplay/aplay.c:2480
 #, c-format
 msgid "Wave doesn't support %s format..."
 msgstr ""
 
-#: aplay/aplay.c:2335
+#: aplay/aplay.c:2540
 #, c-format
 msgid "Sparc Audio doesn't support %s format..."
 msgstr ""
 
-#: aplay/aplay.c:2416
+#: aplay/aplay.c:2621
 msgid "Playing"
 msgstr ""
 
-#: aplay/aplay.c:2416
+#: aplay/aplay.c:2621
 msgid "Recording"
 msgstr ""
 
-#: aplay/aplay.c:2420
+#: aplay/aplay.c:2625
 #, c-format
 msgid "Rate %d Hz, "
 msgstr ""
 
-#: aplay/aplay.c:2422
+#: aplay/aplay.c:2627
 #, c-format
 msgid "Mono"
 msgstr ""
 
-#: aplay/aplay.c:2424
+#: aplay/aplay.c:2629
 #, c-format
 msgid "Stereo"
 msgstr ""
 
-#: aplay/aplay.c:2426
+#: aplay/aplay.c:2631
 #, c-format
 msgid "Channels %i"
 msgstr ""
 
-#: aplay/aplay.c:2937 aplay/aplay.c:2990
+#: aplay/aplay.c:3145 aplay/aplay.c:3198
 #, c-format
 msgid "You need to specify %d files"
 msgstr ""
@@ -999,47 +1010,47 @@ msgstr ""
 msgid "kernel"
 msgstr ""
 
-#: seq/aconnect/aconnect.c:307
+#: seq/aconnect/aconnect.c:308
 #, c-format
 msgid "can't open sequencer\n"
 msgstr ""
 
-#: seq/aconnect/aconnect.c:335
+#: seq/aconnect/aconnect.c:336
 #, c-format
 msgid "can't get client id\n"
 msgstr ""
 
-#: seq/aconnect/aconnect.c:342
+#: seq/aconnect/aconnect.c:343
 #, c-format
 msgid "can't set client info\n"
 msgstr ""
 
-#: seq/aconnect/aconnect.c:349
+#: seq/aconnect/aconnect.c:350
 #, c-format
 msgid "invalid sender address %s\n"
 msgstr ""
 
-#: seq/aconnect/aconnect.c:354 seq/aseqnet/aseqnet.c:290
+#: seq/aconnect/aconnect.c:355 seq/aseqnet/aseqnet.c:290
 #, c-format
 msgid "invalid destination address %s\n"
 msgstr ""
 
-#: seq/aconnect/aconnect.c:368
+#: seq/aconnect/aconnect.c:369
 #, c-format
 msgid "No subscription is found\n"
 msgstr ""
 
-#: seq/aconnect/aconnect.c:373
+#: seq/aconnect/aconnect.c:374
 #, c-format
 msgid "Disconnection failed (%s)\n"
 msgstr ""
 
-#: seq/aconnect/aconnect.c:379
+#: seq/aconnect/aconnect.c:380
 #, c-format
 msgid "Connection is already subscribed\n"
 msgstr ""
 
-#: seq/aconnect/aconnect.c:384
+#: seq/aconnect/aconnect.c:385
 #, c-format
 msgid "Connection failed (%s)\n"
 msgstr ""
@@ -1076,7 +1087,7 @@ msgstr ""
 
 #: seq/aseqnet/aseqnet.c:170
 #, c-format
-msgid "  -p,--port # : sepcify TCP port (digit or service name)\n"
+msgid "  -p,--port # : specify TCP port (digit or service name)\n"
 msgstr ""
 
 #: seq/aseqnet/aseqnet.c:171
@@ -1169,257 +1180,262 @@ msgstr ""
 msgid "disconnected\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:104
+#: speaker-test/speaker-test.c:120
 msgid "Front Left"
 msgstr ""
 
-#: speaker-test/speaker-test.c:105
+#: speaker-test/speaker-test.c:121
 msgid "Front Right"
 msgstr ""
 
-#: speaker-test/speaker-test.c:106
+#: speaker-test/speaker-test.c:122
 msgid "Rear Left"
 msgstr ""
 
-#: speaker-test/speaker-test.c:107
+#: speaker-test/speaker-test.c:123
 msgid "Rear Right"
 msgstr ""
 
-#: speaker-test/speaker-test.c:109
+#: speaker-test/speaker-test.c:125
 msgid "LFE"
 msgstr ""
 
-#: speaker-test/speaker-test.c:110
+#: speaker-test/speaker-test.c:126
 msgid "Side Left"
 msgstr ""
 
-#: speaker-test/speaker-test.c:111
+#: speaker-test/speaker-test.c:127
 msgid "Side Right"
 msgstr ""
 
-#: speaker-test/speaker-test.c:112
+#: speaker-test/speaker-test.c:128
 msgid "Channel 9"
 msgstr ""
 
-#: speaker-test/speaker-test.c:113
+#: speaker-test/speaker-test.c:129
 msgid "Channel 10"
 msgstr ""
 
-#: speaker-test/speaker-test.c:114
+#: speaker-test/speaker-test.c:130
 msgid "Channel 11"
 msgstr ""
 
-#: speaker-test/speaker-test.c:115
+#: speaker-test/speaker-test.c:131
 msgid "Channel 12"
 msgstr ""
 
-#: speaker-test/speaker-test.c:116
+#: speaker-test/speaker-test.c:132
 msgid "Channel 13"
 msgstr ""
 
-#: speaker-test/speaker-test.c:117
+#: speaker-test/speaker-test.c:133
 msgid "Channel 14"
 msgstr ""
 
-#: speaker-test/speaker-test.c:118
+#: speaker-test/speaker-test.c:134
 msgid "Channel 15"
 msgstr ""
 
-#: speaker-test/speaker-test.c:119
+#: speaker-test/speaker-test.c:135
 msgid "Channel 16"
 msgstr ""
 
-#: speaker-test/speaker-test.c:383
+#: speaker-test/speaker-test.c:518
 #, c-format
 msgid "Broken configuration for playback: no configurations available: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:390
+#: speaker-test/speaker-test.c:525
 #, c-format
 msgid "Access type not available for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:397
+#: speaker-test/speaker-test.c:532
 #, c-format
 msgid "Sample format not available for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:404
+#: speaker-test/speaker-test.c:539
 #, c-format
 msgid "Channels count (%i) not available for playbacks: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:412
+#: speaker-test/speaker-test.c:547
 #, c-format
 msgid "Rate %iHz not available for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:417
+#: speaker-test/speaker-test.c:552
 #, c-format
 msgid "Rate doesn't match (requested %iHz, get %iHz, err %d)\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:421
+#: speaker-test/speaker-test.c:556
 #, c-format
 msgid "Rate set to %iHz (requested %iHz)\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:427
+#: speaker-test/speaker-test.c:562
 #, c-format
 msgid "Buffer size range from %lu to %lu\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:428
+#: speaker-test/speaker-test.c:563
 #, c-format
 msgid "Period size range from %lu to %lu\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:430
+#: speaker-test/speaker-test.c:565
 #, c-format
 msgid "Requested period time %u us\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:433
+#: speaker-test/speaker-test.c:568
 #, c-format
 msgid "Unable to set period time %u us for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:439
+#: speaker-test/speaker-test.c:574
 #, c-format
 msgid "Requested buffer time %u us\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:442
+#: speaker-test/speaker-test.c:577
 #, c-format
 msgid "Unable to set buffer time %u us for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:451
+#: speaker-test/speaker-test.c:586
 #, c-format
 msgid "Using max buffer size %lu\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:454
+#: speaker-test/speaker-test.c:589
 #, c-format
 msgid "Unable to set buffer size %lu for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:460
+#: speaker-test/speaker-test.c:595
 #, c-format
 msgid "Periods = %u\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:463
+#: speaker-test/speaker-test.c:598
 #, c-format
 msgid "Unable to set nperiods %u for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:472
+#: speaker-test/speaker-test.c:607
 #, c-format
 msgid "Unable to set hw params for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:478
+#: speaker-test/speaker-test.c:613
 #, c-format
 msgid "was set period_size = %lu\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:479
+#: speaker-test/speaker-test.c:614
 #, c-format
 msgid "was set buffer_size = %lu\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:481
+#: speaker-test/speaker-test.c:616
 #, c-format
 msgid "buffer to small, could not use\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:494
+#: speaker-test/speaker-test.c:629
 #, c-format
 msgid "Unable to determine current swparams for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:501
+#: speaker-test/speaker-test.c:636
 #, c-format
 msgid "Unable to set start threshold mode for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:508
+#: speaker-test/speaker-test.c:643
 #, c-format
 msgid "Unable to set avail min for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:515
+#: speaker-test/speaker-test.c:650
 #, c-format
 msgid "Unable to set sw params for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:530
+#: speaker-test/speaker-test.c:670
+#, c-format
+msgid "Unable to set channel map: %s\n"
+msgstr ""
+
+#: speaker-test/speaker-test.c:695
 #, c-format
 msgid "Can't recovery from underrun, prepare failed: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:541
+#: speaker-test/speaker-test.c:706
 #, c-format
 msgid "Can't recovery from suspend, prepare failed: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:605 speaker-test/speaker-test.c:1025
+#: speaker-test/speaker-test.c:770 speaker-test/speaker-test.c:1261
 #, c-format
 msgid "No enough memory\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:610
+#: speaker-test/speaker-test.c:775
 #, c-format
 msgid "Cannot open WAV file %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:614 speaker-test/speaker-test.c:643
+#: speaker-test/speaker-test.c:779 speaker-test/speaker-test.c:808
 #, c-format
 msgid "Invalid WAV file %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:619
+#: speaker-test/speaker-test.c:784
 #, c-format
 msgid "Not a WAV file: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:623
+#: speaker-test/speaker-test.c:788
 #, c-format
 msgid "Unsupported WAV format %d for %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:628
+#: speaker-test/speaker-test.c:793
 #, c-format
 msgid "%s is not a mono stream (%d channels)\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:633
+#: speaker-test/speaker-test.c:798
 #, c-format
 msgid "Sample rate doesn't match (%d) for %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:638
+#: speaker-test/speaker-test.c:803
 #, c-format
 msgid "Unsupported sample format bits %d for %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:688
+#: speaker-test/speaker-test.c:864
 #, c-format
 msgid "Undefined channel %d\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:739
+#: speaker-test/speaker-test.c:915
 #, c-format
 msgid "Write error: %d,%s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:741
+#: speaker-test/speaker-test.c:917
 #, c-format
 msgid "xrun_recovery failed: %d,%s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:803
+#: speaker-test/speaker-test.c:1003
 #, c-format
 msgid ""
 "Usage: speaker-test [OPTION]... \n"
@@ -1437,75 +1453,77 @@ msgid ""
 "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n"
 "-w,--wavfile\tUse the given WAV file as a test sound\n"
 "-W,--wavdir\tSpecify the directory containing WAV files\n"
+"-m,--chmap\tSpecify the channel map to override\n"
+"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n"
 "\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:921
+#: speaker-test/speaker-test.c:1132
 #, c-format
 msgid "Invalid number of periods %d\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:937 speaker-test/speaker-test.c:941
+#: speaker-test/speaker-test.c:1148 speaker-test/speaker-test.c:1152
 #, c-format
 msgid "Invalid test type %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:953
+#: speaker-test/speaker-test.c:1164
 #, c-format
 msgid "Invalid parameter for -s option.\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:967
+#: speaker-test/speaker-test.c:1186
 #, c-format
 msgid "Unknown option '%c'\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:981
+#: speaker-test/speaker-test.c:1207
 #, c-format
 msgid "Playback device is %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:982
+#: speaker-test/speaker-test.c:1208
 #, c-format
 msgid "Stream parameters are %iHz, %s, %i channels\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:985
+#: speaker-test/speaker-test.c:1211
 #, c-format
 msgid "Using 16 octaves of pink noise\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:988
+#: speaker-test/speaker-test.c:1214
 #, c-format
 msgid "Sine wave rate is %.4fHz\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:991
+#: speaker-test/speaker-test.c:1217
 #, c-format
 msgid "WAV file(s)\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:997
+#: speaker-test/speaker-test.c:1227
 #, c-format
 msgid "Playback open error: %d,%s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:1002
+#: speaker-test/speaker-test.c:1233
 #, c-format
 msgid "Setting of hwparams failed: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:1007
+#: speaker-test/speaker-test.c:1237
 #, c-format
 msgid "Setting of swparams failed: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:1056 speaker-test/speaker-test.c:1078
+#: speaker-test/speaker-test.c:1284 speaker-test/speaker-test.c:1306
 #, c-format
 msgid "Transfer failed: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:1066
+#: speaker-test/speaker-test.c:1292
 #, c-format
 msgid "Time per period = %lf\n"
 msgstr ""
index 32bcf46..ef69ef2 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 76b1575..f124d04 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: alsa-utils 1.0.23\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-09-06 10:45+0200\n"
+"POT-Creation-Date: 2014-06-13 19:24+0200\n"
 "PO-Revision-Date: 2010-11-09 21:12+0100\n"
 "Last-Translator: Clemens Ladisch <clemens@ladisch.de>\n"
 "Language-Team: German\n"
@@ -212,7 +212,7 @@ msgstr "Vorne"
 msgid "Rear"
 msgstr "Hinten"
 
-#: alsamixer/mixer_display.c:598 speaker-test/speaker-test.c:108
+#: alsamixer/mixer_display.c:598 speaker-test/speaker-test.c:124
 msgid "Center"
 msgstr "Mitte"
 
@@ -224,131 +224,131 @@ msgstr "Bass"
 msgid "Side"
 msgstr "Seiten"
 
-#: alsamixer/mixer_widget.c:95 alsamixer/mixer_widget.c:100
+#: alsamixer/mixer_widget.c:91 alsamixer/mixer_widget.c:96
 msgid "cannot open mixer"
 msgstr "Fehler beim Öffen des Mixer-Gerätes"
 
-#: alsamixer/mixer_widget.c:106 alsamixer/mixer_widget.c:183
+#: alsamixer/mixer_widget.c:102 alsamixer/mixer_widget.c:179
 msgid "cannot load mixer controls"
 msgstr "Fehler beim Laden der Mixer-Regler"
 
-#: alsamixer/mixer_widget.c:173
+#: alsamixer/mixer_widget.c:169
 #, c-format
 msgid "Cannot open mixer device '%s'."
 msgstr "Fehler beim Öffnen des Mixer-Gerätes '%s'."
 
-#: alsamixer/mixer_widget.c:194
+#: alsamixer/mixer_widget.c:190
 msgid "Esc     Exit"
 msgstr "Esc     Beenden"
 
-#: alsamixer/mixer_widget.c:195
+#: alsamixer/mixer_widget.c:191
 msgid "F1 ? H  Help"
 msgstr "F1 ? H  Hilfe"
 
-#: alsamixer/mixer_widget.c:196
+#: alsamixer/mixer_widget.c:192
 msgid "F2 /    System information"
 msgstr "F2 /    System-Informationen"
 
-#: alsamixer/mixer_widget.c:197
+#: alsamixer/mixer_widget.c:193
 msgid "F3      Show playback controls"
 msgstr "F3      Ansicht Wiedergabe-Regler"
 
-#: alsamixer/mixer_widget.c:198
+#: alsamixer/mixer_widget.c:194
 msgid "F4      Show capture controls"
 msgstr "F4      Ansicht Aufnahme-Regler"
 
-#: alsamixer/mixer_widget.c:199
+#: alsamixer/mixer_widget.c:195
 msgid "F5      Show all controls"
 msgstr "F5      Ansicht alle Regler"
 
-#: alsamixer/mixer_widget.c:200
+#: alsamixer/mixer_widget.c:196
 msgid "Tab     Toggle view mode (F3/F4/F5)"
 msgstr "Tab     Ansichts-Modus umschalten (F3/F4/F5)"
 
-#: alsamixer/mixer_widget.c:201
+#: alsamixer/mixer_widget.c:197
 msgid "F6 S    Select sound card"
 msgstr "F6 S    Soundkarte auswählen"
 
-#: alsamixer/mixer_widget.c:202
+#: alsamixer/mixer_widget.c:198
 msgid "L       Redraw screen"
 msgstr "L       Bildschirm neu darstellen"
 
-#: alsamixer/mixer_widget.c:204
+#: alsamixer/mixer_widget.c:200
 msgid "Left    Move to the previous control"
 msgstr "Links   gehe zum vorherigen Regler"
 
-#: alsamixer/mixer_widget.c:205
+#: alsamixer/mixer_widget.c:201
 msgid "Right   Move to the next control"
 msgstr "Rechts  gehe zum nächsten Regler"
 
-#: alsamixer/mixer_widget.c:207
+#: alsamixer/mixer_widget.c:203
 msgid "Up/Down    Change volume"
 msgstr "Oben/Unten  Lautstärke ändern"
 
-#: alsamixer/mixer_widget.c:208
+#: alsamixer/mixer_widget.c:204
 msgid "+ -        Change volume"
 msgstr "+ -         Lautstärke ändern"
 
-#: alsamixer/mixer_widget.c:209
+#: alsamixer/mixer_widget.c:205
 msgid "Page Up/Dn Change volume in big steps"
 msgstr "Bild ^/v    Lautstärke in großen Schritten ändern"
 
-#: alsamixer/mixer_widget.c:210
+#: alsamixer/mixer_widget.c:206
 msgid "End        Set volume to 0%"
 msgstr "Ende        Lautstärke auf 0% setzen"
 
-#: alsamixer/mixer_widget.c:211
+#: alsamixer/mixer_widget.c:207
 msgid "0-9        Set volume to 0%-90%"
 msgstr "0-9         Lautstärke auf 0%-90% setzen"
 
-#: alsamixer/mixer_widget.c:212
+#: alsamixer/mixer_widget.c:208
 msgid "Q W E      Increase left/both/right volumes"
 msgstr "Q W E       linke/beide/rechte Lautstärke erhöhen"
 
 #. TRANSLATORS: or Y instead of Z
-#: alsamixer/mixer_widget.c:214
+#: alsamixer/mixer_widget.c:210
 msgid "Z X C      Decrease left/both/right volumes"
 msgstr "Y X C       linke/beide/rechte Lautstärke verringern"
 
-#: alsamixer/mixer_widget.c:215
+#: alsamixer/mixer_widget.c:211
 msgid "B          Balance left and right volumes"
 msgstr "B           linke und rechte Lautstärke angleichen"
 
-#: alsamixer/mixer_widget.c:217
+#: alsamixer/mixer_widget.c:213
 msgid "M          Toggle mute"
 msgstr "M           stumm umschalten"
 
 #. TRANSLATORS: or , .
-#: alsamixer/mixer_widget.c:219
+#: alsamixer/mixer_widget.c:215
 msgid "< >        Toggle left/right mute"
 msgstr ", .         stumm links/rechts umschalten"
 
-#: alsamixer/mixer_widget.c:221
+#: alsamixer/mixer_widget.c:217
 msgid "Space      Toggle capture"
 msgstr "Leertaste   Aufnahme umschalten"
 
 #. TRANSLATORS: or Insert Delete
-#: alsamixer/mixer_widget.c:223
+#: alsamixer/mixer_widget.c:219
 msgid "; '        Toggle left/right capture"
 msgstr "Einfg Entf  Aufnahme links/rechts umschalten"
 
-#: alsamixer/mixer_widget.c:225
+#: alsamixer/mixer_widget.c:221
 msgid "Authors:"
 msgstr "Autoren:"
 
-#: alsamixer/mixer_widget.c:226
+#: alsamixer/mixer_widget.c:222
 msgid "  Tim Janik"
 msgstr "  Tim Janik"
 
-#: alsamixer/mixer_widget.c:227
+#: alsamixer/mixer_widget.c:223
 msgid "  Jaroslav Kysela <perex@perex.cz>"
 msgstr "  Jaroslav Kysela <perex@perex.cz>"
 
-#: alsamixer/mixer_widget.c:228
+#: alsamixer/mixer_widget.c:224
 msgid "  Clemens Ladisch <clemens@ladisch.de>"
 msgstr "  Clemens Ladisch <clemens@ladisch.de>"
 
-#: alsamixer/mixer_widget.c:230
+#: alsamixer/mixer_widget.c:226
 msgid "Help"
 msgstr "Hilfe"
 
@@ -365,23 +365,23 @@ msgstr "Fehler"
 msgid "Cannot open file \"%s\"."
 msgstr "Fehler beim Öffnen der Datei \"%s\"."
 
-#: aplay/aplay.c:165
+#: aplay/aplay.c:175
 msgid "raw data"
 msgstr "Rohdaten"
 
-#: aplay/aplay.c:166
+#: aplay/aplay.c:176
 msgid "VOC"
 msgstr "VOC"
 
-#: aplay/aplay.c:168
+#: aplay/aplay.c:178
 msgid "WAVE"
 msgstr "WAVE"
 
-#: aplay/aplay.c:169
+#: aplay/aplay.c:179
 msgid "Sparc Audio"
 msgstr "Sparc-Audio"
 
-#: aplay/aplay.c:190
+#: aplay/aplay.c:200
 #, fuzzy, c-format
 msgid ""
 "Usage: %s [OPTION]... [FILE]...\n"
@@ -412,6 +412,7 @@ msgid ""
 "-V, --vumeter=TYPE      enable VU meter (TYPE: mono or stereo)\n"
 "-I, --separate-channels one file for each channel\n"
 "-i, --interactive       allow interactive operation from stdin\n"
+"-m, --chmap=ch1,ch2,..  Give the channel map to override or follow\n"
 "    --disable-resample  disable automatic rate resample\n"
 "    --disable-channels  disable automatic channel conversions\n"
 "    --disable-format    disable automatic format conversions\n"
@@ -470,12 +471,12 @@ msgstr ""
 "    --process-id-file=# schreibe Prozess-ID in diese Datei\n"
 "    --use-strftime      formatiere Dateiname mit strftime; %%v=Dateinummer\n"
 
-#: aplay/aplay.c:232 speaker-test/speaker-test.c:819
+#: aplay/aplay.c:244 speaker-test/speaker-test.c:1021
 #, c-format
 msgid "Recognized sample formats are:"
 msgstr "Unterstützte Sample-Formate:"
 
-#: aplay/aplay.c:238
+#: aplay/aplay.c:250
 #, c-format
 msgid ""
 "\n"
@@ -484,120 +485,126 @@ msgstr ""
 "\n"
 "Nicht alle davon sind auf jeder Hardware verfügbar.\n"
 
-#: aplay/aplay.c:239
-#, c-format
-msgid "The availabled format shortcuts are:\n"
+#: aplay/aplay.c:251
+#, fuzzy, c-format
+msgid "The available format shortcuts are:\n"
 msgstr "Unterstütze Format-Abkürzungen:\n"
 
-#: aplay/aplay.c:240
+#: aplay/aplay.c:252
 #, c-format
 msgid "-f cd (16 bit little endian, 44100, stereo)\n"
 msgstr "-f cd (16 Bits, Little Endian, 44100 Hz, stereo)\n"
 
-#: aplay/aplay.c:241
+#: aplay/aplay.c:253
 #, c-format
 msgid "-f cdr (16 bit big endian, 44100, stereo)\n"
 msgstr "-f cdr (16 Bits, Big Endian, 44100 Hz, stereo)\n"
 
-#: aplay/aplay.c:242
+#: aplay/aplay.c:254
 #, c-format
 msgid "-f dat (16 bit little endian, 48000, stereo)\n"
 msgstr "-f dat (16 Bits, Little Endian, 48000 Hz, stereo)\n"
 
-#: aplay/aplay.c:256
+#: aplay/aplay.c:268
 msgid "no soundcards found..."
 msgstr "keine Soundkarten gefunden ..."
 
-#: aplay/aplay.c:259
+#: aplay/aplay.c:271
 #, c-format
 msgid "**** List of %s Hardware Devices ****\n"
 msgstr "**** Liste der Hardware-Geräte (%s) ****\n"
 
-#: aplay/aplay.c:288
+#: aplay/aplay.c:300
 #, c-format
 msgid "card %i: %s [%s], device %i: %s [%s]\n"
 msgstr "Karte %i: %s [%s], Gerät %i: %s [%s]\n"
 
-#: aplay/aplay.c:294
+#: aplay/aplay.c:306
 #, c-format
 msgid "  Subdevices: %i/%i\n"
 msgstr "  Sub-Geräte: %i/%i\n"
 
-#: aplay/aplay.c:301
+#: aplay/aplay.c:313
 #, c-format
 msgid "  Subdevice #%i: %s\n"
 msgstr "  Sub-Gerät #%i: %s\n"
 
-#: aplay/aplay.c:384
+#: aplay/aplay.c:394
 #, c-format
 msgid "Aborted by signal %s...\n"
 msgstr "Abbruch durch Signal %s ...\n"
 
-#: aplay/aplay.c:500
+#: aplay/aplay.c:512
 msgid "command should be named either arecord or aplay"
 msgstr "Befehl sollte arecord oder aplay sein"
 
-#: aplay/aplay.c:539
+#: aplay/aplay.c:556
 #, c-format
 msgid "unrecognized file format %s"
 msgstr "unbekanntes Dateiformat %s"
 
-#: aplay/aplay.c:546
+#: aplay/aplay.c:563
 #, c-format
 msgid "value %i for channels is invalid"
 msgstr "Kanalanzahl %i ist ungültig"
 
-#: aplay/aplay.c:565
+#: aplay/aplay.c:582
 #, c-format
 msgid "wrong extended format '%s'"
 msgstr "erweitertes Format '%s' ist ungültig"
 
-#: aplay/aplay.c:576
+#: aplay/aplay.c:593
 #, c-format
 msgid "bad speed value %i"
 msgstr "ungültige Rate %i"
 
-#: aplay/aplay.c:680
+#: aplay/aplay.c:700 speaker-test/speaker-test.c:665
+#, fuzzy, c-format
+msgid "Unable to parse channel map string: %s\n"
+msgstr "Fehler beim Setzen des Mindest-verfügbar-Wertes: %s\n"
+
+#: aplay/aplay.c:706
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Siehe `%s --help' für mehr Informationen.\n"
 
-#: aplay/aplay.c:696
+#: aplay/aplay.c:722
 #, c-format
 msgid "audio open error: %s"
 msgstr "Fehler beim Öffnen des Gerätes: %s"
 
-#: aplay/aplay.c:701
+#: aplay/aplay.c:727
 #, c-format
 msgid "info error: %s"
 msgstr "Fehler beim Lesen der Geräteinformationen: %s"
 
-#: aplay/aplay.c:708
+#: aplay/aplay.c:734
 #, c-format
 msgid "nonblock setting error: %s"
 msgstr "Fehler beim Setzen des nonblock-Modus: %s"
 
-#: aplay/aplay.c:718 aplay/aplay.c:842 aplay/aplay.c:1217
+#: aplay/aplay.c:744 aplay/aplay.c:868 aplay/aplay.c:1158 aplay/aplay.c:1351
+#: aplay/aplay.c:1867 aplay/aplay.c:1897
 msgid "not enough memory"
 msgstr "nicht genug Speicher"
 
-#: aplay/aplay.c:742
+#: aplay/aplay.c:768
 #, c-format
 msgid "Cannot create process ID file %s: %s"
 msgstr "Fehler beim Schreiben der Prozess-ID-Datei %s: %s"
 
-#: aplay/aplay.c:832
+#: aplay/aplay.c:858
 #, c-format
 msgid "read error (called from line %i)"
 msgstr "Lesefehler (aufgerufen von Zeile %i)"
 
-#: aplay/aplay.c:890
+#: aplay/aplay.c:925
 #, c-format
 msgid "unknown length of 'fmt ' chunk (read %u, should be %u at least)"
 msgstr ""
 "unbekannte Länge des 'fmt '-Blocks (gelesen: %u, sollte mindestens %u sein)"
 
-#: aplay/aplay.c:900
+#: aplay/aplay.c:936
 #, c-format
 msgid ""
 "unknown length of extensible 'fmt ' chunk (read %u, should be %u at least)"
@@ -605,240 +612,244 @@ msgstr ""
 "unbekannte Länge des erweiterten 'fmt '-Blocks (gelesen: %u, sollte "
 "mindestens %u sein)"
 
-#: aplay/aplay.c:905
+#: aplay/aplay.c:941
 msgid "wrong format tag in extensible 'fmt ' chunk"
 msgstr "ungültiger Format-Wert im erweiterten 'fmt '-Block"
 
-#: aplay/aplay.c:912
+#: aplay/aplay.c:948
 #, c-format
 msgid "can't play WAVE-file format 0x%04x which is not PCM or FLOAT encoded"
 msgstr ""
 "kann WAVE-Datei-Format 0x%04x nicht abspielen; ist weder PCM noch FLOAT"
 
-#: aplay/aplay.c:916
+#: aplay/aplay.c:953
 #, c-format
 msgid "can't play WAVE-files with %d tracks"
 msgstr "kann WAVE-Datei mit %d Kanälen nicht abspielen"
 
-#: aplay/aplay.c:924 aplay/aplay.c:1024
+#: aplay/aplay.c:961 aplay/aplay.c:1087
 #, c-format
 msgid "Warning: format is changed to U8\n"
 msgstr "Warnung: benutztes Format ist U8\n"
 
-#: aplay/aplay.c:930
-#, c-format
-msgid "Warning: format is changed to S16_LE\n"
-msgstr "Warnung: benutztes Format ist S16_LE\n"
-
-#: aplay/aplay.c:938
-#, c-format
-msgid "Warning: format is changed to S24_3LE\n"
-msgstr "Warnung: benutztes Format ist S24_3LE\n"
-
-#: aplay/aplay.c:944
-#, c-format
-msgid "Warning: format is changed to S24_LE\n"
-msgstr "Warnung: benutztes Format ist S24_LE\n"
+#: aplay/aplay.c:971 aplay/aplay.c:984 aplay/aplay.c:995
+#, fuzzy, c-format
+msgid "Warning: format is changed to %s\n"
+msgstr "Warnung: benutztes Format ist U8\n"
 
-#: aplay/aplay.c:948
+#: aplay/aplay.c:1000
 #, c-format
 msgid ""
 " can't play WAVE-files with sample %d bits in %d bytes wide (%d channels)"
 msgstr ""
 "kann WAVE-Datei mit %d-Bit-Samples in %d Bytes (%d Kanäle) nicht abspielen"
 
-#: aplay/aplay.c:960
+#: aplay/aplay.c:1023
 #, c-format
 msgid " can't play WAVE-files with sample %d bits wide"
 msgstr "kann WAVE-Datei mit %d-Bit-Samples nicht abspielen"
 
-#: aplay/aplay.c:1018
+#: aplay/aplay.c:1081
 #, c-format
 msgid "Warning: format is changed to MU_LAW\n"
 msgstr "Warnung: benutztes Format ist MU_LAW\n"
 
-#: aplay/aplay.c:1030
+#: aplay/aplay.c:1093
 #, c-format
 msgid "Warning: format is changed to S16_BE\n"
 msgstr "Warnung: benutztes Format ist S16_BE\n"
 
-#: aplay/aplay.c:1043 aplay/aplay.c:1980 aplay/aplay.c:1987 aplay/aplay.c:2510
-#: aplay/aplay.c:2522
+#: aplay/aplay.c:1106 aplay/aplay.c:2182 aplay/aplay.c:2189 aplay/aplay.c:2715
+#: aplay/aplay.c:2727
 msgid "read error"
 msgstr "Lesefehler"
 
-#: aplay/aplay.c:1073
+#: aplay/aplay.c:1136
+msgid "Channel numbers don't match between hw_params and channel map"
+msgstr ""
+
+#: aplay/aplay.c:1145
+#, c-format
+msgid "Warning: unable to get channel map\n"
+msgstr ""
+
+#: aplay/aplay.c:1178
+#, c-format
+msgid "Channel %d doesn't match with hw_parmas"
+msgstr ""
+
+#: aplay/aplay.c:1204
 msgid "Broken configuration for this PCM: no configurations available"
 msgstr ""
 "ungültige Konfiguration für dieses Gerät: keine unterstützte Konfiguration"
 
-#: aplay/aplay.c:1077
+#: aplay/aplay.c:1208
 #, c-format
 msgid "HW Params of device \"%s\":\n"
 msgstr ""
 
-#: aplay/aplay.c:1097
+#: aplay/aplay.c:1228
 msgid "Access type not available"
 msgstr "Zugriffs-Modus nicht unterstützt"
 
-#: aplay/aplay.c:1102
+#: aplay/aplay.c:1233
 msgid "Sample format non available"
 msgstr "Sample-Format nicht unterstützt"
 
-#: aplay/aplay.c:1108
+#: aplay/aplay.c:1239
 msgid "Channels count non available"
 msgstr "Kanalanzahl nicht unterstützt"
 
-#: aplay/aplay.c:1123
+#: aplay/aplay.c:1254
 #, c-format
 msgid "Warning: rate is not accurate (requested = %iHz, got = %iHz)\n"
 msgstr ""
 "Warnung: Rate ist nicht exakt (angefordert: %i Hz, unterstützt: %i Hz)\n"
 
-#: aplay/aplay.c:1129
+#: aplay/aplay.c:1260
 #, c-format
 msgid "         please, try the plug plugin %s\n"
 msgstr "         probieren Sie bitte das plug-Plugin: %s\n"
 
-#: aplay/aplay.c:1166
+#: aplay/aplay.c:1297
 msgid "Unable to install hw params:"
 msgstr "Fehler beim Setzen der Hardware-Parameter:"
 
-#: aplay/aplay.c:1173
+#: aplay/aplay.c:1304
 #, c-format
 msgid "Can't use period equal to buffer size (%lu == %lu)"
 msgstr "Periode gleich der Puffer-Größe wird nicht unterstützt (%lu == %lu)"
 
-#: aplay/aplay.c:1204
+#: aplay/aplay.c:1335
 msgid "unable to install sw params:"
 msgstr "Fehler beim Setzen der Software-Parameter:"
 
-#: aplay/aplay.c:1235
+#: aplay/aplay.c:1369
 #, c-format
 msgid "snd_pcm_mmap_begin problem: %s"
 msgstr "Fehler bei snd_pcm_mmap_begin: %s"
 
-#: aplay/aplay.c:1260
+#: aplay/aplay.c:1398
 #, c-format
 msgid "stdin O_NONBLOCK flag setup failed\n"
 msgstr "Fehler beim Setzen von O_NONBLOCK in stdin\n"
 
-#: aplay/aplay.c:1284
+#: aplay/aplay.c:1422
 #, c-format
 msgid "\rPAUSE command ignored (no hw support)\n"
 msgstr "\rPause-Kommando ignoriert (keine HW-Unterstützung)\n"
 
-#: aplay/aplay.c:1289
+#: aplay/aplay.c:1427
 #, c-format
 msgid "pause push error: %s"
 msgstr "Fehler beim Pausieren: %s"
 
-#: aplay/aplay.c:1298
+#: aplay/aplay.c:1436
 #, c-format
 msgid "pause release error: %s"
 msgstr "Fehler beim Beenden der Pause: %s"
 
-#: aplay/aplay.c:1314
+#: aplay/aplay.c:1452
 #, c-format
 msgid ""
 "\r=== PAUSE ===                                                            "
 msgstr ""
 "\r=== PAUSE ===                                                            "
 
-#: aplay/aplay.c:1356
+#: aplay/aplay.c:1494
 #, c-format
 msgid "status error: %s"
 msgstr "Status-Fehler: %s"
 
-#: aplay/aplay.c:1361
+#: aplay/aplay.c:1499
 #, fuzzy, c-format
 msgid "fatal %s: %s"
 msgstr "%s: %s\n"
 
-#: aplay/aplay.c:1362 aplay/aplay.c:1373 aplay/aplay.c:1376 aplay/aplay.c:1384
+#: aplay/aplay.c:1500 aplay/aplay.c:1511 aplay/aplay.c:1514 aplay/aplay.c:1522
 msgid "underrun"
 msgstr "Unterlauf"
 
-#: aplay/aplay.c:1362 aplay/aplay.c:1373 aplay/aplay.c:1384
+#: aplay/aplay.c:1500 aplay/aplay.c:1511 aplay/aplay.c:1522
 msgid "overrun"
 msgstr "Überlauf"
 
-#: aplay/aplay.c:1372 aplay/aplay.c:1383
+#: aplay/aplay.c:1510 aplay/aplay.c:1521
 #, c-format
 msgid "%s!!! (at least %.3f ms long)\n"
 msgstr "%s!!! (mindestens %.3f ms)\n"
 
-#: aplay/aplay.c:1388
+#: aplay/aplay.c:1526
 #, c-format
 msgid "Status:\n"
 msgstr "Status:\n"
 
-#: aplay/aplay.c:1392
+#: aplay/aplay.c:1530
 #, c-format
 msgid "xrun: prepare error: %s"
 msgstr "Unter-/Überlauf: Fehler beim Re-Initialisieren des Gerätes: %s"
 
-#: aplay/aplay.c:1398
+#: aplay/aplay.c:1536
 #, c-format
 msgid "Status(DRAINING):\n"
 msgstr "Status (DRAINING):\n"
 
-#: aplay/aplay.c:1402
+#: aplay/aplay.c:1540
 #, c-format
 msgid "capture stream format change? attempting recover...\n"
 msgstr "Format-Wechsel der Aufnahme-Daten? Versuche Wiederherstellung ...\n"
 
-#: aplay/aplay.c:1404
+#: aplay/aplay.c:1542
 #, c-format
 msgid "xrun(DRAINING): prepare error: %s"
 msgstr "XRUN (DRAINING): Fehler beim Re-Initialisieren des Gerätes: %s"
 
-#: aplay/aplay.c:1411
+#: aplay/aplay.c:1549
 #, c-format
 msgid "Status(R/W):\n"
 msgstr "Status (R/W):\n"
 
-#: aplay/aplay.c:1414
+#: aplay/aplay.c:1552
 #, c-format
 msgid "read/write error, state = %s"
 msgstr "Lese-/Schreibfehler, Status = %s"
 
-#: aplay/aplay.c:1424
+#: aplay/aplay.c:1562
 #, c-format
 msgid "Suspended. Trying resume. "
 msgstr "Ruhezustand. Versuche, aufzuwecken. "
 
-#: aplay/aplay.c:1429
+#: aplay/aplay.c:1567
 #, c-format
 msgid "Failed. Restarting stream. "
 msgstr "Fehlgeschlagen. Re-Initialisierung. "
 
-#: aplay/aplay.c:1431
+#: aplay/aplay.c:1569
 #, c-format
 msgid "suspend: prepare error: %s"
 msgstr "Ruhezustand: Fehler beim Re-Initialisieren: %s"
 
-#: aplay/aplay.c:1436
+#: aplay/aplay.c:1574
 #, c-format
 msgid "Done.\n"
 msgstr "Fertig.\n"
 
-#: aplay/aplay.c:1458
+#: aplay/aplay.c:1596
 #, c-format
 msgid " !clip  "
 msgstr " !clip  "
 
-#: aplay/aplay.c:1605
+#: aplay/aplay.c:1743
 #, c-format
 msgid "Unsupported bit size %d.\n"
 msgstr "%d-Bit-Samples werden nicht unterstützt.\n"
 
-#: aplay/aplay.c:1639
+#: aplay/aplay.c:1777
 #, c-format
 msgid "Max peak (%li samples): 0x%08x "
 msgstr "Höchstwert (%li Samples): 0x%08x "
 
-#: aplay/aplay.c:1673
+#: aplay/aplay.c:1811
 #, c-format
 msgid ""
 "Suspicious buffer position (%li total): avail = %li, delay = %li, buffer = "
@@ -847,108 +858,108 @@ msgstr ""
 "verdächtige Puffer-Position (total %li): avail = %li, delay = %li, buffer = "
 "%li\n"
 
-#: aplay/aplay.c:1737
+#: aplay/aplay.c:1939
 #, c-format
 msgid "write error: %s"
 msgstr "Schreibfehler: %s"
 
-#: aplay/aplay.c:1784
+#: aplay/aplay.c:1987
 #, c-format
 msgid "writev error: %s"
 msgstr "Vektor-Schreib-Fehler: %s"
 
-#: aplay/aplay.c:1828
+#: aplay/aplay.c:2031
 #, c-format
 msgid "read error: %s"
 msgstr "Lesefehler: %s"
 
-#: aplay/aplay.c:1872
+#: aplay/aplay.c:2075
 #, c-format
 msgid "readv error: %s"
 msgstr "Vektor-Lese-Fehler: %s"
 
-#: aplay/aplay.c:1920
+#: aplay/aplay.c:2123
 msgid "can't allocate buffer for silence"
 msgstr "nicht genug Speicher für Stille-Block"
 
-#: aplay/aplay.c:1929 aplay/aplay.c:2155 aplay/aplay.c:2160 aplay/aplay.c:2207
-#: aplay/aplay.c:2216 aplay/aplay.c:2223 aplay/aplay.c:2233 aplay/aplay.c:2239
-#: aplay/aplay.c:2311 aplay/aplay.c:2341 aplay/aplay.c:2355
+#: aplay/aplay.c:2132 aplay/aplay.c:2360 aplay/aplay.c:2365 aplay/aplay.c:2412
+#: aplay/aplay.c:2421 aplay/aplay.c:2428 aplay/aplay.c:2438 aplay/aplay.c:2444
+#: aplay/aplay.c:2516 aplay/aplay.c:2546 aplay/aplay.c:2560
 msgid "write error"
 msgstr "Schreibfehler"
 
-#: aplay/aplay.c:1942
+#: aplay/aplay.c:2145
 #, c-format
 msgid "voc_pcm_flush - silence error"
 msgstr "voc_pcm_flush - Fehler in set_silence"
 
-#: aplay/aplay.c:1945
+#: aplay/aplay.c:2148
 msgid "voc_pcm_flush error"
 msgstr "Schreibfehler"
 
-#: aplay/aplay.c:1971
+#: aplay/aplay.c:2173
 msgid "malloc error"
 msgstr "nicht genug Speicher"
 
-#: aplay/aplay.c:1975
+#: aplay/aplay.c:2177
 #, c-format
 msgid "Playing Creative Labs Channel file '%s'...\n"
 msgstr "Spiele Creative Labs Channel-Datei '%s'...\n"
 
-#: aplay/aplay.c:2043 aplay/aplay.c:2135
+#: aplay/aplay.c:2245 aplay/aplay.c:2340
 msgid "can't play packed .voc files"
 msgstr "kann komprimierte .voc-Dateien nicht abspielen"
 
-#: aplay/aplay.c:2095
+#: aplay/aplay.c:2300
 #, c-format
 msgid "can't play loops; %s isn't seekable\n"
 msgstr ""
 "kann Schleife nicht abspielen; Dateiposition in %s ist nicht änderbar\n"
 
-#: aplay/aplay.c:2144
+#: aplay/aplay.c:2349
 #, c-format
 msgid "unknown blocktype %d. terminate."
 msgstr "Unbekannter Block-Typ %d. Abbruch."
 
-#: aplay/aplay.c:2275
+#: aplay/aplay.c:2480
 #, c-format
 msgid "Wave doesn't support %s format..."
 msgstr "Format %s wird in WAVE nicht unterstützt ..."
 
-#: aplay/aplay.c:2335
+#: aplay/aplay.c:2540
 #, c-format
 msgid "Sparc Audio doesn't support %s format..."
 msgstr "Format %s wird in Sparc-Audio nicht unterstützt ..."
 
-#: aplay/aplay.c:2416
+#: aplay/aplay.c:2621
 msgid "Playing"
 msgstr "Wiedergabe:"
 
-#: aplay/aplay.c:2416
+#: aplay/aplay.c:2621
 msgid "Recording"
 msgstr "Aufnahme:"
 
-#: aplay/aplay.c:2420
+#: aplay/aplay.c:2625
 #, c-format
 msgid "Rate %d Hz, "
 msgstr "Rate: %d Hz, "
 
-#: aplay/aplay.c:2422
+#: aplay/aplay.c:2627
 #, c-format
 msgid "Mono"
 msgstr "mono"
 
-#: aplay/aplay.c:2424
+#: aplay/aplay.c:2629
 #, c-format
 msgid "Stereo"
 msgstr "stereo"
 
-#: aplay/aplay.c:2426
+#: aplay/aplay.c:2631
 #, c-format
 msgid "Channels %i"
 msgstr "%i Kanäle"
 
-#: aplay/aplay.c:2937 aplay/aplay.c:2990
+#: aplay/aplay.c:3145 aplay/aplay.c:3198
 #, c-format
 msgid "You need to specify %d files"
 msgstr "Es werden %d Dateien benötigt."
@@ -1059,47 +1070,47 @@ msgstr "User"
 msgid "kernel"
 msgstr "Kernel"
 
-#: seq/aconnect/aconnect.c:307
+#: seq/aconnect/aconnect.c:308
 #, c-format
 msgid "can't open sequencer\n"
 msgstr "Fehler beim Öffnen des Sequenzers\n"
 
-#: seq/aconnect/aconnect.c:335
+#: seq/aconnect/aconnect.c:336
 #, c-format
 msgid "can't get client id\n"
 msgstr "Fehler beim Lesen der Client-ID\n"
 
-#: seq/aconnect/aconnect.c:342
+#: seq/aconnect/aconnect.c:343
 #, c-format
 msgid "can't set client info\n"
 msgstr "Fehler beim Setzen des Client-Namens\n"
 
-#: seq/aconnect/aconnect.c:349
+#: seq/aconnect/aconnect.c:350
 #, c-format
 msgid "invalid sender address %s\n"
 msgstr "ungültige Sender-Adresse %s\n"
 
-#: seq/aconnect/aconnect.c:354 seq/aseqnet/aseqnet.c:290
+#: seq/aconnect/aconnect.c:355 seq/aseqnet/aseqnet.c:290
 #, c-format
 msgid "invalid destination address %s\n"
 msgstr "ungültige Ziel-Adresse %s\n"
 
-#: seq/aconnect/aconnect.c:368
+#: seq/aconnect/aconnect.c:369
 #, c-format
 msgid "No subscription is found\n"
 msgstr "keine Verbindung gefunden\n"
 
-#: seq/aconnect/aconnect.c:373
+#: seq/aconnect/aconnect.c:374
 #, c-format
 msgid "Disconnection failed (%s)\n"
 msgstr "Verbindungs-Trennung fehlgeschlagen (%s)\n"
 
-#: seq/aconnect/aconnect.c:379
+#: seq/aconnect/aconnect.c:380
 #, c-format
 msgid "Connection is already subscribed\n"
 msgstr "Verbindung ist bereits vorhanden\n"
 
-#: seq/aconnect/aconnect.c:384
+#: seq/aconnect/aconnect.c:385
 #, c-format
 msgid "Connection failed (%s)\n"
 msgstr "Verbindung fehlgeschlagen (%s)\n"
@@ -1135,8 +1146,8 @@ msgid "options:\n"
 msgstr "Optionen:\n"
 
 #: seq/aseqnet/aseqnet.c:170
-#, c-format
-msgid "  -p,--port # : sepcify TCP port (digit or service name)\n"
+#, fuzzy, c-format
+msgid "  -p,--port # : specify TCP port (digit or service name)\n"
 msgstr "  -p,--port # : TCP-Port (Zahl oder Service-Name)\n"
 
 #: seq/aseqnet/aseqnet.c:171
@@ -1229,263 +1240,268 @@ msgstr "Channel %2d: Note Off event: %5d\n"
 msgid "disconnected\n"
 msgstr "Verbindung getrennt\n"
 
-#: speaker-test/speaker-test.c:104
+#: speaker-test/speaker-test.c:120
 msgid "Front Left"
 msgstr "Vorne links"
 
-#: speaker-test/speaker-test.c:105
+#: speaker-test/speaker-test.c:121
 msgid "Front Right"
 msgstr "Vorne rechts"
 
-#: speaker-test/speaker-test.c:106
+#: speaker-test/speaker-test.c:122
 msgid "Rear Left"
 msgstr "Hinten links"
 
-#: speaker-test/speaker-test.c:107
+#: speaker-test/speaker-test.c:123
 msgid "Rear Right"
 msgstr "Hinten rechts"
 
-#: speaker-test/speaker-test.c:109
+#: speaker-test/speaker-test.c:125
 msgid "LFE"
 msgstr "Bass"
 
-#: speaker-test/speaker-test.c:110
+#: speaker-test/speaker-test.c:126
 msgid "Side Left"
 msgstr "Seitlich links"
 
-#: speaker-test/speaker-test.c:111
+#: speaker-test/speaker-test.c:127
 msgid "Side Right"
 msgstr "Seitlich rechts"
 
-#: speaker-test/speaker-test.c:112
+#: speaker-test/speaker-test.c:128
 msgid "Channel 9"
 msgstr "Kanal 9"
 
-#: speaker-test/speaker-test.c:113
+#: speaker-test/speaker-test.c:129
 msgid "Channel 10"
 msgstr "Kanal 10"
 
-#: speaker-test/speaker-test.c:114
+#: speaker-test/speaker-test.c:130
 msgid "Channel 11"
 msgstr "Kanal 11"
 
-#: speaker-test/speaker-test.c:115
+#: speaker-test/speaker-test.c:131
 msgid "Channel 12"
 msgstr "Kanal 12"
 
-#: speaker-test/speaker-test.c:116
+#: speaker-test/speaker-test.c:132
 msgid "Channel 13"
 msgstr "Kanal 13"
 
-#: speaker-test/speaker-test.c:117
+#: speaker-test/speaker-test.c:133
 msgid "Channel 14"
 msgstr "Kanal 14"
 
-#: speaker-test/speaker-test.c:118
+#: speaker-test/speaker-test.c:134
 msgid "Channel 15"
 msgstr "Kanal 15"
 
-#: speaker-test/speaker-test.c:119
+#: speaker-test/speaker-test.c:135
 msgid "Channel 16"
 msgstr "Kanal 16"
 
-#: speaker-test/speaker-test.c:383
+#: speaker-test/speaker-test.c:518
 #, c-format
 msgid "Broken configuration for playback: no configurations available: %s\n"
 msgstr "Ungültige Konfiguration: keine unterstützte Konfiguration: %s\n"
 
-#: speaker-test/speaker-test.c:390
+#: speaker-test/speaker-test.c:525
 #, c-format
 msgid "Access type not available for playback: %s\n"
 msgstr "Zugriffsmodus nicht unterstützt: %s\n"
 
-#: speaker-test/speaker-test.c:397
+#: speaker-test/speaker-test.c:532
 #, c-format
 msgid "Sample format not available for playback: %s\n"
 msgstr "Sample-Format nicht unterstützt: %s\n"
 
-#: speaker-test/speaker-test.c:404
+#: speaker-test/speaker-test.c:539
 #, c-format
 msgid "Channels count (%i) not available for playbacks: %s\n"
 msgstr "Kanal-Anzahl %i nicht unterstützt: %s\n"
 
-#: speaker-test/speaker-test.c:412
+#: speaker-test/speaker-test.c:547
 #, c-format
 msgid "Rate %iHz not available for playback: %s\n"
 msgstr "Rate %i Hz nicht unterstützt: %s\n"
 
-#: speaker-test/speaker-test.c:417
+#: speaker-test/speaker-test.c:552
 #, c-format
 msgid "Rate doesn't match (requested %iHz, get %iHz, err %d)\n"
 msgstr ""
 "Rate ist nicht exakt (angefordert: %i Hz, unterstützt: %i Hz, Fehlercode "
 "%d)\n"
 
-#: speaker-test/speaker-test.c:421
+#: speaker-test/speaker-test.c:556
 #, c-format
 msgid "Rate set to %iHz (requested %iHz)\n"
 msgstr "Rate ist %i Hz (angefordert: %i Hz)\n"
 
-#: speaker-test/speaker-test.c:427
+#: speaker-test/speaker-test.c:562
 #, c-format
 msgid "Buffer size range from %lu to %lu\n"
 msgstr "Puffergröße von %lu bis %lu\n"
 
-#: speaker-test/speaker-test.c:428
+#: speaker-test/speaker-test.c:563
 #, c-format
 msgid "Period size range from %lu to %lu\n"
 msgstr "Periodengröße von %lu bis %lu\n"
 
-#: speaker-test/speaker-test.c:430
+#: speaker-test/speaker-test.c:565
 #, c-format
 msgid "Requested period time %u us\n"
 msgstr "Angeforderte Periodenzeit %u µs\n"
 
-#: speaker-test/speaker-test.c:433
+#: speaker-test/speaker-test.c:568
 #, c-format
 msgid "Unable to set period time %u us for playback: %s\n"
 msgstr "Fehler beim Setzen der Periodenzeit %u µs: %s\n"
 
-#: speaker-test/speaker-test.c:439
+#: speaker-test/speaker-test.c:574
 #, c-format
 msgid "Requested buffer time %u us\n"
 msgstr "Angeforderte Pufferlänge %u µs\n"
 
-#: speaker-test/speaker-test.c:442
+#: speaker-test/speaker-test.c:577
 #, c-format
 msgid "Unable to set buffer time %u us for playback: %s\n"
 msgstr "Fehler beim Setzen der Pufferlänge %u µs: %s\n"
 
-#: speaker-test/speaker-test.c:451
+#: speaker-test/speaker-test.c:586
 #, c-format
 msgid "Using max buffer size %lu\n"
 msgstr "Verwende maximale Puffergröße %lu\n"
 
-#: speaker-test/speaker-test.c:454
+#: speaker-test/speaker-test.c:589
 #, c-format
 msgid "Unable to set buffer size %lu for playback: %s\n"
 msgstr "Fehler beim Setzen der Puffergröße %lu: %s\n"
 
-#: speaker-test/speaker-test.c:460
+#: speaker-test/speaker-test.c:595
 #, c-format
 msgid "Periods = %u\n"
 msgstr "Perioden = %u\n"
 
-#: speaker-test/speaker-test.c:463
+#: speaker-test/speaker-test.c:598
 #, c-format
 msgid "Unable to set nperiods %u for playback: %s\n"
 msgstr "Fehler beim Setzen der Periodenanzahl %u: %s\n"
 
-#: speaker-test/speaker-test.c:472
+#: speaker-test/speaker-test.c:607
 #, c-format
 msgid "Unable to set hw params for playback: %s\n"
 msgstr "Fehler beim Setzen der Hardware-Parameter: %s\n"
 
-#: speaker-test/speaker-test.c:478
+#: speaker-test/speaker-test.c:613
 #, c-format
 msgid "was set period_size = %lu\n"
 msgstr "gesetzt: period_size = %lu\n"
 
-#: speaker-test/speaker-test.c:479
+#: speaker-test/speaker-test.c:614
 #, c-format
 msgid "was set buffer_size = %lu\n"
 msgstr "gesetzt: buffer_size = %lu\n"
 
-#: speaker-test/speaker-test.c:481
+#: speaker-test/speaker-test.c:616
 #, c-format
 msgid "buffer to small, could not use\n"
 msgstr "Puffer zu klein, kann nicht benutzt werden\n"
 
-#: speaker-test/speaker-test.c:494
+#: speaker-test/speaker-test.c:629
 #, c-format
 msgid "Unable to determine current swparams for playback: %s\n"
 msgstr "Fehler beim Lesen der Software-Parameter: %s\n"
 
-#: speaker-test/speaker-test.c:501
+#: speaker-test/speaker-test.c:636
 #, c-format
 msgid "Unable to set start threshold mode for playback: %s\n"
 msgstr "Fehler beim Setzen des Start-Schwellenwertes: %s\n"
 
-#: speaker-test/speaker-test.c:508
+#: speaker-test/speaker-test.c:643
 #, c-format
 msgid "Unable to set avail min for playback: %s\n"
 msgstr "Fehler beim Setzen des Mindest-verfügbar-Wertes: %s\n"
 
-#: speaker-test/speaker-test.c:515
+#: speaker-test/speaker-test.c:650
 #, c-format
 msgid "Unable to set sw params for playback: %s\n"
 msgstr "Fehler beim Setzen der Software-Parameter: %s\n"
 
-#: speaker-test/speaker-test.c:530
+#: speaker-test/speaker-test.c:670
+#, fuzzy, c-format
+msgid "Unable to set channel map: %s\n"
+msgstr "Fehler beim Setzen des Mindest-verfügbar-Wertes: %s\n"
+
+#: speaker-test/speaker-test.c:695
 #, c-format
 msgid "Can't recovery from underrun, prepare failed: %s\n"
 msgstr ""
 "Fehler bei Unterlauf-Behandlung, Re-Initialisierung fehlgeschlagen: %s\n"
 
-#: speaker-test/speaker-test.c:541
+#: speaker-test/speaker-test.c:706
 #, c-format
 msgid "Can't recovery from suspend, prepare failed: %s\n"
 msgstr ""
 "Fehler beim Aufwachen aus dem Ruhezustand, Re-Initialisierung "
 "fehlgeschlagen: %s\n"
 
-#: speaker-test/speaker-test.c:605 speaker-test/speaker-test.c:1025
+#: speaker-test/speaker-test.c:770 speaker-test/speaker-test.c:1261
 #, c-format
 msgid "No enough memory\n"
 msgstr "Nicht genug Speicher\n"
 
-#: speaker-test/speaker-test.c:610
+#: speaker-test/speaker-test.c:775
 #, c-format
 msgid "Cannot open WAV file %s\n"
 msgstr "Kann WAV-Datei %s nicht öffnen\n"
 
-#: speaker-test/speaker-test.c:614 speaker-test/speaker-test.c:643
+#: speaker-test/speaker-test.c:779 speaker-test/speaker-test.c:808
 #, c-format
 msgid "Invalid WAV file %s\n"
 msgstr "Ungültige WAV-Datei %s\n"
 
-#: speaker-test/speaker-test.c:619
+#: speaker-test/speaker-test.c:784
 #, c-format
 msgid "Not a WAV file: %s\n"
 msgstr "Keine WAV-Datei: %s\n"
 
-#: speaker-test/speaker-test.c:623
+#: speaker-test/speaker-test.c:788
 #, c-format
 msgid "Unsupported WAV format %d for %s\n"
 msgstr "Nicht unterstütztes WAV-Format %d in %s\n"
 
-#: speaker-test/speaker-test.c:628
+#: speaker-test/speaker-test.c:793
 #, c-format
 msgid "%s is not a mono stream (%d channels)\n"
 msgstr "%s ist keine Mono-Datei (%d Kanäle)\n"
 
-#: speaker-test/speaker-test.c:633
+#: speaker-test/speaker-test.c:798
 #, c-format
 msgid "Sample rate doesn't match (%d) for %s\n"
 msgstr "Sample-Rate (%d) stimmt nicht überein in %s\n"
 
-#: speaker-test/speaker-test.c:638
+#: speaker-test/speaker-test.c:803
 #, c-format
 msgid "Unsupported sample format bits %d for %s\n"
 msgstr "Nicht unterstütztes Sample-Format mit %d Bits in %s\n"
 
-#: speaker-test/speaker-test.c:688
+#: speaker-test/speaker-test.c:864
 #, c-format
 msgid "Undefined channel %d\n"
 msgstr "Kanal %d nicht definiert\n"
 
-#: speaker-test/speaker-test.c:739
+#: speaker-test/speaker-test.c:915
 #, c-format
 msgid "Write error: %d,%s\n"
 msgstr "Schreibfehler: %d, %s\n"
 
-#: speaker-test/speaker-test.c:741
+#: speaker-test/speaker-test.c:917
 #, c-format
 msgid "xrun_recovery failed: %d,%s\n"
 msgstr "xrun_recovery fehlgeschlagen: %d, %s\n"
 
-#: speaker-test/speaker-test.c:803
-#, c-format
+#: speaker-test/speaker-test.c:1003
+#, fuzzy, c-format
 msgid ""
 "Usage: speaker-test [OPTION]... \n"
 "-h,--help\thelp\n"
@@ -1502,6 +1518,8 @@ msgid ""
 "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n"
 "-w,--wavfile\tUse the given WAV file as a test sound\n"
 "-W,--wavdir\tSpecify the directory containing WAV files\n"
+"-m,--chmap\tSpecify the channel map to override\n"
+"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n"
 "\n"
 msgstr ""
 "Verwendung: speaker-test [Option]...\n"
@@ -1519,74 +1537,85 @@ msgstr ""
 "-s,--speaker    teste einen einzelnen Lautsprecher; 1=links, 2=rechts, usw.\n"
 "-w,--wavfile    benutze WAV-Datei als Testton\n"
 "-W,--wavdir     benutze Verzeichnis mit darin enthaltenen WAV-Dateien\n"
+"-X,--force-frequency\termöglichen Frequenzen außerhalb der 30-8000Hz "
+"Bereich\n"
 "\n"
 
-#: speaker-test/speaker-test.c:921
+#: speaker-test/speaker-test.c:1132
 #, c-format
 msgid "Invalid number of periods %d\n"
 msgstr "Ungültige Periodenanzahl %d\n"
 
-#: speaker-test/speaker-test.c:937 speaker-test/speaker-test.c:941
+#: speaker-test/speaker-test.c:1148 speaker-test/speaker-test.c:1152
 #, c-format
 msgid "Invalid test type %s\n"
 msgstr "Ungültiger Test-Typ %s\n"
 
-#: speaker-test/speaker-test.c:953
+#: speaker-test/speaker-test.c:1164
 #, c-format
 msgid "Invalid parameter for -s option.\n"
 msgstr "Ungültiger Wert für Option -s\n"
 
-#: speaker-test/speaker-test.c:967
+#: speaker-test/speaker-test.c:1186
 #, c-format
 msgid "Unknown option '%c'\n"
 msgstr "Unbekannte Options '%c'\n"
 
-#: speaker-test/speaker-test.c:981
+#: speaker-test/speaker-test.c:1207
 #, c-format
 msgid "Playback device is %s\n"
 msgstr "Wiedergabe-Gerät ist %s\n"
 
-#: speaker-test/speaker-test.c:982
+#: speaker-test/speaker-test.c:1208
 #, c-format
 msgid "Stream parameters are %iHz, %s, %i channels\n"
 msgstr "Stream-Parameter sind %i Hz, %s, %i Kanäle\n"
 
-#: speaker-test/speaker-test.c:985
+#: speaker-test/speaker-test.c:1211
 #, c-format
 msgid "Using 16 octaves of pink noise\n"
 msgstr "Verwende 16 Oktaven rosa Rauschen\n"
 
-#: speaker-test/speaker-test.c:988
+#: speaker-test/speaker-test.c:1214
 #, c-format
 msgid "Sine wave rate is %.4fHz\n"
 msgstr "Sinuswelle mit Frequenz %.4f Hz\n"
 
-#: speaker-test/speaker-test.c:991
+#: speaker-test/speaker-test.c:1217
 #, c-format
 msgid "WAV file(s)\n"
 msgstr "WAV-Datei(en)\n"
 
-#: speaker-test/speaker-test.c:997
+#: speaker-test/speaker-test.c:1227
 #, c-format
 msgid "Playback open error: %d,%s\n"
 msgstr "Fehler beim Öffnen des Gerätes: %d, %s\n"
 
-#: speaker-test/speaker-test.c:1002
+#: speaker-test/speaker-test.c:1233
 #, c-format
 msgid "Setting of hwparams failed: %s\n"
 msgstr "Fehler beim Setzen der Hardware-Parameter: %s\n"
 
-#: speaker-test/speaker-test.c:1007
+#: speaker-test/speaker-test.c:1237
 #, c-format
 msgid "Setting of swparams failed: %s\n"
 msgstr "Fehler beim Setzen der Software-Parameter: %s\n"
 
-#: speaker-test/speaker-test.c:1056 speaker-test/speaker-test.c:1078
+#: speaker-test/speaker-test.c:1284 speaker-test/speaker-test.c:1306
 #, c-format
 msgid "Transfer failed: %s\n"
 msgstr "Schreibfehler: %s\n"
 
-#: speaker-test/speaker-test.c:1066
+#: speaker-test/speaker-test.c:1292
 #, c-format
 msgid "Time per period = %lf\n"
 msgstr "Zeit pro Periode = %lf\n"
+
+#~ msgid "Warning: format is changed to S16_LE\n"
+#~ msgstr "Warnung: benutztes Format ist S16_LE\n"
+
+#~ msgid "Warning: format is changed to S24_3LE\n"
+#~ msgstr "Warnung: benutztes Format ist S24_3LE\n"
+
+#~ msgid "Warning: format is changed to S24_LE\n"
+#~ msgstr "Warnung: benutztes Format ist S24_LE\n"
index 6f2a3c5..d979a16 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index e0859da..052d94f 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: alsa-utils 1.0.23\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-09-06 10:45+0200\n"
+"POT-Creation-Date: 2014-06-13 19:24+0200\n"
 "PO-Revision-Date: 2011-01-07 06:23+0100\n"
 "Last-Translator: Christoph J. Thompson <cjsthompson@gmail.com>\n"
 "Language-Team: French <fr@li.org>\n"
@@ -211,7 +211,7 @@ msgstr "Avant"
 msgid "Rear"
 msgstr "Arrière"
 
-#: alsamixer/mixer_display.c:598 speaker-test/speaker-test.c:108
+#: alsamixer/mixer_display.c:598 speaker-test/speaker-test.c:124
 msgid "Center"
 msgstr "Centre"
 
@@ -223,131 +223,131 @@ msgstr "Basses"
 msgid "Side"
 msgstr "Côté"
 
-#: alsamixer/mixer_widget.c:95 alsamixer/mixer_widget.c:100
+#: alsamixer/mixer_widget.c:91 alsamixer/mixer_widget.c:96
 msgid "cannot open mixer"
 msgstr "le mixeur ne peut pas être ouvert"
 
-#: alsamixer/mixer_widget.c:106 alsamixer/mixer_widget.c:183
+#: alsamixer/mixer_widget.c:102 alsamixer/mixer_widget.c:179
 msgid "cannot load mixer controls"
 msgstr "les commandes de mixage ne peuvent pas être chargés"
 
-#: alsamixer/mixer_widget.c:173
+#: alsamixer/mixer_widget.c:169
 #, c-format
 msgid "Cannot open mixer device '%s'."
 msgstr "Le périphérique de mixage '%s' ne peut pas être ouvert."
 
-#: alsamixer/mixer_widget.c:194
+#: alsamixer/mixer_widget.c:190
 msgid "Esc     Exit"
 msgstr "Esc     Quitter"
 
-#: alsamixer/mixer_widget.c:195
+#: alsamixer/mixer_widget.c:191
 msgid "F1 ? H  Help"
 msgstr "F1 ? H  Aide"
 
-#: alsamixer/mixer_widget.c:196
+#: alsamixer/mixer_widget.c:192
 msgid "F2 /    System information"
 msgstr "F2 /    Informations système"
 
-#: alsamixer/mixer_widget.c:197
+#: alsamixer/mixer_widget.c:193
 msgid "F3      Show playback controls"
 msgstr "F3      Afficher les commandes de lecture"
 
-#: alsamixer/mixer_widget.c:198
+#: alsamixer/mixer_widget.c:194
 msgid "F4      Show capture controls"
 msgstr "F4      Afficher les commandes de capture"
 
-#: alsamixer/mixer_widget.c:199
+#: alsamixer/mixer_widget.c:195
 msgid "F5      Show all controls"
 msgstr "F5      Afficher toutes les commandes"
 
-#: alsamixer/mixer_widget.c:200
+#: alsamixer/mixer_widget.c:196
 msgid "Tab     Toggle view mode (F3/F4/F5)"
 msgstr "Tab     Choisir le mode de visualisation (F3/F4/F5)"
 
-#: alsamixer/mixer_widget.c:201
+#: alsamixer/mixer_widget.c:197
 msgid "F6 S    Select sound card"
 msgstr "F6 S    Choisir la carte son"
 
-#: alsamixer/mixer_widget.c:202
+#: alsamixer/mixer_widget.c:198
 msgid "L       Redraw screen"
 msgstr "L       Actualiser l'écran"
 
-#: alsamixer/mixer_widget.c:204
+#: alsamixer/mixer_widget.c:200
 msgid "Left    Move to the previous control"
 msgstr "Gauche  Aller à la commande précédente"
 
-#: alsamixer/mixer_widget.c:205
+#: alsamixer/mixer_widget.c:201
 msgid "Right   Move to the next control"
 msgstr "Droite  Aller à la commande suivante"
 
-#: alsamixer/mixer_widget.c:207
+#: alsamixer/mixer_widget.c:203
 msgid "Up/Down    Change volume"
 msgstr "Haut/Bas   Ajuster le volume"
 
-#: alsamixer/mixer_widget.c:208
+#: alsamixer/mixer_widget.c:204
 msgid "+ -        Change volume"
 msgstr "+ -        Ajuster le volume"
 
-#: alsamixer/mixer_widget.c:209
+#: alsamixer/mixer_widget.c:205
 msgid "Page Up/Dn Change volume in big steps"
 msgstr "Page Préc./Suiv. Ajuster le volume en grandes intervalles"
 
-#: alsamixer/mixer_widget.c:210
+#: alsamixer/mixer_widget.c:206
 msgid "End        Set volume to 0%"
 msgstr "Fin        Couper le volume"
 
-#: alsamixer/mixer_widget.c:211
+#: alsamixer/mixer_widget.c:207
 msgid "0-9        Set volume to 0%-90%"
 msgstr "0-9        Ajuster le volume entre 0 et 90%"
 
-#: alsamixer/mixer_widget.c:212
+#: alsamixer/mixer_widget.c:208
 msgid "Q W E      Increase left/both/right volumes"
 msgstr "Q W E      Augmenter les volumes de gauche/centre/droite"
 
 #. TRANSLATORS: or Y instead of Z
-#: alsamixer/mixer_widget.c:214
+#: alsamixer/mixer_widget.c:210
 msgid "Z X C      Decrease left/both/right volumes"
 msgstr "Z X C      Baisser les volumes de gauche/centre/droite"
 
-#: alsamixer/mixer_widget.c:215
+#: alsamixer/mixer_widget.c:211
 msgid "B          Balance left and right volumes"
 msgstr "B          Égaliser les volumes de gauche et droite"
 
-#: alsamixer/mixer_widget.c:217
+#: alsamixer/mixer_widget.c:213
 msgid "M          Toggle mute"
 msgstr "M          (Dés)activer le mode muet"
 
 #. TRANSLATORS: or , .
-#: alsamixer/mixer_widget.c:219
+#: alsamixer/mixer_widget.c:215
 msgid "< >        Toggle left/right mute"
 msgstr "< >        (Dés)activer le mode muet à gauche et à droite"
 
-#: alsamixer/mixer_widget.c:221
+#: alsamixer/mixer_widget.c:217
 msgid "Space      Toggle capture"
 msgstr "Espace     (Dés)activer la capture"
 
 #. TRANSLATORS: or Insert Delete
-#: alsamixer/mixer_widget.c:223
+#: alsamixer/mixer_widget.c:219
 msgid "; '        Toggle left/right capture"
 msgstr ";          (Dés)activer la capture à gauche et à droite"
 
-#: alsamixer/mixer_widget.c:225
+#: alsamixer/mixer_widget.c:221
 msgid "Authors:"
 msgstr "Auteurs:"
 
-#: alsamixer/mixer_widget.c:226
+#: alsamixer/mixer_widget.c:222
 msgid "  Tim Janik"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:227
+#: alsamixer/mixer_widget.c:223
 msgid "  Jaroslav Kysela <perex@perex.cz>"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:228
+#: alsamixer/mixer_widget.c:224
 msgid "  Clemens Ladisch <clemens@ladisch.de>"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:230
+#: alsamixer/mixer_widget.c:226
 msgid "Help"
 msgstr "Aide"
 
@@ -364,23 +364,23 @@ msgstr "Erreur"
 msgid "Cannot open file \"%s\"."
 msgstr "Le fichier \"%s\" n'a pas pu être ouvert."
 
-#: aplay/aplay.c:165
+#: aplay/aplay.c:175
 msgid "raw data"
 msgstr "données brutes"
 
-#: aplay/aplay.c:166
+#: aplay/aplay.c:176
 msgid "VOC"
 msgstr ""
 
-#: aplay/aplay.c:168
+#: aplay/aplay.c:178
 msgid "WAVE"
 msgstr ""
 
-#: aplay/aplay.c:169
+#: aplay/aplay.c:179
 msgid "Sparc Audio"
 msgstr ""
 
-#: aplay/aplay.c:190
+#: aplay/aplay.c:200
 #, fuzzy, c-format
 msgid ""
 "Usage: %s [OPTION]... [FILE]...\n"
@@ -411,6 +411,7 @@ msgid ""
 "-V, --vumeter=TYPE      enable VU meter (TYPE: mono or stereo)\n"
 "-I, --separate-channels one file for each channel\n"
 "-i, --interactive       allow interactive operation from stdin\n"
+"-m, --chmap=ch1,ch2,..  Give the channel map to override or follow\n"
 "    --disable-resample  disable automatic rate resample\n"
 "    --disable-channels  disable automatic channel conversions\n"
 "    --disable-format    disable automatic format conversions\n"
@@ -477,12 +478,12 @@ msgstr ""
 "    --process-id-file   écrire l'identifiant du processus ici\n"
 "    --use-strftime      utiliser strftime pour le nom du fichier de capture\n"
 
-#: aplay/aplay.c:232 speaker-test/speaker-test.c:819
+#: aplay/aplay.c:244 speaker-test/speaker-test.c:1021
 #, c-format
 msgid "Recognized sample formats are:"
 msgstr "Les formats d'échantillonage connus sont:"
 
-#: aplay/aplay.c:238
+#: aplay/aplay.c:250
 #, c-format
 msgid ""
 "\n"
@@ -491,119 +492,125 @@ msgstr ""
 "\n"
 "Certains de ceux-ci ne sont peut être pas disponibles avec ce matériel\n"
 
-#: aplay/aplay.c:239
-#, c-format
-msgid "The availabled format shortcuts are:\n"
+#: aplay/aplay.c:251
+#, fuzzy, c-format
+msgid "The available format shortcuts are:\n"
 msgstr "Les raccourcis format disponibles sont:\n"
 
-#: aplay/aplay.c:240
+#: aplay/aplay.c:252
 #, c-format
 msgid "-f cd (16 bit little endian, 44100, stereo)\n"
 msgstr "-f cd (16 bit petit boutiste, 44100, stéréo)\n"
 
-#: aplay/aplay.c:241
+#: aplay/aplay.c:253
 #, c-format
 msgid "-f cdr (16 bit big endian, 44100, stereo)\n"
 msgstr "-f cdr (16 bit gros boutiste, 44100, stéréo)\n"
 
-#: aplay/aplay.c:242
+#: aplay/aplay.c:254
 #, c-format
 msgid "-f dat (16 bit little endian, 48000, stereo)\n"
 msgstr "-f dat (16 bit petit boutiste, 48000, stéréo)\n"
 
-#: aplay/aplay.c:256
+#: aplay/aplay.c:268
 msgid "no soundcards found..."
 msgstr "aucune carte son n'a été trouvée..."
 
-#: aplay/aplay.c:259
+#: aplay/aplay.c:271
 #, c-format
 msgid "**** List of %s Hardware Devices ****\n"
 msgstr "**** Liste des Périphériques Matériels %s ****\n"
 
-#: aplay/aplay.c:288
+#: aplay/aplay.c:300
 #, c-format
 msgid "card %i: %s [%s], device %i: %s [%s]\n"
 msgstr "carte %i: %s [%s], périphérique %i: %s [%s]\n"
 
-#: aplay/aplay.c:294
+#: aplay/aplay.c:306
 #, c-format
 msgid "  Subdevices: %i/%i\n"
 msgstr "  Sous-périphériques: %i/%i\n"
 
-#: aplay/aplay.c:301
+#: aplay/aplay.c:313
 #, c-format
 msgid "  Subdevice #%i: %s\n"
 msgstr "  Sous-périphérique #%i: %s\n"
 
-#: aplay/aplay.c:384
+#: aplay/aplay.c:394
 #, c-format
 msgid "Aborted by signal %s...\n"
 msgstr "Interrompu par le signal %s...\n"
 
-#: aplay/aplay.c:500
+#: aplay/aplay.c:512
 msgid "command should be named either arecord or aplay"
 msgstr "la commande doit être nommée arecord ou aplay"
 
-#: aplay/aplay.c:539
+#: aplay/aplay.c:556
 #, c-format
 msgid "unrecognized file format %s"
 msgstr "format de fichier inconnu %s"
 
-#: aplay/aplay.c:546
+#: aplay/aplay.c:563
 #, c-format
 msgid "value %i for channels is invalid"
 msgstr "la valeur %i pour les canaux est incorrecte"
 
-#: aplay/aplay.c:565
+#: aplay/aplay.c:582
 #, c-format
 msgid "wrong extended format '%s'"
 msgstr "format étendu '%s' erronné"
 
-#: aplay/aplay.c:576
+#: aplay/aplay.c:593
 #, c-format
 msgid "bad speed value %i"
 msgstr "mauvaise valeur de vitesse %i"
 
-#: aplay/aplay.c:680
+#: aplay/aplay.c:700 speaker-test/speaker-test.c:665
+#, c-format
+msgid "Unable to parse channel map string: %s\n"
+msgstr ""
+
+#: aplay/aplay.c:706
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Essayez `%s --help' pour plus d'informations.\n"
 
-#: aplay/aplay.c:696
+#: aplay/aplay.c:722
 #, c-format
 msgid "audio open error: %s"
 msgstr "erreur à l'ouverture audio: %s"
 
-#: aplay/aplay.c:701
+#: aplay/aplay.c:727
 #, c-format
 msgid "info error: %s"
 msgstr "erreur info: %s"
 
-#: aplay/aplay.c:708
+#: aplay/aplay.c:734
 #, c-format
 msgid "nonblock setting error: %s"
 msgstr "paramètre de non-blocage erronné: %s"
 
-#: aplay/aplay.c:718 aplay/aplay.c:842 aplay/aplay.c:1217
+#: aplay/aplay.c:744 aplay/aplay.c:868 aplay/aplay.c:1158 aplay/aplay.c:1351
+#: aplay/aplay.c:1867 aplay/aplay.c:1897
 msgid "not enough memory"
 msgstr "pas assez de mémoire"
 
-#: aplay/aplay.c:742
+#: aplay/aplay.c:768
 #, c-format
 msgid "Cannot create process ID file %s: %s"
 msgstr "Le fichier de numéro de processus %s n'a pas pu être créé: %s"
 
-#: aplay/aplay.c:832
+#: aplay/aplay.c:858
 #, c-format
 msgid "read error (called from line %i)"
 msgstr "erreur de lecture (appelé à la ligne %i)"
 
-#: aplay/aplay.c:890
+#: aplay/aplay.c:925
 #, c-format
 msgid "unknown length of 'fmt ' chunk (read %u, should be %u at least)"
 msgstr "longueur du morceau 'fmt ' inconnue (lu %u, devrait être au moins %u)"
 
-#: aplay/aplay.c:900
+#: aplay/aplay.c:936
 #, c-format
 msgid ""
 "unknown length of extensible 'fmt ' chunk (read %u, should be %u at least)"
@@ -611,43 +618,33 @@ msgstr ""
 "longueur du morceau 'fmt ' extensible inconnue (lu %u, devrait être au moins "
 "%u)"
 
-#: aplay/aplay.c:905
+#: aplay/aplay.c:941
 msgid "wrong format tag in extensible 'fmt ' chunk"
 msgstr "libellé de format erronné dans le morceau extensible 'fmt '"
 
-#: aplay/aplay.c:912
+#: aplay/aplay.c:948
 #, c-format
 msgid "can't play WAVE-file format 0x%04x which is not PCM or FLOAT encoded"
 msgstr ""
 "Les formats de ficher WAVE 0x%04x qui ne sont pas encodés en PCM ouFLOAT ne "
 "sont pas supportés"
 
-#: aplay/aplay.c:916
+#: aplay/aplay.c:953
 #, c-format
 msgid "can't play WAVE-files with %d tracks"
 msgstr "Les fichiers WAVE avec %d pistes ne sont pas supportés"
 
-#: aplay/aplay.c:924 aplay/aplay.c:1024
+#: aplay/aplay.c:961 aplay/aplay.c:1087
 #, c-format
 msgid "Warning: format is changed to U8\n"
 msgstr "Avertissement: le format est changé en U8\n"
 
-#: aplay/aplay.c:930
-#, c-format
-msgid "Warning: format is changed to S16_LE\n"
-msgstr "Avertissement: le format est changé en S16_LE\n"
-
-#: aplay/aplay.c:938
-#, c-format
-msgid "Warning: format is changed to S24_3LE\n"
-msgstr "Avertissement: le format est changé en S24_3LE\n"
-
-#: aplay/aplay.c:944
-#, c-format
-msgid "Warning: format is changed to S24_LE\n"
-msgstr "Avertissement: le format est changé en S24_LE\n"
+#: aplay/aplay.c:971 aplay/aplay.c:984 aplay/aplay.c:995
+#, fuzzy, c-format
+msgid "Warning: format is changed to %s\n"
+msgstr "Avertissement: le format est changé en U8\n"
 
-#: aplay/aplay.c:948
+#: aplay/aplay.c:1000
 #, c-format
 msgid ""
 " can't play WAVE-files with sample %d bits in %d bytes wide (%d channels)"
@@ -655,200 +652,214 @@ msgstr ""
 " les fichiers WAVE échantillonés %d bits par %d octets en largeur (%d canaux)"
 "ne sont pas supportés"
 
-#: aplay/aplay.c:960
+#: aplay/aplay.c:1023
 #, c-format
 msgid " can't play WAVE-files with sample %d bits wide"
 msgstr ""
 " les fichiers WAVES échantillonés %d bits en largeur ne sont passupportés"
 
-#: aplay/aplay.c:1018
+#: aplay/aplay.c:1081
 #, c-format
 msgid "Warning: format is changed to MU_LAW\n"
 msgstr "Avertissement: le format est changé en MU_LAW\n"
 
-#: aplay/aplay.c:1030
+#: aplay/aplay.c:1093
 #, c-format
 msgid "Warning: format is changed to S16_BE\n"
 msgstr "Avertissement: le format est changé en S16_BE\n"
 
-#: aplay/aplay.c:1043 aplay/aplay.c:1980 aplay/aplay.c:1987 aplay/aplay.c:2510
-#: aplay/aplay.c:2522
+#: aplay/aplay.c:1106 aplay/aplay.c:2182 aplay/aplay.c:2189 aplay/aplay.c:2715
+#: aplay/aplay.c:2727
 msgid "read error"
 msgstr "erreur de lecture"
 
-#: aplay/aplay.c:1073
+#: aplay/aplay.c:1136
+msgid "Channel numbers don't match between hw_params and channel map"
+msgstr ""
+
+#: aplay/aplay.c:1145
+#, c-format
+msgid "Warning: unable to get channel map\n"
+msgstr ""
+
+#: aplay/aplay.c:1178
+#, c-format
+msgid "Channel %d doesn't match with hw_parmas"
+msgstr ""
+
+#: aplay/aplay.c:1204
 msgid "Broken configuration for this PCM: no configurations available"
 msgstr "Configuration erronée pour ce périphérique PCM: pas de configuration"
 
-#: aplay/aplay.c:1077
+#: aplay/aplay.c:1208
 #, c-format
 msgid "HW Params of device \"%s\":\n"
 msgstr ""
 
-#: aplay/aplay.c:1097
+#: aplay/aplay.c:1228
 msgid "Access type not available"
 msgstr "Ce type d'accès n'est pas disponible"
 
-#: aplay/aplay.c:1102
+#: aplay/aplay.c:1233
 msgid "Sample format non available"
 msgstr "Ce format d'échantillonage n'est pas disponible"
 
-#: aplay/aplay.c:1108
+#: aplay/aplay.c:1239
 msgid "Channels count non available"
 msgstr "Nombre de canaux non disponible"
 
-#: aplay/aplay.c:1123
+#: aplay/aplay.c:1254
 #, c-format
 msgid "Warning: rate is not accurate (requested = %iHz, got = %iHz)\n"
 msgstr ""
 "Avertissement: la fréquence n'est pas précise (demandé = %iHz,\n"
 "obtenu = %iHz)\n"
 
-#: aplay/aplay.c:1129
+#: aplay/aplay.c:1260
 #, c-format
 msgid "         please, try the plug plugin %s\n"
 msgstr "         veuillez essayez le greffon de branchement %s\n"
 
-#: aplay/aplay.c:1166
+#: aplay/aplay.c:1297
 msgid "Unable to install hw params:"
 msgstr "Les paramètres matériel n'ont pas pu être installés:"
 
-#: aplay/aplay.c:1173
+#: aplay/aplay.c:1304
 #, c-format
 msgid "Can't use period equal to buffer size (%lu == %lu)"
 msgstr ""
 "Une période égale à la taille du tampon (%lu == %lu) ne peut êtreutilisée"
 
-#: aplay/aplay.c:1204
+#: aplay/aplay.c:1335
 msgid "unable to install sw params:"
 msgstr "Les paramètres logiciel n'ont pas pu être installés:"
 
-#: aplay/aplay.c:1235
+#: aplay/aplay.c:1369
 #, c-format
 msgid "snd_pcm_mmap_begin problem: %s"
 msgstr ""
 
-#: aplay/aplay.c:1260
+#: aplay/aplay.c:1398
 #, c-format
 msgid "stdin O_NONBLOCK flag setup failed\n"
 msgstr ""
 
-#: aplay/aplay.c:1284
+#: aplay/aplay.c:1422
 #, c-format
 msgid "\rPAUSE command ignored (no hw support)\n"
 msgstr ""
 
-#: aplay/aplay.c:1289
+#: aplay/aplay.c:1427
 #, fuzzy, c-format
 msgid "pause push error: %s"
 msgstr "erreur d'état: %s"
 
-#: aplay/aplay.c:1298
+#: aplay/aplay.c:1436
 #, fuzzy, c-format
 msgid "pause release error: %s"
 msgstr "suspension: prepare error: %s"
 
-#: aplay/aplay.c:1314
+#: aplay/aplay.c:1452
 #, c-format
 msgid ""
 "\r=== PAUSE ===                                                            "
 msgstr ""
 
-#: aplay/aplay.c:1356
+#: aplay/aplay.c:1494
 #, c-format
 msgid "status error: %s"
 msgstr "erreur d'état: %s"
 
-#: aplay/aplay.c:1361
+#: aplay/aplay.c:1499
 #, fuzzy, c-format
 msgid "fatal %s: %s"
 msgstr "%s: %s\n"
 
-#: aplay/aplay.c:1362 aplay/aplay.c:1373 aplay/aplay.c:1376 aplay/aplay.c:1384
+#: aplay/aplay.c:1500 aplay/aplay.c:1511 aplay/aplay.c:1514 aplay/aplay.c:1522
 msgid "underrun"
 msgstr "perte"
 
-#: aplay/aplay.c:1362 aplay/aplay.c:1373 aplay/aplay.c:1384
+#: aplay/aplay.c:1500 aplay/aplay.c:1511 aplay/aplay.c:1522
 msgid "overrun"
 msgstr "dépassement"
 
-#: aplay/aplay.c:1372 aplay/aplay.c:1383
+#: aplay/aplay.c:1510 aplay/aplay.c:1521
 #, c-format
 msgid "%s!!! (at least %.3f ms long)\n"
 msgstr "%s!!! (au moins longue de %.3f ms)\n"
 
-#: aplay/aplay.c:1388
+#: aplay/aplay.c:1526
 #, c-format
 msgid "Status:\n"
 msgstr "État:\n"
 
-#: aplay/aplay.c:1392
+#: aplay/aplay.c:1530
 #, c-format
 msgid "xrun: prepare error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1398
+#: aplay/aplay.c:1536
 #, c-format
 msgid "Status(DRAINING):\n"
 msgstr ""
 
-#: aplay/aplay.c:1402
+#: aplay/aplay.c:1540
 #, c-format
 msgid "capture stream format change? attempting recover...\n"
 msgstr ""
 "changement de format de flux de capture? tentative de récupération...\n"
 
-#: aplay/aplay.c:1404
+#: aplay/aplay.c:1542
 #, c-format
 msgid "xrun(DRAINING): prepare error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1411
+#: aplay/aplay.c:1549
 #, c-format
 msgid "Status(R/W):\n"
 msgstr ""
 
-#: aplay/aplay.c:1414
+#: aplay/aplay.c:1552
 #, c-format
 msgid "read/write error, state = %s"
 msgstr "erreur de lecture/écriture, état = %s"
 
-#: aplay/aplay.c:1424
+#: aplay/aplay.c:1562
 #, c-format
 msgid "Suspended. Trying resume. "
 msgstr "Suspendu. Tentative de reprise. "
 
-#: aplay/aplay.c:1429
+#: aplay/aplay.c:1567
 #, c-format
 msgid "Failed. Restarting stream. "
 msgstr "Échec. Redémarrage du flux."
 
-#: aplay/aplay.c:1431
+#: aplay/aplay.c:1569
 #, c-format
 msgid "suspend: prepare error: %s"
 msgstr "suspension: prepare error: %s"
 
-#: aplay/aplay.c:1436
+#: aplay/aplay.c:1574
 #, c-format
 msgid "Done.\n"
 msgstr "Terminé.\n"
 
-#: aplay/aplay.c:1458
+#: aplay/aplay.c:1596
 #, c-format
 msgid " !clip  "
 msgstr ""
 
-#: aplay/aplay.c:1605
+#: aplay/aplay.c:1743
 #, c-format
 msgid "Unsupported bit size %d.\n"
 msgstr "%d bit(s) non supporté(s).\n"
 
-#: aplay/aplay.c:1639
+#: aplay/aplay.c:1777
 #, c-format
 msgid "Max peak (%li samples): 0x%08x "
 msgstr "Pic max. (%li échantillons): 0x%08x "
 
-#: aplay/aplay.c:1673
+#: aplay/aplay.c:1811
 #, c-format
 msgid ""
 "Suspicious buffer position (%li total): avail = %li, delay = %li, buffer = "
@@ -857,107 +868,107 @@ msgstr ""
 "Position de tampon suspicieuse (total %li): dispo = %li, délai = %li, tampon "
 "= %li\n"
 
-#: aplay/aplay.c:1737
+#: aplay/aplay.c:1939
 #, c-format
 msgid "write error: %s"
 msgstr "erreur en écriture: %s"
 
-#: aplay/aplay.c:1784
+#: aplay/aplay.c:1987
 #, c-format
 msgid "writev error: %s"
 msgstr "erreur de writev: %s"
 
-#: aplay/aplay.c:1828
+#: aplay/aplay.c:2031
 #, c-format
 msgid "read error: %s"
 msgstr "erreur en lecture: %s"
 
-#: aplay/aplay.c:1872
+#: aplay/aplay.c:2075
 #, c-format
 msgid "readv error: %s"
 msgstr "erreur de readv: %s"
 
-#: aplay/aplay.c:1920
+#: aplay/aplay.c:2123
 msgid "can't allocate buffer for silence"
 msgstr "Un tampon pour silence n'a pas pu être alloué"
 
-#: aplay/aplay.c:1929 aplay/aplay.c:2155 aplay/aplay.c:2160 aplay/aplay.c:2207
-#: aplay/aplay.c:2216 aplay/aplay.c:2223 aplay/aplay.c:2233 aplay/aplay.c:2239
-#: aplay/aplay.c:2311 aplay/aplay.c:2341 aplay/aplay.c:2355
+#: aplay/aplay.c:2132 aplay/aplay.c:2360 aplay/aplay.c:2365 aplay/aplay.c:2412
+#: aplay/aplay.c:2421 aplay/aplay.c:2428 aplay/aplay.c:2438 aplay/aplay.c:2444
+#: aplay/aplay.c:2516 aplay/aplay.c:2546 aplay/aplay.c:2560
 msgid "write error"
 msgstr "erreur en écriture"
 
-#: aplay/aplay.c:1942
+#: aplay/aplay.c:2145
 #, c-format
 msgid "voc_pcm_flush - silence error"
 msgstr "voc_pcm_flush - erreur de silence"
 
-#: aplay/aplay.c:1945
+#: aplay/aplay.c:2148
 msgid "voc_pcm_flush error"
 msgstr "erreur voc_pcm_flush"
 
-#: aplay/aplay.c:1971
+#: aplay/aplay.c:2173
 msgid "malloc error"
 msgstr "erreur malloc"
 
-#: aplay/aplay.c:1975
+#: aplay/aplay.c:2177
 #, c-format
 msgid "Playing Creative Labs Channel file '%s'...\n"
 msgstr "Lecture du ficher de canaux Creative Labs '%s'...\n"
 
-#: aplay/aplay.c:2043 aplay/aplay.c:2135
+#: aplay/aplay.c:2245 aplay/aplay.c:2340
 msgid "can't play packed .voc files"
 msgstr "les fichiers .voc de type 'packed' ne sont pas supportés"
 
-#: aplay/aplay.c:2095
+#: aplay/aplay.c:2300
 #, c-format
 msgid "can't play loops; %s isn't seekable\n"
 msgstr "%s n'est pas navigable; les motifs n'ont pas pu être lus\n"
 
-#: aplay/aplay.c:2144
+#: aplay/aplay.c:2349
 #, c-format
 msgid "unknown blocktype %d. terminate."
 msgstr "type de bloc %d inconnu. fin."
 
-#: aplay/aplay.c:2275
+#: aplay/aplay.c:2480
 #, c-format
 msgid "Wave doesn't support %s format..."
 msgstr "Le format wave %s n'est pas supporté..."
 
-#: aplay/aplay.c:2335
+#: aplay/aplay.c:2540
 #, c-format
 msgid "Sparc Audio doesn't support %s format..."
 msgstr "Le format %s Sparc Audio n'est pas supporté..."
 
-#: aplay/aplay.c:2416
+#: aplay/aplay.c:2621
 msgid "Playing"
 msgstr "Lecture"
 
-#: aplay/aplay.c:2416
+#: aplay/aplay.c:2621
 msgid "Recording"
 msgstr "Capture"
 
-#: aplay/aplay.c:2420
+#: aplay/aplay.c:2625
 #, c-format
 msgid "Rate %d Hz, "
 msgstr "Fréquence %d Hz, "
 
-#: aplay/aplay.c:2422
+#: aplay/aplay.c:2627
 #, c-format
 msgid "Mono"
 msgstr ""
 
-#: aplay/aplay.c:2424
+#: aplay/aplay.c:2629
 #, c-format
 msgid "Stereo"
 msgstr "Stéréo"
 
-#: aplay/aplay.c:2426
+#: aplay/aplay.c:2631
 #, c-format
 msgid "Channels %i"
 msgstr "%i Canaux"
 
-#: aplay/aplay.c:2937 aplay/aplay.c:2990
+#: aplay/aplay.c:3145 aplay/aplay.c:3198
 #, c-format
 msgid "You need to specify %d files"
 msgstr "Vous devez spécifier %d fichiers"
@@ -1070,47 +1081,47 @@ msgstr "utilisateur"
 msgid "kernel"
 msgstr "noyau"
 
-#: seq/aconnect/aconnect.c:307
+#: seq/aconnect/aconnect.c:308
 #, c-format
 msgid "can't open sequencer\n"
 msgstr "le séquenceur n'a pas pu être ouvert\n"
 
-#: seq/aconnect/aconnect.c:335
+#: seq/aconnect/aconnect.c:336
 #, c-format
 msgid "can't get client id\n"
 msgstr "l'identifiant du client n'as pas pu être obtenu\n"
 
-#: seq/aconnect/aconnect.c:342
+#: seq/aconnect/aconnect.c:343
 #, c-format
 msgid "can't set client info\n"
 msgstr "les infos du client n'ont pas pu être définies\n"
 
-#: seq/aconnect/aconnect.c:349
+#: seq/aconnect/aconnect.c:350
 #, c-format
 msgid "invalid sender address %s\n"
 msgstr "l'addresse envoyeur %s est incorrecte\n"
 
-#: seq/aconnect/aconnect.c:354 seq/aseqnet/aseqnet.c:290
+#: seq/aconnect/aconnect.c:355 seq/aseqnet/aseqnet.c:290
 #, c-format
 msgid "invalid destination address %s\n"
 msgstr "l'addresse destinataire %s est incorrecte\n"
 
-#: seq/aconnect/aconnect.c:368
+#: seq/aconnect/aconnect.c:369
 #, c-format
 msgid "No subscription is found\n"
 msgstr "Aucune souscription trouvée\n"
 
-#: seq/aconnect/aconnect.c:373
+#: seq/aconnect/aconnect.c:374
 #, c-format
 msgid "Disconnection failed (%s)\n"
 msgstr "La déconnexion a échoué (%s)\n"
 
-#: seq/aconnect/aconnect.c:379
+#: seq/aconnect/aconnect.c:380
 #, c-format
 msgid "Connection is already subscribed\n"
 msgstr "La connexion a déjà été souscrite\n"
 
-#: seq/aconnect/aconnect.c:384
+#: seq/aconnect/aconnect.c:385
 #, c-format
 msgid "Connection failed (%s)\n"
 msgstr "Échec de connexion (%s)\n"
@@ -1146,8 +1157,8 @@ msgid "options:\n"
 msgstr "options:\n"
 
 #: seq/aseqnet/aseqnet.c:170
-#, c-format
-msgid "  -p,--port # : sepcify TCP port (digit or service name)\n"
+#, fuzzy, c-format
+msgid "  -p,--port # : specify TCP port (digit or service name)\n"
 msgstr "  -p,--port # : spécifier le port TCP (numéro ou nom de service)\n"
 
 #: seq/aseqnet/aseqnet.c:171
@@ -1240,263 +1251,269 @@ msgstr "Canal %2d: évènement Note Off   : %5d\n"
 msgid "disconnected\n"
 msgstr "déconnecté\n"
 
-#: speaker-test/speaker-test.c:104
+#: speaker-test/speaker-test.c:120
 msgid "Front Left"
 msgstr "Avant Gauche"
 
-#: speaker-test/speaker-test.c:105
+#: speaker-test/speaker-test.c:121
 msgid "Front Right"
 msgstr "Avant Droit"
 
-#: speaker-test/speaker-test.c:106
+#: speaker-test/speaker-test.c:122
 msgid "Rear Left"
 msgstr "Arrière Gauche"
 
-#: speaker-test/speaker-test.c:107
+#: speaker-test/speaker-test.c:123
 msgid "Rear Right"
 msgstr "Arrière Droit"
 
-#: speaker-test/speaker-test.c:109
+#: speaker-test/speaker-test.c:125
 msgid "LFE"
 msgstr ""
 
-#: speaker-test/speaker-test.c:110
+#: speaker-test/speaker-test.c:126
 msgid "Side Left"
 msgstr "Côté Gauche"
 
-#: speaker-test/speaker-test.c:111
+#: speaker-test/speaker-test.c:127
 msgid "Side Right"
 msgstr "Côté Droit"
 
-#: speaker-test/speaker-test.c:112
+#: speaker-test/speaker-test.c:128
 msgid "Channel 9"
 msgstr "Canal 9"
 
-#: speaker-test/speaker-test.c:113
+#: speaker-test/speaker-test.c:129
 msgid "Channel 10"
 msgstr "Canal 10"
 
-#: speaker-test/speaker-test.c:114
+#: speaker-test/speaker-test.c:130
 msgid "Channel 11"
 msgstr "Canal 11"
 
-#: speaker-test/speaker-test.c:115
+#: speaker-test/speaker-test.c:131
 msgid "Channel 12"
 msgstr "Canal 12"
 
-#: speaker-test/speaker-test.c:116
+#: speaker-test/speaker-test.c:132
 msgid "Channel 13"
 msgstr "Canal 13"
 
-#: speaker-test/speaker-test.c:117
+#: speaker-test/speaker-test.c:133
 msgid "Channel 14"
 msgstr "Canal 14"
 
-#: speaker-test/speaker-test.c:118
+#: speaker-test/speaker-test.c:134
 msgid "Channel 15"
 msgstr "Canal 15"
 
-#: speaker-test/speaker-test.c:119
+#: speaker-test/speaker-test.c:135
 msgid "Channel 16"
 msgstr "Canal 16"
 
-#: speaker-test/speaker-test.c:383
+#: speaker-test/speaker-test.c:518
 #, c-format
 msgid "Broken configuration for playback: no configurations available: %s\n"
 msgstr "Configuration erronée pour la lecture: pas de configuration: %s\n"
 
-#: speaker-test/speaker-test.c:390
+#: speaker-test/speaker-test.c:525
 #, c-format
 msgid "Access type not available for playback: %s\n"
 msgstr "Le type d'accès est indisponible à la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:397
+#: speaker-test/speaker-test.c:532
 #, c-format
 msgid "Sample format not available for playback: %s\n"
 msgstr "Le format d'échantillonage est indisponible à la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:404
+#: speaker-test/speaker-test.c:539
 #, c-format
 msgid "Channels count (%i) not available for playbacks: %s\n"
 msgstr "Le nombre (%i) de canaux est indisponible à la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:412
+#: speaker-test/speaker-test.c:547
 #, c-format
 msgid "Rate %iHz not available for playback: %s\n"
 msgstr "La fréquence %iHz est indisponible à la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:417
+#: speaker-test/speaker-test.c:552
 #, c-format
 msgid "Rate doesn't match (requested %iHz, get %iHz, err %d)\n"
 msgstr ""
 "La fréquence ne correspond pas (demandée: %iHz, obtenue %iHz, err %d)\n"
 
-#: speaker-test/speaker-test.c:421
+#: speaker-test/speaker-test.c:556
 #, c-format
 msgid "Rate set to %iHz (requested %iHz)\n"
 msgstr "La fréquence est %iHz (demandée %iHz)\n"
 
-#: speaker-test/speaker-test.c:427
+#: speaker-test/speaker-test.c:562
 #, c-format
 msgid "Buffer size range from %lu to %lu\n"
 msgstr "L'intervalle de la taille du tampon est de %lu à %lu\n"
 
-#: speaker-test/speaker-test.c:428
+#: speaker-test/speaker-test.c:563
 #, c-format
 msgid "Period size range from %lu to %lu\n"
 msgstr "L'intervalle de la taille de la période est de %lu à %lu\n"
 
-#: speaker-test/speaker-test.c:430
+#: speaker-test/speaker-test.c:565
 #, c-format
 msgid "Requested period time %u us\n"
 msgstr "Temps de période demandé %u µs\n"
 
-#: speaker-test/speaker-test.c:433
+#: speaker-test/speaker-test.c:568
 #, c-format
 msgid "Unable to set period time %u us for playback: %s\n"
 msgstr "Le temps de période %u µs n'a pas pu être défini pour la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:439
+#: speaker-test/speaker-test.c:574
 #, c-format
 msgid "Requested buffer time %u us\n"
 msgstr "Temps tampon demandé %u µs\n"
 
-#: speaker-test/speaker-test.c:442
+#: speaker-test/speaker-test.c:577
 #, c-format
 msgid "Unable to set buffer time %u us for playback: %s\n"
 msgstr "Le temps tampon de %u µs n'a pas pu être définie pour la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:451
+#: speaker-test/speaker-test.c:586
 #, c-format
 msgid "Using max buffer size %lu\n"
 msgstr "Taille max. de tampon %lu utilisée\n"
 
-#: speaker-test/speaker-test.c:454
+#: speaker-test/speaker-test.c:589
 #, c-format
 msgid "Unable to set buffer size %lu for playback: %s\n"
 msgstr "La taile de tampon %lu n'a pas pu être définie pour la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:460
+#: speaker-test/speaker-test.c:595
 #, c-format
 msgid "Periods = %u\n"
 msgstr "Périodes = %u\n"
 
-#: speaker-test/speaker-test.c:463
+#: speaker-test/speaker-test.c:598
 #, c-format
 msgid "Unable to set nperiods %u for playback: %s\n"
 msgstr "nperiods %u n'a pas pu être défini pour la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:472
+#: speaker-test/speaker-test.c:607
 #, c-format
 msgid "Unable to set hw params for playback: %s\n"
 msgstr ""
 "Les paramètres matériel n'ont pas pu être définis pour la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:478
+#: speaker-test/speaker-test.c:613
 #, c-format
 msgid "was set period_size = %lu\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:479
+#: speaker-test/speaker-test.c:614
 #, c-format
 msgid "was set buffer_size = %lu\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:481
+#: speaker-test/speaker-test.c:616
 #, c-format
 msgid "buffer to small, could not use\n"
 msgstr "tampon trop petit, il n'a pas pu être utilisé\n"
 
-#: speaker-test/speaker-test.c:494
+#: speaker-test/speaker-test.c:629
 #, c-format
 msgid "Unable to determine current swparams for playback: %s\n"
 msgstr ""
 "Les paramètres logiciels actuels n'ont pas pu être déterminés pour la "
 "lecture: %s\n"
 
-#: speaker-test/speaker-test.c:501
+#: speaker-test/speaker-test.c:636
 #, c-format
 msgid "Unable to set start threshold mode for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:508
+#: speaker-test/speaker-test.c:643
 #, c-format
 msgid "Unable to set avail min for playback: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:515
+#: speaker-test/speaker-test.c:650
 #, c-format
 msgid "Unable to set sw params for playback: %s\n"
 msgstr ""
 "Les paramètres logiciel n'ont pas pu être définis pour la lecture: %s\n"
 
-#: speaker-test/speaker-test.c:530
+#: speaker-test/speaker-test.c:670
+#, fuzzy, c-format
+msgid "Unable to set channel map: %s\n"
+msgstr ""
+"Les paramètres matériel n'ont pas pu être définis pour la lecture: %s\n"
+
+#: speaker-test/speaker-test.c:695
 #, c-format
 msgid "Can't recovery from underrun, prepare failed: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:541
+#: speaker-test/speaker-test.c:706
 #, c-format
 msgid "Can't recovery from suspend, prepare failed: %s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:605 speaker-test/speaker-test.c:1025
+#: speaker-test/speaker-test.c:770 speaker-test/speaker-test.c:1261
 #, c-format
 msgid "No enough memory\n"
 msgstr "Pas assez de mémoire\n"
 
-#: speaker-test/speaker-test.c:610
+#: speaker-test/speaker-test.c:775
 #, c-format
 msgid "Cannot open WAV file %s\n"
 msgstr "Le fichier WAV %s n'a pas pu être ouvert\n"
 
-#: speaker-test/speaker-test.c:614 speaker-test/speaker-test.c:643
+#: speaker-test/speaker-test.c:779 speaker-test/speaker-test.c:808
 #, c-format
 msgid "Invalid WAV file %s\n"
 msgstr "Fichier WAV incorrect %s\n"
 
-#: speaker-test/speaker-test.c:619
+#: speaker-test/speaker-test.c:784
 #, c-format
 msgid "Not a WAV file: %s\n"
 msgstr "Le fichier %s n'est pas au format WAV\n"
 
-#: speaker-test/speaker-test.c:623
+#: speaker-test/speaker-test.c:788
 #, c-format
 msgid "Unsupported WAV format %d for %s\n"
 msgstr "Format WAV %d non supporté pour %s\n"
 
-#: speaker-test/speaker-test.c:628
+#: speaker-test/speaker-test.c:793
 #, c-format
 msgid "%s is not a mono stream (%d channels)\n"
 msgstr "%s n'est pas un flux en mono (%d canaux)\n"
 
-#: speaker-test/speaker-test.c:633
+#: speaker-test/speaker-test.c:798
 #, c-format
 msgid "Sample rate doesn't match (%d) for %s\n"
 msgstr "La fréquence d'échantillonage (%d) ne correspond pas à %s\n"
 
-#: speaker-test/speaker-test.c:638
+#: speaker-test/speaker-test.c:803
 #, c-format
 msgid "Unsupported sample format bits %d for %s\n"
 msgstr "Le format d'échantillonage %d bits n'est pas supporté pour %s\n"
 
-#: speaker-test/speaker-test.c:688
+#: speaker-test/speaker-test.c:864
 #, c-format
 msgid "Undefined channel %d\n"
 msgstr "Canal non-défini %d\n"
 
-#: speaker-test/speaker-test.c:739
+#: speaker-test/speaker-test.c:915
 #, c-format
 msgid "Write error: %d,%s\n"
 msgstr "Erreur en écriture: %d,%s\n"
 
-#: speaker-test/speaker-test.c:741
+#: speaker-test/speaker-test.c:917
 #, c-format
 msgid "xrun_recovery failed: %d,%s\n"
 msgstr ""
 
-#: speaker-test/speaker-test.c:803
-#, c-format
+#: speaker-test/speaker-test.c:1003
+#, fuzzy, c-format
 msgid ""
 "Usage: speaker-test [OPTION]... \n"
 "-h,--help\thelp\n"
@@ -1513,6 +1530,8 @@ msgid ""
 "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n"
 "-w,--wavfile\tUse the given WAV file as a test sound\n"
 "-W,--wavdir\tSpecify the directory containing WAV files\n"
+"-m,--chmap\tSpecify the channel map to override\n"
+"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n"
 "\n"
 msgstr ""
 "Utilisation: speaker-test [OPTION]...\n"
@@ -1531,74 +1550,84 @@ msgstr ""
 "\t\tValeurs 1=Gauche, 2=Droite, et c.\n"
 "-w,--wavfile\tUtiliser le fichier WAV spécifié pour le test\n"
 "-w,--wavdir\tSpécifier le répertoire contenant les fichiers WAV\n"
+"-X,--force-frequency\tpermettre fréquences en dehors de la gamme 30-8000Hz\n"
 "\n"
 
-#: speaker-test/speaker-test.c:921
+#: speaker-test/speaker-test.c:1132
 #, c-format
 msgid "Invalid number of periods %d\n"
 msgstr "Nombre de périodes %d incorrect\n"
 
-#: speaker-test/speaker-test.c:937 speaker-test/speaker-test.c:941
+#: speaker-test/speaker-test.c:1148 speaker-test/speaker-test.c:1152
 #, c-format
 msgid "Invalid test type %s\n"
 msgstr "Type de test %s incorrect\n"
 
-#: speaker-test/speaker-test.c:953
+#: speaker-test/speaker-test.c:1164
 #, c-format
 msgid "Invalid parameter for -s option.\n"
 msgstr "Paramètre incorrect pour l'option -s.\n"
 
-#: speaker-test/speaker-test.c:967
+#: speaker-test/speaker-test.c:1186
 #, c-format
 msgid "Unknown option '%c'\n"
 msgstr "Option '%c' inconnue\n"
 
-#: speaker-test/speaker-test.c:981
+#: speaker-test/speaker-test.c:1207
 #, c-format
 msgid "Playback device is %s\n"
 msgstr "Le périphérique de lecture est %s\n"
 
-#: speaker-test/speaker-test.c:982
+#: speaker-test/speaker-test.c:1208
 #, c-format
 msgid "Stream parameters are %iHz, %s, %i channels\n"
 msgstr "Les paramètres du flux sont %iHz, %s, %i canaux\n"
 
-#: speaker-test/speaker-test.c:985
+#: speaker-test/speaker-test.c:1211
 #, c-format
 msgid "Using 16 octaves of pink noise\n"
 msgstr "Utilisation de 16 octaves de 'pink noise'\n"
 
-#: speaker-test/speaker-test.c:988
+#: speaker-test/speaker-test.c:1214
 #, c-format
 msgid "Sine wave rate is %.4fHz\n"
 msgstr "La fréquence de la courbe sinus est %.4fHz\n"
 
-#: speaker-test/speaker-test.c:991
+#: speaker-test/speaker-test.c:1217
 #, c-format
 msgid "WAV file(s)\n"
 msgstr "fichier(s) WAV\n"
 
-#: speaker-test/speaker-test.c:997
+#: speaker-test/speaker-test.c:1227
 #, c-format
 msgid "Playback open error: %d,%s\n"
 msgstr "Erreur d'ouverture à la lecture: %d,%s\n"
 
-#: speaker-test/speaker-test.c:1002
+#: speaker-test/speaker-test.c:1233
 #, c-format
 msgid "Setting of hwparams failed: %s\n"
 msgstr "Échec de la configuration des paramètres matériel: %s\n"
 
-#: speaker-test/speaker-test.c:1007
+#: speaker-test/speaker-test.c:1237
 #, c-format
 msgid "Setting of swparams failed: %s\n"
 msgstr "Échec de la configuration des paramètres logiciel: %s\n"
 
-#: speaker-test/speaker-test.c:1056 speaker-test/speaker-test.c:1078
+#: speaker-test/speaker-test.c:1284 speaker-test/speaker-test.c:1306
 #, c-format
 msgid "Transfer failed: %s\n"
 msgstr "Échec du transfer: %s\n"
 
-#: speaker-test/speaker-test.c:1066
+#: speaker-test/speaker-test.c:1292
 #, c-format
 msgid "Time per period = %lf\n"
 msgstr "Temps par période = %lf\n"
+
+#~ msgid "Warning: format is changed to S16_LE\n"
+#~ msgstr "Avertissement: le format est changé en S16_LE\n"
+
+#~ msgid "Warning: format is changed to S24_3LE\n"
+#~ msgstr "Avertissement: le format est changé en S24_3LE\n"
+
+#~ msgid "Warning: format is changed to S24_LE\n"
+#~ msgstr "Avertissement: le format est changé en S24_LE\n"
index 9b6ff54..1c2cb81 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index dd51d7f..64122de 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: alsa-utils 1.0.9a\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-09-06 10:45+0200\n"
+"POT-Creation-Date: 2014-06-13 19:24+0200\n"
 "PO-Revision-Date: 2009-05-27 15:08+0200\n"
 "Last-Translator: Takashi Iwai <tiwai@suse.de>\n"
 "Language-Team: Japanese\n"
@@ -213,7 +213,7 @@ msgstr "フロント"
 msgid "Rear"
 msgstr "リア"
 
-#: alsamixer/mixer_display.c:598 speaker-test/speaker-test.c:108
+#: alsamixer/mixer_display.c:598 speaker-test/speaker-test.c:124
 msgid "Center"
 msgstr "センター"
 
@@ -225,132 +225,132 @@ msgstr "低音"
 msgid "Side"
 msgstr "サイド"
 
-#: alsamixer/mixer_widget.c:95 alsamixer/mixer_widget.c:100
+#: alsamixer/mixer_widget.c:91 alsamixer/mixer_widget.c:96
 msgid "cannot open mixer"
 msgstr "ミキサーを開けません"
 
-#: alsamixer/mixer_widget.c:106 alsamixer/mixer_widget.c:183
+#: alsamixer/mixer_widget.c:102 alsamixer/mixer_widget.c:179
 msgid "cannot load mixer controls"
 msgstr "ミキサーをロードできません"
 
-#: alsamixer/mixer_widget.c:173
+#: alsamixer/mixer_widget.c:169
 #, c-format
 msgid "Cannot open mixer device '%s'."
 msgstr "ミキサーデバイス'%s'を開けません"
 
-#: alsamixer/mixer_widget.c:194
+#: alsamixer/mixer_widget.c:190
 msgid "Esc     Exit"
 msgstr "Esc    終了"
 
-#: alsamixer/mixer_widget.c:195
+#: alsamixer/mixer_widget.c:191
 msgid "F1 ? H  Help"
 msgstr "F1 ?   H ヘルプ"
 
-#: alsamixer/mixer_widget.c:196
+#: alsamixer/mixer_widget.c:192
 msgid "F2 /    System information"
 msgstr "F2 /   システム情報"
 
-#: alsamixer/mixer_widget.c:197
+#: alsamixer/mixer_widget.c:193
 msgid "F3      Show playback controls"
 msgstr "F3     再生ミキサー表示"
 
-#: alsamixer/mixer_widget.c:198
+#: alsamixer/mixer_widget.c:194
 msgid "F4      Show capture controls"
 msgstr "F4     録音ミキサー表示"
 
-#: alsamixer/mixer_widget.c:199
+#: alsamixer/mixer_widget.c:195
 msgid "F5      Show all controls"
 msgstr "F5     全て表示"
 
-#: alsamixer/mixer_widget.c:200
+#: alsamixer/mixer_widget.c:196
 msgid "Tab     Toggle view mode (F3/F4/F5)"
 msgstr "Tab    表示モード変更 (F3/F4/F5)"
 
-#: alsamixer/mixer_widget.c:201
+#: alsamixer/mixer_widget.c:197
 msgid "F6 S    Select sound card"
 msgstr "F5 S   サウンドカード選択"
 
-#: alsamixer/mixer_widget.c:202
+#: alsamixer/mixer_widget.c:198
 msgid "L       Redraw screen"
 msgstr "L      画面再描画"
 
-#: alsamixer/mixer_widget.c:204
+#: alsamixer/mixer_widget.c:200
 msgid "Left    Move to the previous control"
 msgstr "←     前の項目に移る"
 
-#: alsamixer/mixer_widget.c:205
+#: alsamixer/mixer_widget.c:201
 msgid "Right   Move to the next control"
 msgstr "→     次の項目に移る"
 
 # ↑
-#: alsamixer/mixer_widget.c:207
+#: alsamixer/mixer_widget.c:203
 msgid "Up/Down    Change volume"
 msgstr "↑/↓     音量変更"
 
-#: alsamixer/mixer_widget.c:208
+#: alsamixer/mixer_widget.c:204
 msgid "+ -        Change volume"
 msgstr "+ -       音量変更"
 
-#: alsamixer/mixer_widget.c:209
+#: alsamixer/mixer_widget.c:205
 msgid "Page Up/Dn Change volume in big steps"
 msgstr "Page Up/dn 音量変更"
 
-#: alsamixer/mixer_widget.c:210
+#: alsamixer/mixer_widget.c:206
 msgid "End        Set volume to 0%"
 msgstr "End       音量 0%"
 
-#: alsamixer/mixer_widget.c:211
+#: alsamixer/mixer_widget.c:207
 msgid "0-9        Set volume to 0%-90%"
 msgstr "0-9       音量 0%-90%"
 
-#: alsamixer/mixer_widget.c:212
+#: alsamixer/mixer_widget.c:208
 msgid "Q W E      Increase left/both/right volumes"
 msgstr "Q W E     左/両/右音量アップ"
 
 #. TRANSLATORS: or Y instead of Z
-#: alsamixer/mixer_widget.c:214
+#: alsamixer/mixer_widget.c:210
 msgid "Z X C      Decrease left/both/right volumes"
 msgstr "Z X C     左/両/右音量ダウン"
 
-#: alsamixer/mixer_widget.c:215
+#: alsamixer/mixer_widget.c:211
 msgid "B          Balance left and right volumes"
 msgstr "B         左右音量を平均化する"
 
-#: alsamixer/mixer_widget.c:217
+#: alsamixer/mixer_widget.c:213
 msgid "M          Toggle mute"
 msgstr "M         ミュートをトグル"
 
 #. TRANSLATORS: or , .
-#: alsamixer/mixer_widget.c:219
+#: alsamixer/mixer_widget.c:215
 msgid "< >        Toggle left/right mute"
 msgstr "< >       左/右ミュートをトグル"
 
-#: alsamixer/mixer_widget.c:221
+#: alsamixer/mixer_widget.c:217
 msgid "Space      Toggle capture"
 msgstr "スペース  録音をトグル"
 
 #. TRANSLATORS: or Insert Delete
-#: alsamixer/mixer_widget.c:223
+#: alsamixer/mixer_widget.c:219
 msgid "; '        Toggle left/right capture"
 msgstr "; '       左/右録音をトグル"
 
-#: alsamixer/mixer_widget.c:225
+#: alsamixer/mixer_widget.c:221
 msgid "Authors:"
 msgstr "作者:"
 
-#: alsamixer/mixer_widget.c:226
+#: alsamixer/mixer_widget.c:222
 msgid "  Tim Janik"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:227
+#: alsamixer/mixer_widget.c:223
 msgid "  Jaroslav Kysela <perex@perex.cz>"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:228
+#: alsamixer/mixer_widget.c:224
 msgid "  Clemens Ladisch <clemens@ladisch.de>"
 msgstr ""
 
-#: alsamixer/mixer_widget.c:230
+#: alsamixer/mixer_widget.c:226
 msgid "Help"
 msgstr "ヘルプ"
 
@@ -367,23 +367,23 @@ msgstr "エラー"
 msgid "Cannot open file \"%s\"."
 msgstr "\"%s\"をオープンできません"
 
-#: aplay/aplay.c:165
+#: aplay/aplay.c:175
 msgid "raw data"
 msgstr "raw データ"
 
-#: aplay/aplay.c:166
+#: aplay/aplay.c:176
 msgid "VOC"
 msgstr "VOC"
 
-#: aplay/aplay.c:168
+#: aplay/aplay.c:178
 msgid "WAVE"
 msgstr "WAVE"
 
-#: aplay/aplay.c:169
+#: aplay/aplay.c:179
 msgid "Sparc Audio"
 msgstr "Sparc オーディオ"
 
-#: aplay/aplay.c:190
+#: aplay/aplay.c:200
 #, fuzzy, c-format
 msgid ""
 "Usage: %s [OPTION]... [FILE]...\n"
@@ -414,6 +414,7 @@ msgid ""
 "-V, --vumeter=TYPE      enable VU meter (TYPE: mono or stereo)\n"
 "-I, --separate-channels one file for each channel\n"
 "-i, --interactive       allow interactive operation from stdin\n"
+"-m, --chmap=ch1,ch2,..  Give the channel map to override or follow\n"
 "    --disable-resample  disable automatic rate resample\n"
 "    --disable-channels  disable automatic channel conversions\n"
 "    --disable-format    disable automatic format conversions\n"
@@ -467,12 +468,12 @@ msgstr ""
 "                        テスト範囲: coef * (buffer_size / 2)\n"
 "    --test-nowait       リングバッファのウエイトを禁止 - 注意:高CPU負荷\n"
 
-#: aplay/aplay.c:232 speaker-test/speaker-test.c:819
+#: aplay/aplay.c:244 speaker-test/speaker-test.c:1021
 #, c-format
 msgid "Recognized sample formats are:"
 msgstr "認識されるサンプルフォーマット:"
 
-#: aplay/aplay.c:238
+#: aplay/aplay.c:250
 #, c-format
 msgid ""
 "\n"
@@ -481,159 +482,155 @@ msgstr ""
 "\n"
 "これらのいくつかは指定のハードウェアで使用不可能な場合があります\n"
 
-#: aplay/aplay.c:239
-#, c-format
-msgid "The availabled format shortcuts are:\n"
+#: aplay/aplay.c:251
+#, fuzzy, c-format
+msgid "The available format shortcuts are:\n"
 msgstr "可能なフォーマットの省略形:\n"
 
-#: aplay/aplay.c:240
+#: aplay/aplay.c:252
 #, c-format
 msgid "-f cd (16 bit little endian, 44100, stereo)\n"
 msgstr "-f cd (16 ビット、リトルエンディアン、44100、ステレオ)\n"
 
-#: aplay/aplay.c:241
+#: aplay/aplay.c:253
 #, c-format
 msgid "-f cdr (16 bit big endian, 44100, stereo)\n"
 msgstr "-f cdr (16 ビット、ビッグエンディアン、44100、ステレオ)\n"
 
-#: aplay/aplay.c:242
+#: aplay/aplay.c:254
 #, c-format
 msgid "-f dat (16 bit little endian, 48000, stereo)\n"
 msgstr "-f dat (16 ビット、リトルエンディアン、48000、ステレオ)\n"
 
-#: aplay/aplay.c:256
+#: aplay/aplay.c:268
 msgid "no soundcards found..."
 msgstr "サウンドカードが見つかりません..."
 
-#: aplay/aplay.c:259
+#: aplay/aplay.c:271
 #, c-format
 msgid "**** List of %s Hardware Devices ****\n"
 msgstr "**** ハードウェアデバイス %s のリスト ****\n"
 
-#: aplay/aplay.c:288
+#: aplay/aplay.c:300
 #, c-format
 msgid "card %i: %s [%s], device %i: %s [%s]\n"
 msgstr "カード %i: %s [%s], デバイス %i: %s [%s]\n"
 
-#: aplay/aplay.c:294
+#: aplay/aplay.c:306
 #, c-format
 msgid "  Subdevices: %i/%i\n"
 msgstr "  サブデバイス: %i/%i\n"
 
-#: aplay/aplay.c:301
+#: aplay/aplay.c:313
 #, c-format
 msgid "  Subdevice #%i: %s\n"
 msgstr "  サブデバイス #%i: %s\n"
 
-#: aplay/aplay.c:384
+#: aplay/aplay.c:394
 #, c-format
 msgid "Aborted by signal %s...\n"
 msgstr "シグナル %s で中断...\n"
 
-#: aplay/aplay.c:500
+#: aplay/aplay.c:512
 msgid "command should be named either arecord or aplay"
 msgstr "arecord または aplay コマンドのみ可能"
 
-#: aplay/aplay.c:539
+#: aplay/aplay.c:556
 #, c-format
 msgid "unrecognized file format %s"
 msgstr "不正なファイルフォーマット %s"
 
-#: aplay/aplay.c:546
+#: aplay/aplay.c:563
 #, c-format
 msgid "value %i for channels is invalid"
 msgstr "不正なチャネル数 %i"
 
-#: aplay/aplay.c:565
+#: aplay/aplay.c:582
 #, c-format
 msgid "wrong extended format '%s'"
 msgstr "不正な拡張フォーマット '%s'"
 
-#: aplay/aplay.c:576
+#: aplay/aplay.c:593
 #, c-format
 msgid "bad speed value %i"
 msgstr "不正なレート値 %i"
 
-#: aplay/aplay.c:680
+#: aplay/aplay.c:700 speaker-test/speaker-test.c:665
+#, fuzzy, c-format
+msgid "Unable to parse channel map string: %s\n"
+msgstr "avail_min を設定できません: %s\n"
+
+#: aplay/aplay.c:706
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "より詳しい情報は「%s --help」を実行してください\n"
 
-#: aplay/aplay.c:696
+#: aplay/aplay.c:722
 #, c-format
 msgid "audio open error: %s"
 msgstr ""
 
-#: aplay/aplay.c:701
+#: aplay/aplay.c:727
 #, c-format
 msgid "info error: %s"
 msgstr ""
 
-#: aplay/aplay.c:708
+#: aplay/aplay.c:734
 #, c-format
 msgid "nonblock setting error: %s"
 msgstr ""
 
-#: aplay/aplay.c:718 aplay/aplay.c:842 aplay/aplay.c:1217
+#: aplay/aplay.c:744 aplay/aplay.c:868 aplay/aplay.c:1158 aplay/aplay.c:1351
+#: aplay/aplay.c:1867 aplay/aplay.c:1897
 msgid "not enough memory"
 msgstr "メモリが足りません"
 
-#: aplay/aplay.c:742
+#: aplay/aplay.c:768
 #, fuzzy, c-format
 msgid "Cannot create process ID file %s: %s"
 msgstr "WAVファイルがオープンできません: %s\n"
 
-#: aplay/aplay.c:832
+#: aplay/aplay.c:858
 #, c-format
 msgid "read error (called from line %i)"
 msgstr "リードエラー (%i 行)"
 
-#: aplay/aplay.c:890
+#: aplay/aplay.c:925
 #, c-format
 msgid "unknown length of 'fmt ' chunk (read %u, should be %u at least)"
 msgstr ""
 
-#: aplay/aplay.c:900
+#: aplay/aplay.c:936
 #, c-format
 msgid ""
 "unknown length of extensible 'fmt ' chunk (read %u, should be %u at least)"
 msgstr ""
 
-#: aplay/aplay.c:905
+#: aplay/aplay.c:941
 msgid "wrong format tag in extensible 'fmt ' chunk"
 msgstr ""
 
-#: aplay/aplay.c:912
+#: aplay/aplay.c:948
 #, c-format
 msgid "can't play WAVE-file format 0x%04x which is not PCM or FLOAT encoded"
 msgstr ""
 
-#: aplay/aplay.c:916
+#: aplay/aplay.c:953
 #, c-format
 msgid "can't play WAVE-files with %d tracks"
 msgstr "%d トラックを含む WAVE ファイルは再生できません"
 
-#: aplay/aplay.c:924 aplay/aplay.c:1024
+#: aplay/aplay.c:961 aplay/aplay.c:1087
 #, c-format
 msgid "Warning: format is changed to U8\n"
 msgstr "警告: フォーマットは U8 に変更されます\n"
 
-#: aplay/aplay.c:930
-#, c-format
-msgid "Warning: format is changed to S16_LE\n"
-msgstr "警告: フォーマットは S16_LE に変更されます\n"
-
-#: aplay/aplay.c:938
-#, c-format
-msgid "Warning: format is changed to S24_3LE\n"
-msgstr "警告: フォーマットは S24_3LE に変更されます\n"
-
-#: aplay/aplay.c:944
-#, c-format
-msgid "Warning: format is changed to S24_LE\n"
-msgstr "警告: フォーマットは S24_LE に変更されます\n"
+#: aplay/aplay.c:971 aplay/aplay.c:984 aplay/aplay.c:995
+#, fuzzy, c-format
+msgid "Warning: format is changed to %s\n"
+msgstr "警告: フォーマットは U8 に変更されます\n"
 
-#: aplay/aplay.c:948
+#: aplay/aplay.c:1000
 #, c-format
 msgid ""
 " can't play WAVE-files with sample %d bits in %d bytes wide (%d channels)"
@@ -641,302 +638,316 @@ msgstr ""
 "%2$d バイト長 %1$d サンプルビット (%3$d チャネル) の WAVE ファイルは再生でき"
 "ません"
 
-#: aplay/aplay.c:960
+#: aplay/aplay.c:1023
 #, c-format
 msgid " can't play WAVE-files with sample %d bits wide"
 msgstr "%d ビット長のサンプルの WAVE ファイルは再生できません"
 
-#: aplay/aplay.c:1018
+#: aplay/aplay.c:1081
 #, c-format
 msgid "Warning: format is changed to MU_LAW\n"
 msgstr "警告: フォーマットは MU_LAW に変更されます\n"
 
-#: aplay/aplay.c:1030
+#: aplay/aplay.c:1093
 #, c-format
 msgid "Warning: format is changed to S16_BE\n"
 msgstr "警告: フォーマットは S16_BE に変更されます\n"
 
-#: aplay/aplay.c:1043 aplay/aplay.c:1980 aplay/aplay.c:1987 aplay/aplay.c:2510
-#: aplay/aplay.c:2522
+#: aplay/aplay.c:1106 aplay/aplay.c:2182 aplay/aplay.c:2189 aplay/aplay.c:2715
+#: aplay/aplay.c:2727
 msgid "read error"
 msgstr "リードエラー"
 
-#: aplay/aplay.c:1073
+#: aplay/aplay.c:1136
+msgid "Channel numbers don't match between hw_params and channel map"
+msgstr ""
+
+#: aplay/aplay.c:1145
+#, c-format
+msgid "Warning: unable to get channel map\n"
+msgstr ""
+
+#: aplay/aplay.c:1178
+#, c-format
+msgid "Channel %d doesn't match with hw_parmas"
+msgstr ""
+
+#: aplay/aplay.c:1204
 msgid "Broken configuration for this PCM: no configurations available"
 msgstr "指定の PCM を使用できません: 設定がありません"
 
-#: aplay/aplay.c:1077
+#: aplay/aplay.c:1208
 #, c-format
 msgid "HW Params of device \"%s\":\n"
 msgstr ""
 
-#: aplay/aplay.c:1097
+#: aplay/aplay.c:1228
 msgid "Access type not available"
 msgstr "アクセスタイプが使用不可能"
 
-#: aplay/aplay.c:1102
+#: aplay/aplay.c:1233
 msgid "Sample format non available"
 msgstr "サンプルフォーマットが使用不可能"
 
-#: aplay/aplay.c:1108
+#: aplay/aplay.c:1239
 msgid "Channels count non available"
 msgstr "チャネル数が使用不可能"
 
-#: aplay/aplay.c:1123
+#: aplay/aplay.c:1254
 #, c-format
 msgid "Warning: rate is not accurate (requested = %iHz, got = %iHz)\n"
 msgstr "警告: レートが不正確です (要求値 = %iHz, 使用値 = %iHz)\n"
 
-#: aplay/aplay.c:1129
+#: aplay/aplay.c:1260
 #, c-format
 msgid "         please, try the plug plugin %s\n"
 msgstr "        plug プラグイン%s を使用してください\n"
 
-#: aplay/aplay.c:1166
+#: aplay/aplay.c:1297
 msgid "Unable to install hw params:"
 msgstr "hw params のインストールに失敗しました:"
 
-#: aplay/aplay.c:1173
+#: aplay/aplay.c:1304
 #, c-format
 msgid "Can't use period equal to buffer size (%lu == %lu)"
 msgstr "period と buffer サイズには同じ値を使用できません (%lu == %lu)"
 
-#: aplay/aplay.c:1204
+#: aplay/aplay.c:1335
 msgid "unable to install sw params:"
 msgstr "sw params のインストールに失敗しました:"
 
-#: aplay/aplay.c:1235
+#: aplay/aplay.c:1369
 #, c-format
 msgid "snd_pcm_mmap_begin problem: %s"
 msgstr ""
 
-#: aplay/aplay.c:1260
+#: aplay/aplay.c:1398
 #, c-format
 msgid "stdin O_NONBLOCK flag setup failed\n"
 msgstr ""
 
-#: aplay/aplay.c:1284
+#: aplay/aplay.c:1422
 #, c-format
 msgid "\rPAUSE command ignored (no hw support)\n"
 msgstr ""
 
-#: aplay/aplay.c:1289
+#: aplay/aplay.c:1427
 #, fuzzy, c-format
 msgid "pause push error: %s"
 msgstr "ステータスエラー: %s"
 
-#: aplay/aplay.c:1298
+#: aplay/aplay.c:1436
 #, fuzzy, c-format
 msgid "pause release error: %s"
 msgstr "サスペンド: prepare エラー: %s"
 
-#: aplay/aplay.c:1314
+#: aplay/aplay.c:1452
 #, c-format
 msgid ""
 "\r=== PAUSE ===                                                            "
 msgstr ""
 
-#: aplay/aplay.c:1356
+#: aplay/aplay.c:1494
 #, c-format
 msgid "status error: %s"
 msgstr "ステータスエラー: %s"
 
-#: aplay/aplay.c:1361
+#: aplay/aplay.c:1499
 #, c-format
 msgid "fatal %s: %s"
 msgstr ""
 
-#: aplay/aplay.c:1362 aplay/aplay.c:1373 aplay/aplay.c:1376 aplay/aplay.c:1384
+#: aplay/aplay.c:1500 aplay/aplay.c:1511 aplay/aplay.c:1514 aplay/aplay.c:1522
 msgid "underrun"
 msgstr "アンダーラン"
 
-#: aplay/aplay.c:1362 aplay/aplay.c:1373 aplay/aplay.c:1384
+#: aplay/aplay.c:1500 aplay/aplay.c:1511 aplay/aplay.c:1522
 msgid "overrun"
 msgstr "オーバーラン"
 
-#: aplay/aplay.c:1372 aplay/aplay.c:1383
+#: aplay/aplay.c:1510 aplay/aplay.c:1521
 #, c-format
 msgid "%s!!! (at least %.3f ms long)\n"
 msgstr "%s!!! (少なくとも %.3f ms)\n"
 
-#: aplay/aplay.c:1388
+#: aplay/aplay.c:1526
 #, c-format
 msgid "Status:\n"
 msgstr "ステータス:\n"
 
-#: aplay/aplay.c:1392
+#: aplay/aplay.c:1530
 #, c-format
 msgid "xrun: prepare error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1398
+#: aplay/aplay.c:1536
 #, c-format
 msgid "Status(DRAINING):\n"
 msgstr "ステータス(DRAINING):\n"
 
-#: aplay/aplay.c:1402
+#: aplay/aplay.c:1540
 #, c-format
 msgid "capture stream format change? attempting recover...\n"
 msgstr "録音ストリームのフォーマットが変更? 修復を試みます...\n"
 
-#: aplay/aplay.c:1404
+#: aplay/aplay.c:1542
 #, c-format
 msgid "xrun(DRAINING): prepare error: %s"
 msgstr ""
 
-#: aplay/aplay.c:1411
+#: aplay/aplay.c:1549
 #, c-format
 msgid "Status(R/W):\n"
 msgstr "ステータス(R/W):\n"
 
-#: aplay/aplay.c:1414
+#: aplay/aplay.c:1552
 #, c-format
 msgid "read/write error, state = %s"
 msgstr "読み書きエラー, ステータス = %s"
 
-#: aplay/aplay.c:1424
+#: aplay/aplay.c:1562
 #, c-format
 msgid "Suspended. Trying resume. "
 msgstr "サスペンド中です。レジュームします。"
 
-#: aplay/aplay.c:1429
+#: aplay/aplay.c:1567
 #, c-format
 msgid "Failed. Restarting stream. "
 msgstr "失敗しました。ストリームを再スタートします。"
 
-#: aplay/aplay.c:1431
+#: aplay/aplay.c:1569
 #, c-format
 msgid "suspend: prepare error: %s"
 msgstr "サスペンド: prepare エラー: %s"
 
-#: aplay/aplay.c:1436
+#: aplay/aplay.c:1574
 #, c-format
 msgid "Done.\n"
 msgstr "終了\n"
 
-#: aplay/aplay.c:1458
+#: aplay/aplay.c:1596
 #, c-format
 msgid " !clip  "
 msgstr ""
 
-#: aplay/aplay.c:1605
+#: aplay/aplay.c:1743
 #, c-format
 msgid "Unsupported bit size %d.\n"
 msgstr ""
 
-#: aplay/aplay.c:1639
+#: aplay/aplay.c:1777
 #, c-format
 msgid "Max peak (%li samples): 0x%08x "
 msgstr "最大ピーク (%li サンプル): 0x%08x "
 
-#: aplay/aplay.c:1673
+#: aplay/aplay.c:1811
 #, c-format
 msgid ""
 "Suspicious buffer position (%li total): avail = %li, delay = %li, buffer = "
 "%li\n"
 msgstr ""
 
-#: aplay/aplay.c:1737
+#: aplay/aplay.c:1939
 #, c-format
 msgid "write error: %s"
 msgstr "書込エラー: %s"
 
-#: aplay/aplay.c:1784
+#: aplay/aplay.c:1987
 #, c-format
 msgid "writev error: %s"
 msgstr "書込(writev)エラー: %s"
 
-#: aplay/aplay.c:1828
+#: aplay/aplay.c:2031
 #, c-format
 msgid "read error: %s"
 msgstr "読込エラー: %s"
 
-#: aplay/aplay.c:1872
+#: aplay/aplay.c:2075
 #, c-format
 msgid "readv error: %s"
 msgstr "読込(readv)エラー: %s"
 
-#: aplay/aplay.c:1920
+#: aplay/aplay.c:2123
 msgid "can't allocate buffer for silence"
 msgstr "サイレンス用のバッファの取得に失敗しました"
 
-#: aplay/aplay.c:1929 aplay/aplay.c:2155 aplay/aplay.c:2160 aplay/aplay.c:2207
-#: aplay/aplay.c:2216 aplay/aplay.c:2223 aplay/aplay.c:2233 aplay/aplay.c:2239
-#: aplay/aplay.c:2311 aplay/aplay.c:2341 aplay/aplay.c:2355
+#: aplay/aplay.c:2132 aplay/aplay.c:2360 aplay/aplay.c:2365 aplay/aplay.c:2412
+#: aplay/aplay.c:2421 aplay/aplay.c:2428 aplay/aplay.c:2438 aplay/aplay.c:2444
+#: aplay/aplay.c:2516 aplay/aplay.c:2546 aplay/aplay.c:2560
 msgid "write error"
 msgstr "書込エラー"
 
-#: aplay/aplay.c:1942
+#: aplay/aplay.c:2145
 #, c-format
 msgid "voc_pcm_flush - silence error"
 msgstr ""
 
-#: aplay/aplay.c:1945
+#: aplay/aplay.c:2148
 msgid "voc_pcm_flush error"
 msgstr ""
 
-#: aplay/aplay.c:1971
+#: aplay/aplay.c:2173
 msgid "malloc error"
 msgstr "malloc エラー"
 
-#: aplay/aplay.c:1975
+#: aplay/aplay.c:2177
 #, c-format
 msgid "Playing Creative Labs Channel file '%s'...\n"
 msgstr "Creative Labs Channel ファイル '%s' を演奏中...\n"
 
-#: aplay/aplay.c:2043 aplay/aplay.c:2135
+#: aplay/aplay.c:2245 aplay/aplay.c:2340
 msgid "can't play packed .voc files"
 msgstr "packed .voc ファイルは演奏できません"
 
-#: aplay/aplay.c:2095
+#: aplay/aplay.c:2300
 #, c-format
 msgid "can't play loops; %s isn't seekable\n"
 msgstr "ループ演奏できません。%s はシーク不可能です\n"
 
-#: aplay/aplay.c:2144
+#: aplay/aplay.c:2349
 #, c-format
 msgid "unknown blocktype %d. terminate."
 msgstr "未知のブロックタイプ %d: 終了します。"
 
-#: aplay/aplay.c:2275
+#: aplay/aplay.c:2480
 #, c-format
 msgid "Wave doesn't support %s format..."
 msgstr "WAVE は %s フォーマットをサポートしません..."
 
-#: aplay/aplay.c:2335
+#: aplay/aplay.c:2540
 #, c-format
 msgid "Sparc Audio doesn't support %s format..."
 msgstr "Sparc オーディオは %s フォーマットをサポートしません..."
 
-#: aplay/aplay.c:2416
+#: aplay/aplay.c:2621
 msgid "Playing"
 msgstr "再生中"
 
-#: aplay/aplay.c:2416
+#: aplay/aplay.c:2621
 msgid "Recording"
 msgstr "録音中"
 
-#: aplay/aplay.c:2420
+#: aplay/aplay.c:2625
 #, c-format
 msgid "Rate %d Hz, "
 msgstr "レート %d Hz, "
 
-#: aplay/aplay.c:2422
+#: aplay/aplay.c:2627
 #, c-format
 msgid "Mono"
 msgstr "モノラル"
 
-#: aplay/aplay.c:2424
+#: aplay/aplay.c:2629
 #, c-format
 msgid "Stereo"
 msgstr "ステレオ"
 
-#: aplay/aplay.c:2426
+#: aplay/aplay.c:2631
 #, c-format
 msgid "Channels %i"
 msgstr "チャネル数 %i"
 
-#: aplay/aplay.c:2937 aplay/aplay.c:2990
+#: aplay/aplay.c:3145 aplay/aplay.c:3198
 #, c-format
 msgid "You need to specify %d files"
 msgstr "%d 個のファイルを指定してください"
@@ -1047,47 +1058,47 @@ msgstr "ユーザ"
 msgid "kernel"
 msgstr "カーネル"
 
-#: seq/aconnect/aconnect.c:307
+#: seq/aconnect/aconnect.c:308
 #, c-format
 msgid "can't open sequencer\n"
 msgstr "sequencer をオープンできません\n"
 
-#: seq/aconnect/aconnect.c:335
+#: seq/aconnect/aconnect.c:336
 #, c-format
 msgid "can't get client id\n"
 msgstr "クライアント ID を取得できません\n"
 
-#: seq/aconnect/aconnect.c:342
+#: seq/aconnect/aconnect.c:343
 #, c-format
 msgid "can't set client info\n"
 msgstr "クライアント情報を取得できません\n"
 
-#: seq/aconnect/aconnect.c:349
+#: seq/aconnect/aconnect.c:350
 #, c-format
 msgid "invalid sender address %s\n"
 msgstr "送信アドレスが不正です: %s\n"
 
-#: seq/aconnect/aconnect.c:354 seq/aseqnet/aseqnet.c:290
+#: seq/aconnect/aconnect.c:355 seq/aseqnet/aseqnet.c:290
 #, c-format
 msgid "invalid destination address %s\n"
 msgstr "受信アドレスが不正です: %s\n"
 
-#: seq/aconnect/aconnect.c:368
+#: seq/aconnect/aconnect.c:369
 #, c-format
 msgid "No subscription is found\n"
 msgstr "接続が見つかりません\n"
 
-#: seq/aconnect/aconnect.c:373
+#: seq/aconnect/aconnect.c:374
 #, c-format
 msgid "Disconnection failed (%s)\n"
 msgstr "切り離しに失敗 (%s)\n"
 
-#: seq/aconnect/aconnect.c:379
+#: seq/aconnect/aconnect.c:380
 #, c-format
 msgid "Connection is already subscribed\n"
 msgstr "既に接続されています\n"
 
-#: seq/aconnect/aconnect.c:384
+#: seq/aconnect/aconnect.c:385
 #, c-format
 msgid "Connection failed (%s)\n"
 msgstr "接続に失敗 (%s)\n"
@@ -1123,8 +1134,8 @@ msgid "options:\n"
 msgstr "オプション:\n"
 
 #: seq/aseqnet/aseqnet.c:170
-#, c-format
-msgid "  -p,--port # : sepcify TCP port (digit or service name)\n"
+#, fuzzy, c-format
+msgid "  -p,--port # : specify TCP port (digit or service name)\n"
 msgstr "  -p,--port # : TCP ポートの指定 (数字またはサービス名)\n"
 
 #: seq/aseqnet/aseqnet.c:171
@@ -1217,258 +1228,263 @@ msgstr "チャネル %2d: ノートオフ   : %5d\n"
 msgid "disconnected\n"
 msgstr "切り離し\n"
 
-#: speaker-test/speaker-test.c:104
+#: speaker-test/speaker-test.c:120
 msgid "Front Left"
 msgstr ""
 
-#: speaker-test/speaker-test.c:105
+#: speaker-test/speaker-test.c:121
 msgid "Front Right"
 msgstr ""
 
-#: speaker-test/speaker-test.c:106
+#: speaker-test/speaker-test.c:122
 msgid "Rear Left"
 msgstr ""
 
-#: speaker-test/speaker-test.c:107
+#: speaker-test/speaker-test.c:123
 msgid "Rear Right"
 msgstr ""
 
-#: speaker-test/speaker-test.c:109
+#: speaker-test/speaker-test.c:125
 msgid "LFE"
 msgstr ""
 
-#: speaker-test/speaker-test.c:110
+#: speaker-test/speaker-test.c:126
 msgid "Side Left"
 msgstr ""
 
-#: speaker-test/speaker-test.c:111
+#: speaker-test/speaker-test.c:127
 msgid "Side Right"
 msgstr ""
 
-#: speaker-test/speaker-test.c:112
+#: speaker-test/speaker-test.c:128
 msgid "Channel 9"
 msgstr ""
 
-#: speaker-test/speaker-test.c:113
+#: speaker-test/speaker-test.c:129
 msgid "Channel 10"
 msgstr ""
 
-#: speaker-test/speaker-test.c:114
+#: speaker-test/speaker-test.c:130
 msgid "Channel 11"
 msgstr ""
 
-#: speaker-test/speaker-test.c:115
+#: speaker-test/speaker-test.c:131
 msgid "Channel 12"
 msgstr ""
 
-#: speaker-test/speaker-test.c:116
+#: speaker-test/speaker-test.c:132
 msgid "Channel 13"
 msgstr ""
 
-#: speaker-test/speaker-test.c:117
+#: speaker-test/speaker-test.c:133
 msgid "Channel 14"
 msgstr ""
 
-#: speaker-test/speaker-test.c:118
+#: speaker-test/speaker-test.c:134
 msgid "Channel 15"
 msgstr ""
 
-#: speaker-test/speaker-test.c:119
+#: speaker-test/speaker-test.c:135
 msgid "Channel 16"
 msgstr ""
 
-#: speaker-test/speaker-test.c:383
+#: speaker-test/speaker-test.c:518
 #, c-format
 msgid "Broken configuration for playback: no configurations available: %s\n"
 msgstr "再生用に設定できません: 設定がみつかりません: %s\n"
 
-#: speaker-test/speaker-test.c:390
+#: speaker-test/speaker-test.c:525
 #, c-format
 msgid "Access type not available for playback: %s\n"
 msgstr "アクセスタイプが不正です: %s\n"
 
-#: speaker-test/speaker-test.c:397
+#: speaker-test/speaker-test.c:532
 #, c-format
 msgid "Sample format not available for playback: %s\n"
 msgstr "指定のサンプルフォーマットを使用できません: %s\n"
 
-#: speaker-test/speaker-test.c:404
+#: speaker-test/speaker-test.c:539
 #, c-format
 msgid "Channels count (%i) not available for playbacks: %s\n"
 msgstr "チャネル数 (%i) を使用できません: %s\n"
 
-#: speaker-test/speaker-test.c:412
+#: speaker-test/speaker-test.c:547
 #, c-format
 msgid "Rate %iHz not available for playback: %s\n"
 msgstr "レート %iHz を使用できません: %s\n"
 
-#: speaker-test/speaker-test.c:417
+#: speaker-test/speaker-test.c:552
 #, c-format
 msgid "Rate doesn't match (requested %iHz, get %iHz, err %d)\n"
 msgstr "設定レートが一致しません< (要求値 %iHz, 取得値 %iHz, エラー %d)\n"
 
-#: speaker-test/speaker-test.c:421
+#: speaker-test/speaker-test.c:556
 #, c-format
 msgid "Rate set to %iHz (requested %iHz)\n"
 msgstr "レート %iHz (要求値 %iHz)\n"
 
-#: speaker-test/speaker-test.c:427
+#: speaker-test/speaker-test.c:562
 #, c-format
 msgid "Buffer size range from %lu to %lu\n"
 msgstr "バッファサイズ範囲 %lu 〜 %lu\n"
 
-#: speaker-test/speaker-test.c:428
+#: speaker-test/speaker-test.c:563
 #, c-format
 msgid "Period size range from %lu to %lu\n"
 msgstr "ピリオドサイズ範囲 %lu 〜 %lu\n"
 
-#: speaker-test/speaker-test.c:430
+#: speaker-test/speaker-test.c:565
 #, c-format
 msgid "Requested period time %u us\n"
 msgstr "要求されたピリオド長 %u us\n"
 
-#: speaker-test/speaker-test.c:433
+#: speaker-test/speaker-test.c:568
 #, c-format
 msgid "Unable to set period time %u us for playback: %s\n"
 msgstr "ピリオド長 %u us を設定できません: %s\n"
 
-#: speaker-test/speaker-test.c:439
+#: speaker-test/speaker-test.c:574
 #, c-format
 msgid "Requested buffer time %u us\n"
 msgstr "要求されたバッファ長 %u us\n"
 
-#: speaker-test/speaker-test.c:442
+#: speaker-test/speaker-test.c:577
 #, c-format
 msgid "Unable to set buffer time %u us for playback: %s\n"
 msgstr "バッファ長 %u us を設定できません: %s\n"
 
-#: speaker-test/speaker-test.c:451
+#: speaker-test/speaker-test.c:586
 #, c-format
 msgid "Using max buffer size %lu\n"
 msgstr "最大バッファサイズ %lu を使用\n"
 
-#: speaker-test/speaker-test.c:454
+#: speaker-test/speaker-test.c:589
 #, c-format
 msgid "Unable to set buffer size %lu for playback: %s\n"
 msgstr "バッファサイズ %lu を設定できません: %s\n"
 
-#: speaker-test/speaker-test.c:460
+#: speaker-test/speaker-test.c:595
 #, c-format
 msgid "Periods = %u\n"
 msgstr "ピリオド数 = %u\n"
 
-#: speaker-test/speaker-test.c:463
+#: speaker-test/speaker-test.c:598
 #, c-format
 msgid "Unable to set nperiods %u for playback: %s\n"
 msgstr "ピリオド数 %u を設定できません: %s\n"
 
-#: speaker-test/speaker-test.c:472
+#: speaker-test/speaker-test.c:607
 #, c-format
 msgid "Unable to set hw params for playback: %s\n"
 msgstr "hw params を設定できません: %s\n"
 
-#: speaker-test/speaker-test.c:478
+#: speaker-test/speaker-test.c:613
 #, c-format
 msgid "was set period_size = %lu\n"
 msgstr "period_size = %lu で設定\n"
 
-#: speaker-test/speaker-test.c:479
+#: speaker-test/speaker-test.c:614
 #, c-format
 msgid "was set buffer_size = %lu\n"
 msgstr "buffer_size = %lu で設定\n"
 
-#: speaker-test/speaker-test.c:481
+#: speaker-test/speaker-test.c:616
 #, c-format
 msgid "buffer to small, could not use\n"
 msgstr "バッファが小さすぎます\n"
 
-#: speaker-test/speaker-test.c:494
+#: speaker-test/speaker-test.c:629
 #, c-format
 msgid "Unable to determine current swparams for playback: %s\n"
 msgstr "現在の swparams を取得できません: %s\n"
 
-#: speaker-test/speaker-test.c:501
+#: speaker-test/speaker-test.c:636
 #, c-format
 msgid "Unable to set start threshold mode for playback: %s\n"
 msgstr "start_threshold モードを設定できません: %s\n"
 
-#: speaker-test/speaker-test.c:508
+#: speaker-test/speaker-test.c:643
 #, c-format
 msgid "Unable to set avail min for playback: %s\n"
 msgstr "avail_min を設定できません: %s\n"
 
-#: speaker-test/speaker-test.c:515
+#: speaker-test/speaker-test.c:650
 #, c-format
 msgid "Unable to set sw params for playback: %s\n"
 msgstr "再生用の sw params を設定できません: %s\n"
 
-#: speaker-test/speaker-test.c:530
+#: speaker-test/speaker-test.c:670
+#, fuzzy, c-format
+msgid "Unable to set channel map: %s\n"
+msgstr "avail_min を設定できません: %s\n"
+
+#: speaker-test/speaker-test.c:695
 #, c-format
 msgid "Can't recovery from underrun, prepare failed: %s\n"
 msgstr "アンダーランから復帰失敗: %s\n"
 
-#: speaker-test/speaker-test.c:541
+#: speaker-test/speaker-test.c:706
 #, c-format
 msgid "Can't recovery from suspend, prepare failed: %s\n"
 msgstr "サスペンドから復帰失敗: %s\n"
 
-#: speaker-test/speaker-test.c:605 speaker-test/speaker-test.c:1025
+#: speaker-test/speaker-test.c:770 speaker-test/speaker-test.c:1261
 #, c-format
 msgid "No enough memory\n"
 msgstr "メモリが足りません\n"
 
-#: speaker-test/speaker-test.c:610
+#: speaker-test/speaker-test.c:775
 #, c-format
 msgid "Cannot open WAV file %s\n"
 msgstr "WAVファイルがオープンできません: %s\n"
 
-#: speaker-test/speaker-test.c:614 speaker-test/speaker-test.c:643
+#: speaker-test/speaker-test.c:779 speaker-test/speaker-test.c:808
 #, c-format
 msgid "Invalid WAV file %s\n"
 msgstr "不正なWAVファイルです: %s\n"
 
-#: speaker-test/speaker-test.c:619
+#: speaker-test/speaker-test.c:784
 #, c-format
 msgid "Not a WAV file: %s\n"
 msgstr "WAVファイルではありません: %s\n"
 
-#: speaker-test/speaker-test.c:623
+#: speaker-test/speaker-test.c:788
 #, c-format
 msgid "Unsupported WAV format %d for %s\n"
 msgstr "未サポートのWAVフォーマット %d: %s\n"
 
-#: speaker-test/speaker-test.c:628
+#: speaker-test/speaker-test.c:793
 #, c-format
 msgid "%s is not a mono stream (%d channels)\n"
 msgstr "%s はモノストリームではありません (%d チャネル)\n"
 
-#: speaker-test/speaker-test.c:633
+#: speaker-test/speaker-test.c:798
 #, c-format
 msgid "Sample rate doesn't match (%d) for %s\n"
 msgstr "サンプルレートが不一致です(%d): %s\n"
 
-#: speaker-test/speaker-test.c:638
+#: speaker-test/speaker-test.c:803
 #, c-format
 msgid "Unsupported sample format bits %d for %s\n"
 msgstr "未サポートのサンプルフォーマットビット %d: %s\n"
 
-#: speaker-test/speaker-test.c:688
+#: speaker-test/speaker-test.c:864
 #, c-format
 msgid "Undefined channel %d\n"
 msgstr "未定義のチャネル %d\n"
 
-#: speaker-test/speaker-test.c:739
+#: speaker-test/speaker-test.c:915
 #, c-format
 msgid "Write error: %d,%s\n"
 msgstr "書込エラー: %d,%s\n"
 
-#: speaker-test/speaker-test.c:741
+#: speaker-test/speaker-test.c:917
 #, c-format
 msgid "xrun_recovery failed: %d,%s\n"
 msgstr "xrun_recovery 失敗: %d,%s\n"
 
-#: speaker-test/speaker-test.c:803
-#, c-format
+#: speaker-test/speaker-test.c:1003
+#, fuzzy, c-format
 msgid ""
 "Usage: speaker-test [OPTION]... \n"
 "-h,--help\thelp\n"
@@ -1485,6 +1501,8 @@ msgid ""
 "-s,--speaker\tsingle speaker test. Values 1=Left, 2=right, etc\n"
 "-w,--wavfile\tUse the given WAV file as a test sound\n"
 "-W,--wavdir\tSpecify the directory containing WAV files\n"
+"-m,--chmap\tSpecify the channel map to override\n"
+"-X,--force-frequency\tforce frequencies outside the 30-8000hz range\n"
 "\n"
 msgstr ""
 "使用法: speaker-test [オプション]...\n"
@@ -1503,74 +1521,84 @@ msgstr ""
 "-s,--speaker         単一スピーカーテスト  1=左 または 2=右\n"
 "-w,--wavfile         指定のWAVファイルをテスト音源として使用\n"
 "-W,--wavdir          WAVファイルのあるディレクトリを指定\n"
+"-X,--force-frequency\t30-8000Hz範囲外許可\n"
 "\n"
 
-#: speaker-test/speaker-test.c:921
+#: speaker-test/speaker-test.c:1132
 #, c-format
 msgid "Invalid number of periods %d\n"
 msgstr "不正なピリオド数 %d\n"
 
-#: speaker-test/speaker-test.c:937 speaker-test/speaker-test.c:941
+#: speaker-test/speaker-test.c:1148 speaker-test/speaker-test.c:1152
 #, c-format
 msgid "Invalid test type %s\n"
 msgstr "不正なテストタイプ %s\n"
 
-#: speaker-test/speaker-test.c:953
+#: speaker-test/speaker-test.c:1164
 #, c-format
 msgid "Invalid parameter for -s option.\n"
 msgstr "-s オプションの値が不正です\n"
 
-#: speaker-test/speaker-test.c:967
+#: speaker-test/speaker-test.c:1186
 #, c-format
 msgid "Unknown option '%c'\n"
 msgstr "未知のオプション '%c'\n"
 
-#: speaker-test/speaker-test.c:981
+#: speaker-test/speaker-test.c:1207
 #, c-format
 msgid "Playback device is %s\n"
 msgstr "再生デバイス: %s\n"
 
-#: speaker-test/speaker-test.c:982
+#: speaker-test/speaker-test.c:1208
 #, c-format
 msgid "Stream parameters are %iHz, %s, %i channels\n"
 msgstr "ストリームパラメータ: %iHz, %s, %i チャネル\n"
 
-#: speaker-test/speaker-test.c:985
+#: speaker-test/speaker-test.c:1211
 #, c-format
 msgid "Using 16 octaves of pink noise\n"
 msgstr "16 オクターブのピンクノイズを使用\n"
 
-#: speaker-test/speaker-test.c:988
+#: speaker-test/speaker-test.c:1214
 #, c-format
 msgid "Sine wave rate is %.4fHz\n"
 msgstr "正弦波レート: %.4fHz\n"
 
-#: speaker-test/speaker-test.c:991
+#: speaker-test/speaker-test.c:1217
 #, c-format
 msgid "WAV file(s)\n"
 msgstr "WAV ファイル\n"
 
-#: speaker-test/speaker-test.c:997
+#: speaker-test/speaker-test.c:1227
 #, c-format
 msgid "Playback open error: %d,%s\n"
 msgstr "再生オープンエラー: %d,%s\n"
 
-#: speaker-test/speaker-test.c:1002
+#: speaker-test/speaker-test.c:1233
 #, c-format
 msgid "Setting of hwparams failed: %s\n"
 msgstr "hwparams の設定に失敗: %s\n"
 
-#: speaker-test/speaker-test.c:1007
+#: speaker-test/speaker-test.c:1237
 #, c-format
 msgid "Setting of swparams failed: %s\n"
 msgstr "swparams の設定に失敗: %s\n"
 
-#: speaker-test/speaker-test.c:1056 speaker-test/speaker-test.c:1078
+#: speaker-test/speaker-test.c:1284 speaker-test/speaker-test.c:1306
 #, c-format
 msgid "Transfer failed: %s\n"
 msgstr "転送に失敗しました: %s\n"
 
-#: speaker-test/speaker-test.c:1066
+#: speaker-test/speaker-test.c:1292
 #, c-format
 msgid "Time per period = %lf\n"
 msgstr "ピリオド時間 = %lf\n"
+
+#~ msgid "Warning: format is changed to S16_LE\n"
+#~ msgstr "警告: フォーマットは S16_LE に変更されます\n"
+
+#~ msgid "Warning: format is changed to S24_3LE\n"
+#~ msgstr "警告: フォーマットは S24_3LE に変更されます\n"
+
+#~ msgid "Warning: format is changed to S24_LE\n"
+#~ msgstr "警告: フォーマットは S24_LE に変更されます\n"
index 4c1f93f..68dfad3 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -41,7 +57,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -57,6 +73,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -92,9 +113,12 @@ am__relativize = \
   done; \
   reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -137,6 +161,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -210,6 +235,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -232,7 +258,7 @@ SUBDIRS = aconnect aplaymidi aseqdump aseqnet
 all: all-recursive
 
 .SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -257,19 +283,19 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -279,7 +305,11 @@ $(RECURSIVE_TARGETS):
        done; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -293,37 +323,6 @@ $(RECURSIVE_TARGETS):
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
 tags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
@@ -332,6 +331,10 @@ ctags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
        done
+cscopelist-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
+       done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -395,6 +398,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -430,13 +447,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -557,21 +571,22 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-strip tags-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
+       cscopelist-recursive ctags-recursive install-am install-strip \
+       tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic ctags \
-       ctags-recursive distclean distclean-generic distclean-tags \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       installdirs-am maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
-       tags-recursive uninstall uninstall-am
+       all all-am check check-am clean clean-generic cscopelist \
+       cscopelist-recursive ctags ctags-recursive distclean \
+       distclean-generic distclean-tags distdir dvi dvi-am html \
+       html-am info info-am install install-am install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-pdf install-pdf-am \
+       install-ps install-ps-am install-strip installcheck \
+       installcheck-am installdirs installdirs-am maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+       pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 507b9fe..02be5c5 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = README.aconnect aconnect.1
 LDADD = $(LIBINTL)
 
index 2403a64..2159c30 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -36,14 +52,15 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = aconnect$(EXEEXT)
 subdir = seq/aconnect
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -67,6 +84,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(aconnect_SOURCES)
 DIST_SOURCES = $(aconnect_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -101,9 +123,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -146,6 +171,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -219,6 +245,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -237,7 +264,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = README.aconnect aconnect.1
 LDADD = $(LIBINTL)
 aconnect_SOURCES = aconnect.c
@@ -246,7 +273,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -271,15 +298,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -340,11 +370,18 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -424,6 +461,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -434,10 +485,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -581,7 +632,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index 8c66cfd..8d6cebb 100644 (file)
@@ -292,6 +292,7 @@ int main(int argc, char **argv)
                        convert_real = 0;
                        break;
                case 'l':
+                       command = LIST;
                        list_subs = 1;
                        break;
                case 'x':
index bed2a0e..1fa063e 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = aplaymidi.1 arecordmidi.1
 
 bin_PROGRAMS = aplaymidi arecordmidi
index 4535ee4..861140e 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -36,14 +52,15 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = aplaymidi$(EXEEXT) arecordmidi$(EXEEXT)
 subdir = seq/aplaymidi
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -68,6 +85,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = aplaymidi.c arecordmidi.c
 DIST_SOURCES = aplaymidi.c arecordmidi.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -102,9 +124,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -147,6 +172,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -220,6 +246,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -238,14 +265,14 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = aplaymidi.1 arecordmidi.1
 man_MANS = aplaymidi.1 arecordmidi.1
 all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -270,15 +297,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -343,11 +373,18 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -427,6 +464,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -437,10 +488,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -584,7 +635,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index d918d9f..4837ad9 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = aseqdump.1
 
 bin_PROGRAMS = aseqdump
index 8deb462..17523a7 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -36,14 +52,15 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = aseqdump$(EXEEXT)
 subdir = seq/aseqdump
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -65,6 +82,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = aseqdump.c
 DIST_SOURCES = aseqdump.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -99,9 +121,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -144,6 +169,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -217,6 +243,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -235,14 +262,14 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = aseqdump.1
 man_MANS = aseqdump.1
 all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -267,15 +294,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -336,11 +366,18 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -420,6 +457,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -430,10 +481,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -577,7 +628,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index 2ebc4a5..852d1e9 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = README.aseqnet aseqnet.1
 
 bin_PROGRAMS = aseqnet
index 5522bde..a84982c 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -36,14 +52,15 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = aseqnet$(EXEEXT)
 subdir = seq/aseqnet
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -66,6 +83,11 @@ CCLD = $(CC)
 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(aseqnet_SOURCES)
 DIST_SOURCES = $(aseqnet_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -100,9 +122,12 @@ ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -145,6 +170,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -218,6 +244,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -236,7 +263,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 EXTRA_DIST = README.aseqnet aseqnet.1
 aseqnet_SOURCES = aseqnet.c
 aseqnet_LDADD = $(INTLLIBS)
@@ -245,7 +272,7 @@ all: all-am
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -270,15 +297,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -339,11 +369,18 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -423,6 +460,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -433,10 +484,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -580,7 +631,7 @@ uninstall-man: uninstall-man1
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags distclean distclean-compile \
+       clean-generic cscopelist ctags distclean distclean-compile \
        distclean-generic distclean-tags distdir dvi dvi-am html \
        html-am info info-am install install-am install-binPROGRAMS \
        install-data install-data-am install-dvi install-dvi-am \
index e071ad9..70a1cfd 100644 (file)
@@ -167,7 +167,7 @@ static void usage(void)
        printf(_("  server mode: aseqnet [-options]\n"));
        printf(_("  client mode: aseqnet [-options] server_host\n"));
        printf(_("options:\n"));
-       printf(_("  -p,--port # : sepcify TCP port (digit or service name)\n"));
+       printf(_("  -p,--port # : specify TCP port (digit or service name)\n"));
        printf(_("  -s,--source addr : read from given addr (client:port)\n"));
        printf(_("  -d,--dest addr : write to given addr (client:port)\n"));
        printf(_("  -v, --verbose : print verbose messages\n"));
index e3551bc..d53dbd6 100644 (file)
@@ -1,4 +1,4 @@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 SUBDIRS= samples
 LDADD = $(LIBINTL) -lm
 
index cbb4c7f..9d911e4 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -36,14 +52,15 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = speaker-test$(EXEEXT)
 subdir = speaker-test
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -74,6 +91,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -139,9 +161,12 @@ am__relativize = \
   done; \
   reldir="$$dir2"
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -184,6 +209,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -257,6 +283,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -275,7 +302,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 udevrulesdir = @udevrulesdir@
 xmlto = @xmlto@
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
 SUBDIRS = samples
 LDADD = $(LIBINTL) -lm
 speaker_test_SOURCES = speaker-test.c pink.c
@@ -285,7 +312,7 @@ all: all-recursive
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -310,15 +337,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p; \
@@ -380,11 +410,18 @@ distclean-compile:
 @am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
 install-man1: $(man_MANS)
        @$(NORMAL_INSTALL)
-       test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-       @list=''; test -n "$(man1dir)" || exit 0; \
-       { for i in $$list; do echo "$$i"; done; \
-       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-         sed -n '/\.1[a-z]*$$/p'; \
+       @list1=''; \
+       list2='$(man_MANS)'; \
+       test -n "$(man1dir)" \
+         && test -n "`echo $$list1$$list2`" \
+         || exit 0; \
+       echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+       $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+       { for i in $$list1; do echo "$$i"; done;  \
+       if test -n "$$list2"; then \
+         for i in $$list2; do echo "$$i"; done \
+           | sed -n '/\.1[a-z]*$$/p'; \
+       fi; \
        } | while read p; do \
          if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; echo "$$p"; \
@@ -416,12 +453,12 @@ uninstall-man1:
        dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
        @fail= failcom='exit 1'; \
        for f in x $$MAKEFLAGS; do \
          case $$f in \
@@ -431,7 +468,11 @@ $(RECURSIVE_TARGETS):
        done; \
        dot_seen=no; \
        target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       for subdir in $$list; do \
          echo "Making $$target in $$subdir"; \
          if test "$$subdir" = "."; then \
            dot_seen=yes; \
@@ -445,37 +486,6 @@ $(RECURSIVE_TARGETS):
        if test "$$dot_seen" = "no"; then \
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @fail= failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
 tags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
@@ -484,6 +494,10 @@ ctags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
        done
+cscopelist-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
+       done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -547,6 +561,20 @@ GTAGS:
          && $(am__cd) $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
+       list='$(SOURCES) $(HEADERS) $(LISP)'; \
+       case "$(srcdir)" in \
+         [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+         *) sdir=$(subdir)/$(srcdir) ;; \
+       esac; \
+       for i in $$list; do \
+         if test -f "$$i"; then \
+           echo "$(subdir)/$$i"; \
+         else \
+           echo "$$sdir/$$i"; \
+         fi; \
+       done >> $(top_builddir)/cscope.files
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -557,10 +585,10 @@ distdir: $(DISTFILES)
            if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
          if test -n "$$list" && \
            grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
-           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \
            grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
            echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
-           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           echo "       typically 'make maintainer-clean' will remove them" >&2; \
            exit 1; \
          else :; fi; \
        else :; fi
@@ -595,13 +623,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -730,24 +755,25 @@ uninstall-am: uninstall-binPROGRAMS uninstall-man
 
 uninstall-man: uninstall-man1
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-       install-am install-strip tags-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
+       cscopelist-recursive ctags-recursive install-am install-strip \
+       tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
        all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic ctags ctags-recursive distclean \
-       distclean-compile distclean-generic distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-binPROGRAMS install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-man1 install-pdf install-pdf-am install-ps \
-       install-ps-am install-strip installcheck installcheck-am \
-       installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am uninstall-binPROGRAMS uninstall-man \
-       uninstall-man1
+       clean-generic cscopelist cscopelist-recursive ctags \
+       ctags-recursive distclean distclean-compile distclean-generic \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-binPROGRAMS install-data \
+       install-data-am install-dvi install-dvi-am install-exec \
+       install-exec-am install-html install-html-am install-info \
+       install-info-am install-man install-man1 install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+       tags tags-recursive uninstall uninstall-am \
+       uninstall-binPROGRAMS uninstall-man uninstall-man1
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 31c59b6..4019b8e 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -42,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -51,6 +67,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -82,9 +103,12 @@ am__installdirs = "$(DESTDIR)$(alsadir)" "$(DESTDIR)$(sounddir)"
 DATA = $(alsa_DATA) $(sound_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -127,6 +151,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -200,6 +225,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -240,7 +266,7 @@ EXTRA_DIST = \
 all: all-am
 
 .SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -265,15 +291,18 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 install-alsaDATA: $(alsa_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(alsadir)" || $(MKDIR_P) "$(DESTDIR)$(alsadir)"
        @list='$(alsa_DATA)'; test -n "$(alsadir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(alsadir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(alsadir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -290,8 +319,11 @@ uninstall-alsaDATA:
        dir='$(DESTDIR)$(alsadir)'; $(am__uninstall_files_from_dir)
 install-soundDATA: $(sound_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(sounddir)" || $(MKDIR_P) "$(DESTDIR)$(sounddir)"
        @list='$(sound_DATA)'; test -n "$(sounddir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(sounddir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(sounddir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -312,6 +344,8 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
+cscope cscopelist:
+
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
index 6ef0814..add6b21 100644 (file)
 .  fi
 .  PP
 ..
-.TH SPEAKER\-TEST 1 "April 2nd, 2011" speaker-test
+.TH SPEAKER\-TEST 1 "April 2nd, 2011" speaker\-test
 .SH NAME
-speaker\-test \- command-line speaker test tone generator for ALSA 
+speaker\-test \- command\-line speaker test tone generator for ALSA
 .SH SYNOPSIS
 .B speaker\-test [\-options]
 
 .SH DESCRIPTION
 \fBspeaker\-test\fP generates a tone that can be used to test the speakers of a computer.
 
-\fBspeaker-test\fP by default will test the \fIdefault\fP device. If you
+\fBspeaker\-test\fP by default will test the \fIdefault\fP device. If you
 want to test another sound device you will have first to get a list of
 all of the sound cards in your system and the devices associated with
 those cards. Notice that there might be for example, one device for
 analog sound, one for digital sound and one for HDMI sound.
-To get the list of available cards and devices you can run \fBaplay -L\fR.
+To get the list of available cards and devices you can run \fBaplay \-L\fR.
 
 .P \fBaplay\fR's output will be similar to this one:
 
 .nf
-$ aplay -L
+$ aplay \-L
 null
     Discard all samples (playback) or generate zero samples (capture)
 default:CARD=ICH5
@@ -47,8 +47,8 @@ surround40:CARD=ICH5,DEV=0
 
 .P Each of the devices is listed in the beginning of the definition so,
 in the above example, there are four devices listed: null, default, front
-and surround40. So, if you want to test the last device you can 
-run \fBspeaker-test -Dsurround40:ICH5 -c 6\fR. The \fB-c\fR option will
+and surround40. So, if you want to test the last device you can
+run \fBspeaker\-test \-Dsurround40:ICH5 \-c 6\fR. The \fB\-c\fR option will
 indicate that the six audio channels in the device have to be tested.
 
 
@@ -86,7 +86,7 @@ When 0 is given, the periods given by \fB\-P\fP option is used.
 The default value is 0.
 
 .TP
-\fB\-P\fP | \fB\-\-nperiods\fP \fPERIODS\fP
+\fB\-P\fP | \fB\-\-nperiods\fP \fIPERIODS\fP
 Use number of periods.  The default value is 4.
 
 .TP
@@ -106,7 +106,7 @@ Pink noise is perceptually uniform noise -- that is, it sounds like every freque
 You can pass the number from 1 to 3 as a backward compatibility.
 
 .TP
-\fB\-l\fP | \fB\-\-nloops\fP \fBCOUNT\fP
+\fB\-l\fP | \fB\-\-nloops\fP \fICOUNT\fP
 
 Specifies the number of loops.  Zero means to run infinitely.
 
@@ -114,7 +114,7 @@ When \fB\-s\fP option below with a valid channel is given, \fBspeaker\-test\fP w
 always a single-shot without looping.
 
 .TP
-\fB\-s\fP | \fB\-\-speaker\fP \fBCHANNEL\fP
+\fB\-s\fP | \fB\-\-speaker\fP \fICHANNEL\fP
 Do a single-shot speaker test for the given channel.  The channel number starts from 1.
 The channel number corresponds to left, right, rear-left, rear-right, center, LFE,
 side-left, side-right, and so on.
@@ -123,47 +123,60 @@ For example, when 1 is passed, it tests the left channel only once rather than b
 with looping.
 
 .TP
-\fB\-w\fP | \fB\-\-wavfile\fP
+\fB\-w\fP | \fB\-\-wavfile\fP \fIFILE\fP
 Use the given WAV file for the playback instead of pre-defined WAV files.
 
 .TP
-\fB\-W\fP | \fB\-\-wavdir\fP
+\fB\-W\fP | \fB\-\-wavdir\fP \fIDIRECTORY\fP
 Specify the directory containing WAV files for playback.
 The default path is \fI/usr/share/sounds/alsa\fP.
 
+.TP
+\fB\-m\fP | \fB\-\-chmap\fP \fIMAP\fP
+Pass the channel map to override.
+If the playback in a specific channel order or channel positions is
+required, pass the channel position strings to this option.
+
+.TP
+\fB\-X\fP | \fB\-\-force-frequency\fP
+Allow supplied \fIFREQ\fP to be outside the default range of 30-8000Hz. A minimum of 1Hz is still enforced.
 
 .SH USAGE EXAMPLES
 
 Produce stereo sound from one stereo jack:
 .EX
-  speaker-test -Dplug:front -c2
+  speaker\-test \-Dplug:front \-c2
 .EE
 
 Produce 4 speaker sound from two stereo jacks:
 .EX
-  speaker-test -Dplug:surround40 -c4
+  speaker\-test \-Dplug:surround40 \-c4
 .EE
 
 Produce 5.1 speaker sound from three stereo jacks:
 .EX
-  speaker-test -Dplug:surround51 -c6
+  speaker\-test \-Dplug:surround51 \-c6
 .EE
 
 To send a nice low 75Hz tone to the Woofer and then exit without touching any other speakers:
 .EX
-  speaker-test -Dplug:surround51 -c6 -s1 -f75
+  speaker\-test \-Dplug:surround51 \-c6 \-s1 \-f75
 .EE
 
-To do a 2-speaker test using the spdif (coax or optical) output:
+To do a 2\-speaker test using the spdif (coax or optical) output:
 .EX
-  speaker-test -Dplug:spdif -c2
+  speaker\-test \-Dplug:spdif \-c2
 .EE
 
+Play in the order of front\-right and front-left from the front PCM
+.EX
+  speaker\-test \-Dplug:front \-c2 \-mFR,FL
+.EE
 
 .SH SEE ALSO
 .BR aplay(1)
 
 .SH AUTHOR
-The speaker-test program was written by James Courtier-Dutton.
+The speaker\-test program was written by James Courtier-Dutton.
 Pink noise support was added by Nathan Hurst.
 Further extensions by Takashi Iwai.
index 3029110..61396f2 100644 (file)
@@ -45,6 +45,7 @@
 #include <inttypes.h>
 #include <ctype.h>
 #include <byteswap.h>
+#include <signal.h>
 
 #define ALSA_PCM_NEW_HW_PARAMS_API
 #define ALSA_PCM_NEW_SW_PARAMS_API
 #include <locale.h>
 #endif
 
+#ifdef SND_CHMAP_API_VERSION
+#define CONFIG_SUPPORT_CHMAP   1
+#endif
+
 enum {
   TEST_PINK_NOISE = 1,
   TEST_SINE,
@@ -83,6 +88,8 @@ enum {
 #define BE_INT(v)              (v)
 #endif
 
+#define ARRAY_SIZE(x) (int)(sizeof(x)/sizeof(x[0]))
+
 static char              *device      = "default";       /* playback device */
 static snd_pcm_format_t   format      = SND_PCM_FORMAT_S16; /* sample format */
 static unsigned int       rate        = 48000;             /* stream rate */
@@ -99,6 +106,15 @@ static snd_pcm_uframes_t  period_size;
 static const char *given_test_wav_file = NULL;
 static char *wav_file_dir = SOUNDSDIR;
 static int debug = 0;
+static int force_frequency = 0;
+static int in_aborting = 0;
+static snd_pcm_t *pcm_handle = NULL;
+
+#ifdef CONFIG_SUPPORT_CHMAP
+static snd_pcm_chmap_t *channel_map;
+static int channel_map_set;
+static unsigned int *ordered_channels;
+#endif
 
 static const char *const channel_name[MAX_CHANNELS] = {
   /*  0 */ N_("Front Left"),
@@ -143,6 +159,125 @@ static const int  channels8[] = {
   6, /* Side Left   */
   5, /* LFE         */
 };
+
+#ifdef CONFIG_SUPPORT_CHMAP
+/* circular clockwise and bottom-to-top order */
+static const int channel_order[] = {
+  [SND_CHMAP_FLW]  =  10,
+  [SND_CHMAP_FL]   =  20,
+  [SND_CHMAP_TFL]  =  30,
+  [SND_CHMAP_FLC]  =  40,
+  [SND_CHMAP_TFLC] =  50,
+  [SND_CHMAP_FC]   =  60,
+  [SND_CHMAP_TFC]  =  70,
+  [SND_CHMAP_FRC]  =  80,
+  [SND_CHMAP_TFRC] =  90,
+  [SND_CHMAP_FR]   = 100,
+  [SND_CHMAP_TFR]  = 110,
+  [SND_CHMAP_FRW]  = 120,
+  [SND_CHMAP_SR]   = 130,
+  [SND_CHMAP_TSR]  = 140,
+  [SND_CHMAP_RR]   = 150,
+  [SND_CHMAP_TRR]  = 160,
+  [SND_CHMAP_RRC]  = 170,
+  [SND_CHMAP_RC]   = 180,
+  [SND_CHMAP_TRC]  = 190,
+  [SND_CHMAP_RLC]  = 200,
+  [SND_CHMAP_RL]   = 210,
+  [SND_CHMAP_TRL]  = 220,
+  [SND_CHMAP_SL]   = 230,
+  [SND_CHMAP_TSL]  = 240,
+  [SND_CHMAP_BC]   = 250,
+  [SND_CHMAP_TC]   = 260,
+  [SND_CHMAP_LLFE] = 270,
+  [SND_CHMAP_LFE]  = 280,
+  [SND_CHMAP_RLFE] = 290,
+  /* not in table  = 10000 */
+  [SND_CHMAP_UNKNOWN] = 20000,
+  [SND_CHMAP_NA]      = 30000,
+};
+
+static int chpos_cmp(const void *chnum1p, const void *chnum2p)
+{
+  int chnum1 = *(int *)chnum1p;
+  int chnum2 = *(int *)chnum2p;
+  int chpos1 = channel_map->pos[chnum1];
+  int chpos2 = channel_map->pos[chnum2];
+  int weight1 = 10000;
+  int weight2 = 10000;
+
+  if (chpos1 < ARRAY_SIZE(channel_order) && channel_order[chpos1])
+    weight1 = channel_order[chpos1];
+  if (chpos2 < ARRAY_SIZE(channel_order) && channel_order[chpos2])
+    weight2 = channel_order[chpos2];
+
+  if (weight1 == weight2) {
+    /* order by channel number if both have the same position (e.g. UNKNOWN)
+     * or if neither is in channel_order[] */
+    return chnum1 - chnum2;
+  }
+
+  /* order according to channel_order[] */
+  return weight1 - weight2;
+}
+
+static int *order_channels(void)
+{
+  /* create a (playback order => channel number) table with channels ordered
+   * according to channel_order[] values */
+  int i;
+  int *ordered_chs;
+
+  ordered_chs = calloc(channel_map->channels, sizeof(*ordered_chs));
+  if (!ordered_chs)
+    return NULL;
+
+  for (i = 0; i < channel_map->channels; i++)
+    ordered_chs[i] = i;
+
+  qsort(ordered_chs, channel_map->channels, sizeof(*ordered_chs), chpos_cmp);
+
+  return ordered_chs;
+}
+#endif
+
+static int get_speaker_channel(int chn)
+{
+#ifdef CONFIG_SUPPORT_CHMAP
+  if (channel_map_set || (ordered_channels && chn >= channel_map->channels))
+    return chn;
+  if (ordered_channels)
+    return ordered_channels[chn];
+#endif
+
+  switch (channels) {
+  case 4:
+    chn = channels4[chn];
+    break;
+  case 6:
+    chn = channels6[chn];
+    break;
+  case 8:
+    chn = channels8[chn];
+    break;
+  }
+
+  return chn;
+}
+
+static const char *get_channel_name(int chn)
+{
+#ifdef CONFIG_SUPPORT_CHMAP
+  if (channel_map) {
+    const char *name = NULL;
+    if (chn < channel_map->channels)
+      name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
+    return name ? name : "Unknown";
+  }
+#endif
+  return gettext(channel_name[chn]);
+}
+
 static const int       supported_formats[] = {
   SND_PCM_FORMAT_S8,
   SND_PCM_FORMAT_S16_LE,
@@ -519,6 +654,36 @@ static int set_swparams(snd_pcm_t *handle, snd_pcm_sw_params_t *swparams) {
   return 0;
 }
 
+#ifdef CONFIG_SUPPORT_CHMAP
+static int config_chmap(snd_pcm_t *handle, const char *mapstr)
+{
+  int err;
+
+  if (mapstr) {
+    channel_map = snd_pcm_chmap_parse_string(mapstr);
+    if (!channel_map) {
+      fprintf(stderr, _("Unable to parse channel map string: %s\n"), mapstr);
+      return -EINVAL;
+    }
+    err = snd_pcm_set_chmap(handle, channel_map);
+    if (err < 0) {
+      fprintf(stderr, _("Unable to set channel map: %s\n"), mapstr);
+      return err;
+    }
+    channel_map_set = 1;
+    return 0;
+  }
+
+  channel_map = snd_pcm_get_chmap(handle);
+
+  /* create a channel order table for default layouts */
+  if (channel_map)
+    ordered_channels = order_channels();
+
+  return 0;
+}
+#endif
+
 /*
  *   Underrun and suspend recovery
  */
@@ -675,8 +840,16 @@ static int setup_wav_file(int chn)
 
   if (given_test_wav_file)
     return check_wav_file(chn, given_test_wav_file);
-  else
-    return check_wav_file(chn, wavs[chn]);
+
+#ifdef CONFIG_SUPPORT_CHMAP
+  if (channel_map_set && chn < channel_map->channels) {
+    int channel = channel_map->pos[chn] - SND_CHMAP_FL;
+    if (channel >= 0 && channel < MAX_CHANNELS)
+      return check_wav_file(chn, wavs[channel]);
+  }
+#endif
+
+  return check_wav_file(chn, wavs[chn]);
 }
 
 static int read_wav(uint16_t *buf, int channel, int offset, int bufsize)
@@ -684,6 +857,9 @@ static int read_wav(uint16_t *buf, int channel, int offset, int bufsize)
   static FILE *wavfp = NULL;
   int size;
 
+  if (in_aborting)
+    return -EFAULT;
+
   if (! wav_file[channel]) {
     fprintf(stderr, _("Undefined channel %d\n"), channel);
     return -EINVAL;
@@ -728,7 +904,7 @@ static int write_buffer(snd_pcm_t *handle, uint8_t *ptr, int cptr)
 {
   int err;
 
-  while (cptr > 0) {
+  while (cptr > 0 && !in_aborting) {
 
     err = snd_pcm_writei(handle, ptr, cptr);
 
@@ -737,9 +913,9 @@ static int write_buffer(snd_pcm_t *handle, uint8_t *ptr, int cptr)
 
     if (err < 0) {
       fprintf(stderr, _("Write error: %d,%s\n"), err, snd_strerror(err));
-      if (xrun_recovery(handle, err) < 0) {
+      if ((err = xrun_recovery(handle, err)) < 0) {
        fprintf(stderr, _("xrun_recovery failed: %d,%s\n"), err, snd_strerror(err));
-       return -1;
+       return err;
       }
       break;   /* skip one period */
     }
@@ -760,13 +936,13 @@ static int write_loop(snd_pcm_t *handle, int channel, int periods, uint8_t *fram
   if (test_type == TEST_WAV) {
     int bufsize = snd_pcm_frames_to_bytes(handle, period_size);
     n = 0;
-    while ((err = read_wav((uint16_t *)frames, channel, n, bufsize)) > 0) {
+    while ((err = read_wav((uint16_t *)frames, channel, n, bufsize)) > 0 && !in_aborting) {
       n += err;
       if ((err = write_buffer(handle, frames,
                              snd_pcm_bytes_to_frames(handle, err * channels))) < 0)
        break;
     }
-    if (buffer_size > n) {
+    if (buffer_size > n && !in_aborting) {
       snd_pcm_drain(handle);
       snd_pcm_prepare(handle);
     }
@@ -777,7 +953,7 @@ static int write_loop(snd_pcm_t *handle, int channel, int periods, uint8_t *fram
   if (periods <= 0)
     periods = 1;
 
-  for(n = 0; n < periods; n++) {
+  for(n = 0; n < periods && !in_aborting; n++) {
     if (test_type == TEST_PINK_NOISE)
       generate_pink_noise(frames, channel, period_size);
     else if (test_type == TEST_PATTERN)
@@ -788,13 +964,37 @@ static int write_loop(snd_pcm_t *handle, int channel, int periods, uint8_t *fram
     if ((err = write_buffer(handle, frames, period_size)) < 0)
       return err;
   }
-  if (buffer_size > n * period_size) {
+  if (buffer_size > n * period_size && !in_aborting) {
     snd_pcm_drain(handle);
     snd_pcm_prepare(handle);
   }
   return 0;
 }
 
+static int prg_exit(int code)
+{
+  if (pcm_handle)
+    snd_pcm_close(pcm_handle);
+  exit(code);
+  return code;
+}
+
+static void signal_handler(int sig)
+{
+  if (in_aborting)
+    return;
+
+  in_aborting = 1;
+
+  if (pcm_handle)
+    snd_pcm_abort(pcm_handle);
+  if (sig == SIGABRT) {
+    pcm_handle = NULL;
+    prg_exit(EXIT_FAILURE);
+  }
+  signal(sig, signal_handler);
+}
+
 static void help(void)
 {
   const int *fmt;
@@ -815,6 +1015,8 @@ static void help(void)
           "-s,--speaker        single speaker test. Values 1=Left, 2=right, etc\n"
           "-w,--wavfile        Use the given WAV file as a test sound\n"
           "-W,--wavdir Specify the directory containing WAV files\n"
+          "-m,--chmap  Specify the channel map to override\n"
+          "-X,--force-frequency        force frequencies outside the 30-8000hz range\n"
           "\n"));
   printf(_("Recognized sample formats are:"));
   for (fmt = supported_formats; *fmt >= 0; fmt++) {
@@ -837,6 +1039,9 @@ int main(int argc, char *argv[]) {
   double               time1,time2,time3;
   unsigned int         n, nloops;
   struct   timeval     tv1,tv2;
+#ifdef CONFIG_SUPPORT_CHMAP
+  const char *chmap = NULL;
+#endif
 
   static const struct option long_option[] = {
     {"help",      0, NULL, 'h'},
@@ -854,6 +1059,10 @@ int main(int argc, char *argv[]) {
     {"wavfile",   1, NULL, 'w'},
     {"wavdir",    1, NULL, 'W'},
     {"debug",    0, NULL, 'd'},
+    {"force-frequency",          0, NULL, 'X'},
+#ifdef CONFIG_SUPPORT_CHMAP
+    {"chmap",    1, NULL, 'm'},
+#endif
     {NULL,        0, NULL, 0  },
   };
 
@@ -872,7 +1081,11 @@ int main(int argc, char *argv[]) {
   while (1) {
     int c;
     
-    if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d", long_option, NULL)) < 0)
+    if ((c = getopt_long(argc, argv, "hD:r:c:f:F:b:p:P:t:l:s:w:W:d:X"
+#ifdef CONFIG_SUPPORT_CHMAP
+                        "m:"
+#endif
+                        , long_option, NULL)) < 0)
       break;
     
     switch (c) {
@@ -895,7 +1108,7 @@ int main(int argc, char *argv[]) {
     case 'r':
       rate = atoi(optarg);
       rate = rate < 4000 ? 4000 : rate;
-      rate = rate > 196000 ? 196000 : rate;
+      rate = rate > 384000 ? 384000 : rate;
       break;
     case 'c':
       channels = atoi(optarg);
@@ -904,8 +1117,6 @@ int main(int argc, char *argv[]) {
       break;
     case 'f':
       freq = atof(optarg);
-      freq = freq < 30.0 ? 30.0 : freq;
-      freq = freq > 5000.0 ? 5000.0 : freq;
       break;
     case 'b':
       buffer_time = atoi(optarg);
@@ -963,6 +1174,14 @@ int main(int argc, char *argv[]) {
     case 'd':
       debug = 1;
       break;
+    case 'X':
+      force_frequency = 1;
+      break;
+#ifdef CONFIG_SUPPORT_CHMAP
+    case 'm':
+      chmap = optarg;
+      break;
+#endif
     default:
       fprintf(stderr, _("Unknown option '%c'\n"), c);
       exit(EXIT_FAILURE);
@@ -975,6 +1194,13 @@ int main(int argc, char *argv[]) {
     exit(EXIT_SUCCESS);
   }
 
+  if (!force_frequency) {
+    freq = freq < 30.0 ? 30.0 : freq;
+    freq = freq > 8000.0 ? 8000.0 : freq;
+  } else {
+    freq = freq < 1.0 ? 1.0 : freq;
+  }
+
   if (test_type == TEST_WAV)
     format = SND_PCM_FORMAT_S16_LE; /* fixed format */
 
@@ -993,21 +1219,31 @@ int main(int argc, char *argv[]) {
 
   }
 
+  signal(SIGINT, signal_handler);
+  signal(SIGTERM, signal_handler);
+  signal(SIGABRT, signal_handler);
+
   if ((err = snd_pcm_open(&handle, device, SND_PCM_STREAM_PLAYBACK, 0)) < 0) {
     printf(_("Playback open error: %d,%s\n"), err,snd_strerror(err));
-    exit(EXIT_FAILURE);
+    prg_exit(EXIT_FAILURE);
   }
+  pcm_handle = handle;
 
   if ((err = set_hwparams(handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0) {
     printf(_("Setting of hwparams failed: %s\n"), snd_strerror(err));
-    snd_pcm_close(handle);
-    exit(EXIT_FAILURE);
+    prg_exit(EXIT_FAILURE);
   }
   if ((err = set_swparams(handle, swparams)) < 0) {
     printf(_("Setting of swparams failed: %s\n"), snd_strerror(err));
-    snd_pcm_close(handle);
-    exit(EXIT_FAILURE);
+    prg_exit(EXIT_FAILURE);
   }
+
+#ifdef CONFIG_SUPPORT_CHMAP
+  err = config_chmap(handle, chmap);
+  if (err < 0)
+    prg_exit(EXIT_FAILURE);
+#endif
+
   if (debug) {
     snd_output_t *log;
     err = snd_output_stdio_attach(&log, stderr, 0);
@@ -1023,40 +1259,30 @@ int main(int argc, char *argv[]) {
   
   if (frames == NULL) {
     fprintf(stderr, _("No enough memory\n"));
-    exit(EXIT_FAILURE);
+    prg_exit(EXIT_FAILURE);
   }
+
   if (speaker==0) {
 
     if (test_type == TEST_WAV) {
       for (chn = 0; chn < channels; chn++) {
-       if (setup_wav_file(chn) < 0)
-         exit(EXIT_FAILURE);
+       if (setup_wav_file(get_speaker_channel(chn)) < 0)
+         prg_exit(EXIT_FAILURE);
       }
     }
 
-    for (n = 0; ! nloops || n < nloops; n++) {
+    for (n = 0; (! nloops || n < nloops) && !in_aborting; n++) {
 
       gettimeofday(&tv1, NULL);
       for(chn = 0; chn < channels; chn++) {
-       int channel=chn;
-       if (channels == 4) {
-           channel=channels4[chn];
-       }
-       if (channels == 6) {
-           channel=channels6[chn];
-       }
-       if (channels == 8) {
-           channel=channels8[chn];
-       }
-        printf(" %d - %s\n", channel, gettext(channel_name[channel]));
+       int channel = get_speaker_channel(chn);
+        printf(" %d - %s\n", channel, get_channel_name(channel));
 
         err = write_loop(handle, channel, ((rate*3)/period_size), frames);
 
         if (err < 0) {
           fprintf(stderr, _("Transfer failed: %s\n"), snd_strerror(err));
-          free(frames);
-          snd_pcm_close(handle);
-          exit(EXIT_SUCCESS);
+          prg_exit(EXIT_SUCCESS);
         }
       }
       gettimeofday(&tv2, NULL);
@@ -1066,13 +1292,15 @@ int main(int argc, char *argv[]) {
       printf(_("Time per period = %lf\n"), time3 );
     }
   } else {
+    chn = get_speaker_channel(speaker - 1);
+
     if (test_type == TEST_WAV) {
-      if (setup_wav_file(speaker - 1) < 0)
-       exit(EXIT_FAILURE);
+      if (setup_wav_file(chn) < 0)
+       prg_exit(EXIT_FAILURE);
     }
 
-    printf("  - %s\n", gettext(channel_name[speaker-1]));
-    err = write_loop(handle, speaker-1, ((rate*5)/period_size), frames);
+    printf("  - %s\n", get_channel_name(chn));
+    err = write_loop(handle, chn, ((rate*5)/period_size), frames);
 
     if (err < 0) {
       fprintf(stderr, _("Transfer failed: %s\n"), snd_strerror(err));
@@ -1081,7 +1309,9 @@ int main(int argc, char *argv[]) {
 
 
   free(frames);
-  snd_pcm_close(handle);
+#ifdef CONFIG_SUPPORT_CHMAP
+  free(ordered_channels);
+#endif
 
-  exit(EXIT_SUCCESS);
+  return prg_exit(EXIT_SUCCESS);
 }
index 4ad4899..f5efbb1 100644 (file)
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -42,7 +58,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
        $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
        $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
        $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
-       $(top_srcdir)/configure.in
+       $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -51,11 +67,19 @@ CONFIG_CLEAN_FILES = alsa-utils.spec
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
+ALSACTL_DAEMONSWITCH = @ALSACTL_DAEMONSWITCH@
+ALSACTL_PIDFILE_DIR = @ALSACTL_PIDFILE_DIR@
 ALSA_CFLAGS = @ALSA_CFLAGS@
 ALSA_LIBS = @ALSA_LIBS@
 AMTAR = @AMTAR@
+ASOUND_LOCK_DIR = @ASOUND_LOCK_DIR@
 ASOUND_STATE_DIR = @ASOUND_STATE_DIR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
@@ -98,6 +122,7 @@ LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
 LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MSGFMT = @MSGFMT@
@@ -171,6 +196,7 @@ localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mydatadir = @mydatadir@
 ncurses5_config = @ncurses5_config@
 ncursesw5_config = @ncursesw5_config@
 oldincludedir = @oldincludedir@
@@ -193,7 +219,7 @@ EXTRA_DIST = buildrpm
 all: all-am
 
 .SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
        @for dep in $?; do \
          case '$(am__configure_deps)' in \
            *$$dep*) \
@@ -218,9 +244,9 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure:  $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
 alsa-utils.spec: $(top_builddir)/config.status $(srcdir)/alsa-utils.spec.in
@@ -231,6 +257,8 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
+cscope cscopelist:
+
 
 distdir: $(DISTFILES)
        @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \