From 5664ab795f63ff27c196b0a4553b80fe7e78aba3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?K=C3=A9vin=20THIERRY?= Date: Thu, 13 Nov 2014 14:06:15 +0100 Subject: [PATCH] Imported Upstream version 1.0.28 --- Makefile.am | 2 +- Makefile.in | 203 ++++++++------- aclocal.m4 | 373 ++++++++++++++++----------- alsaconf/Makefile.in | 159 +++++++----- alsaconf/alsaconf.in | 12 +- alsactl/90-alsa-restore.rules | 2 - alsactl/90-alsa-restore.rules.in | 10 +- alsactl/Makefile.am | 41 ++- alsactl/Makefile.in | 351 ++++++++++++++++--------- alsactl/alsa-restore.service.in | 8 +- alsactl/alsa-state.service.in | 17 ++ alsactl/alsa-store.service.in | 6 + alsactl/alsactl.1 | 61 ++++- alsactl/alsactl.c | 315 +++++++++++++++++++---- alsactl/alsactl.h | 79 ++---- alsactl/daemon.c | 458 +++++++++++++++++++++++++++++++++ alsactl/init/Makefile.am | 2 +- alsactl/init/Makefile.in | 51 +++- alsactl/init/ca0106 | 31 +++ alsactl/lock.c | 116 +++++++++ alsactl/monitor.c | 145 +++++++++++ alsactl/state.c | 95 +++++-- alsactl/utils.c | 77 ++++++ alsaloop/Makefile.am | 2 +- alsaloop/Makefile.in | 88 +++++-- alsaloop/alsaloop.1 | 54 ++-- alsaloop/alsaloop.c | 29 ++- alsaloop/pcmjob.c | 15 +- alsamixer/Makefile.am | 2 +- alsamixer/Makefile.in | 345 ++++++++++++++++++++++--- alsamixer/cli.c | 3 + alsamixer/mainloop.c | 9 +- alsamixer/mixer_display.c | 1 - alsamixer/mixer_widget.c | 20 +- alsamixer/mixer_widget.h | 1 + alsaucm/Makefile.am | 4 +- alsaucm/Makefile.in | 68 ++++- amidi/Makefile.am | 2 +- amidi/Makefile.in | 89 +++++-- amidi/amidi.1 | 4 +- amixer/Makefile.am | 2 +- amixer/Makefile.in | 88 +++++-- amixer/amixer.1 | 10 +- amixer/amixer.c | 335 +++++------------------- aplay/Makefile.am | 2 +- aplay/Makefile.in | 88 +++++-- aplay/aplay.1 | 39 ++- aplay/aplay.c | 350 +++++++++++++++++++------ aplay/arecord.1 | 39 ++- aplay/formats.h | 7 + config.guess | 18 +- config.sub | 28 +- configure | 539 ++++++++++++++++++++++++--------------- configure.in => configure.ac | 40 ++- depcomp | 125 +++++---- gitcompile | 4 +- iecset/Makefile.am | 2 +- iecset/Makefile.in | 89 +++++-- iecset/iecbits.c | 2 +- include/Makefile.am | 4 +- include/Makefile.in | 68 ++++- include/aconfig.h.in | 7 +- include/version.h | 4 +- install-sh | 14 +- m4/Makefile.in | 44 +++- missing | 99 ++++--- po/Makevars | 12 + po/alsa-utils.pot | 470 ++++++++++++++++++---------------- po/de.gmo | Bin 26692 -> 24863 bytes po/de.po | 489 ++++++++++++++++++----------------- po/fr.gmo | Bin 25326 -> 23428 bytes po/fr.po | 489 ++++++++++++++++++----------------- po/ja.gmo | Bin 24688 -> 22617 bytes po/ja.po | 488 ++++++++++++++++++----------------- seq/Makefile.in | 147 ++++++----- seq/aconnect/Makefile.am | 2 +- seq/aconnect/Makefile.in | 89 +++++-- seq/aconnect/aconnect.c | 1 + seq/aplaymidi/Makefile.am | 2 +- seq/aplaymidi/Makefile.in | 89 +++++-- seq/aseqdump/Makefile.am | 2 +- seq/aseqdump/Makefile.in | 89 +++++-- seq/aseqnet/Makefile.am | 2 +- seq/aseqnet/Makefile.in | 89 +++++-- seq/aseqnet/aseqnet.c | 2 +- speaker-test/Makefile.am | 2 +- speaker-test/Makefile.in | 182 +++++++------ speaker-test/samples/Makefile.in | 54 +++- speaker-test/speaker-test.1 | 51 ++-- speaker-test/speaker-test.c | 314 ++++++++++++++++++++--- utils/Makefile.in | 44 +++- 91 files changed, 5716 insertions(+), 2790 deletions(-) delete mode 100644 alsactl/90-alsa-restore.rules create mode 100644 alsactl/alsa-state.service.in create mode 100644 alsactl/daemon.c create mode 100644 alsactl/init/ca0106 create mode 100644 alsactl/lock.c create mode 100644 alsactl/monitor.c rename configure.in => configure.ac (89%) diff --git a/Makefile.am b/Makefile.am index 5d5c38e..794ed27 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES=-I$(top_srcdir)/include +AM_CPPFLAGS=-I$(top_srcdir)/include SUBDIRS = include alsactl alsaucm utils m4 po if ALSAMIXER diff --git a/Makefile.in b/Makefile.in index 5c43466..eadeb26 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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. @@ -15,6 +14,23 @@ @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 diff --git a/aclocal.m4 b/aclocal.m4 index 7d09f21..2d6f36a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -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. @@ -14,11 +13,11 @@ 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 @@ -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: +# +# +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 diff --git a/alsaconf/Makefile.in b/alsaconf/Makefile.in index a3910ce..893ebb3 100644 --- a/alsaconf/Makefile.in +++ b/alsaconf/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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: diff --git a/alsaconf/alsaconf.in b/alsaconf/alsaconf.in index 5c23787..3d6adca 100644 --- a/alsaconf/alsaconf.in +++ b/alsaconf/alsaconf.in @@ -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 index 51ee299..0000000 --- a/alsactl/90-alsa-restore.rules +++ /dev/null @@ -1,2 +0,0 @@ -ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS=="card*", \ - RUN+="/usr/sbin/alsactl restore $attr{number}" diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in index 0bcee5b..c0c1b23 100644 --- a/alsactl/90-alsa-restore.rules.in +++ b/alsactl/90-alsa-restore.rules.in @@ -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" diff --git a/alsactl/Makefile.am b/alsactl/Makefile.am index c434e44..47f06e9 100644 --- a/alsactl/Makefile.am +++ b/alsactl/Makefile.am @@ -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 diff --git a/alsactl/Makefile.in b/alsactl/Makefile.in index 1f0c9c7..d9aba92 100644 --- a/alsactl/Makefile.in +++ b/alsactl/Makefile.in @@ -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. @@ -18,6 +17,23 @@ 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) diff --git a/alsactl/alsa-restore.service.in b/alsactl/alsa-restore.service.in index e97d196..245a439 100644 --- a/alsactl/alsa-restore.service.in +++ b/alsactl/alsa-restore.service.in @@ -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 index 0000000..56c12c1 --- /dev/null +++ b/alsactl/alsa-state.service.in @@ -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 diff --git a/alsactl/alsa-store.service.in b/alsactl/alsa-store.service.in index 0e2823c..f1a56bb 100644 --- a/alsactl/alsa-store.service.in +++ b/alsactl/alsa-store.service.in @@ -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 diff --git a/alsactl/alsactl.1 b/alsactl/alsactl.1 index 054f511..c515fdd 100644 --- a/alsactl/alsactl.1 +++ b/alsactl/alsactl.1 @@ -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] +\fBalsactl\fP \fImonitor\fP + .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 diff --git a/alsactl/alsactl.c b/alsactl/alsactl.c index 1792747..bcbc187 100644 --- a/alsactl/alsactl.c +++ b/alsactl/alsactl.c @@ -27,67 +27,150 @@ #include #include #include +#include +#include #include #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 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 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 save current driver setup for one or each soundcards\n"); - printf(" to configuration file\n"); - printf(" restore load current driver setup for one or each soundcards\n"); - printf(" from configuration file\n"); - printf(" init 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, ""); + else if (sarg & KILLCMD) + strcat(buf, ""); + 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; } diff --git a/alsactl/alsactl.h b/alsactl/alsactl.h index be90efb..76e8c36 100644 --- a/alsactl/alsactl.h +++ b/alsactl/alsactl.h @@ -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 index 0000000..127701e --- /dev/null +++ b/alsactl/daemon.c @@ -0,0 +1,458 @@ +/* + * Advanced Linux Sound Architecture Control Program + * Copyright (c) by Jaroslav Kysela + * + * + * 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 +#include +#include +#include +#include +#include +#include +#include +#include +#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; +} diff --git a/alsactl/init/Makefile.am b/alsactl/init/Makefile.am index 9e2b83d..64dac41 100644 --- a/alsactl/init/Makefile.am +++ b/alsactl/init/Makefile.am @@ -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) diff --git a/alsactl/init/Makefile.in b/alsactl/init/Makefile.in index a29e90a..d09d7e7 100644 --- a/alsactl/init/Makefile.in +++ b/alsactl/init/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 index 0000000..7afd4df --- /dev/null +++ b/alsactl/init/ca0106 @@ -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 index 0000000..6f85f20 --- /dev/null +++ b/alsactl/lock.c @@ -0,0 +1,116 @@ +/* + * Advanced Linux Sound Architecture Control Program + * Copyright (c) by Jaroslav Kysela + * + * + * 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 +#include +#include +#include +#include +#include +#include +#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 index 0000000..536176d --- /dev/null +++ b/alsactl/monitor.c @@ -0,0 +1,145 @@ +/* + * Advanced Linux Sound Architecture Control Program + * Copyright (c) by Takashi Iwai + * + * 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 +#include + +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; +} diff --git a/alsactl/state.c b/alsactl/state.c index fec000d..c33f501 100644 --- a/alsactl/state.c +++ b/alsactl/state.c @@ -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; } diff --git a/alsactl/utils.c b/alsactl/utils.c index a27eb6e..b5d183c 100644 --- a/alsactl/utils.c +++ b/alsactl/utils.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -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); + } +} diff --git a/alsaloop/Makefile.am b/alsaloop/Makefile.am index a694911..4cdf20b 100644 --- a/alsaloop/Makefile.am +++ b/alsaloop/Makefile.am @@ -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 diff --git a/alsaloop/Makefile.in b/alsaloop/Makefile.in index b9a974e..42c72bf 100644 --- a/alsaloop/Makefile.in +++ b/alsaloop/Makefile.in @@ -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. @@ -17,6 +16,23 @@ 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 \ diff --git a/alsaloop/alsaloop.1 b/alsaloop/alsaloop.1 index 048d1e0..33fa4d1 100644 --- a/alsaloop/alsaloop.1 +++ b/alsaloop/alsaloop.1 @@ -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 \fP | \fI\-\-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 \fP | \fI\-\-samplerate=\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 \fP | \fI\-\-buffer=\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 \fP | \fI\-\-sync=\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 \fP | \fI\-\-thread=\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 \fP | \fI\-\-ossmixer=\fP diff --git a/alsaloop/alsaloop.c b/alsaloop/alsaloop.c index 8710dd1..3b20682 100644 --- a/alsaloop/alsaloop.c +++ b/alsaloop/alsaloop.c @@ -31,7 +31,7 @@ #include #include #include -#include +#include #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); diff --git a/alsaloop/pcmjob.c b/alsaloop/pcmjob.c index 139b6fd..f32180c 100644 --- a/alsaloop/pcmjob.c +++ b/alsaloop/pcmjob.c @@ -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); } diff --git a/alsamixer/Makefile.am b/alsamixer/Makefile.am index 8a82323..259b29e 100644 --- a/alsamixer/Makefile.am +++ b/alsamixer/Makefile.am @@ -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 diff --git a/alsamixer/Makefile.in b/alsamixer/Makefile.in index 0c3cc5a..74be5a3 100644 --- a/alsamixer/Makefile.in +++ b/alsamixer/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 \ diff --git a/alsamixer/cli.c b/alsamixer/cli.c index bb4f030..3f8f52f 100644 --- a/alsamixer/cli.c +++ b/alsamixer/cli.c @@ -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); diff --git a/alsamixer/mainloop.c b/alsamixer/mainloop.c index dbfef9b..351f57f 100644 --- a/alsamixer/mainloop.c +++ b/alsamixer/mainloop.c @@ -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); } diff --git a/alsamixer/mixer_display.c b/alsamixer/mixer_display.c index 8ba396a..b1f79d0 100644 --- a/alsamixer/mixer_display.c +++ b/alsamixer/mixer_display.c @@ -657,7 +657,6 @@ void display_controls(void) display_no_controls(); } display_scroll_indicators(); - controls_changed = FALSE; } void compute_controls_layout(void) diff --git a/alsamixer/mixer_widget.c b/alsamixer/mixer_widget.c index caaf777..0c2b9e0 100644 --- a/alsamixer/mixer_widget.c +++ b/alsamixer/mixer_widget.c @@ -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; } diff --git a/alsamixer/mixer_widget.h b/alsamixer/mixer_widget.h index da8628e..086611c 100644 --- a/alsamixer/mixer_widget.h +++ b/alsamixer/mixer_widget.h @@ -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); diff --git a/alsaucm/Makefile.am b/alsaucm/Makefile.am index 4eba677..c180d4a 100644 --- a/alsaucm/Makefile.am +++ b/alsaucm/Makefile.am @@ -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 diff --git a/alsaucm/Makefile.in b/alsaucm/Makefile.in index 20ed8e7..c4e10f4 100644 --- a/alsaucm/Makefile.in +++ b/alsaucm/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 \ diff --git a/amidi/Makefile.am b/amidi/Makefile.am index 0b31a67..0b91685 100644 --- a/amidi/Makefile.am +++ b/amidi/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir)/include +AM_CPPFLAGS = -I$(top_srcdir)/include EXTRA_DIST = amidi.1 bin_PROGRAMS = amidi diff --git a/amidi/Makefile.in b/amidi/Makefile.in index 1f271ab..9b056d3 100644 --- a/amidi/Makefile.in +++ b/amidi/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 \ diff --git a/amidi/amidi.1 b/amidi/amidi.1 index c58d65c..1b4cfb1 100644 --- a/amidi/amidi.1 +++ b/amidi/amidi.1 @@ -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 diff --git a/amixer/Makefile.am b/amixer/Makefile.am index ba67a57..0343c8e 100644 --- a/amixer/Makefile.am +++ b/amixer/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir)/include +AM_CPPFLAGS = -I$(top_srcdir)/include LDADD = -lm # LDFLAGS = -static # CFLAGS += -g -Wall diff --git a/amixer/Makefile.in b/amixer/Makefile.in index cdeeb83..2474264 100644 --- a/amixer/Makefile.in +++ b/amixer/Makefile.in @@ -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. @@ -17,6 +16,23 @@ 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 \ diff --git a/amixer/amixer.1 b/amixer/amixer.1 index 3ed20a9..76007d2 100644 --- a/amixer/amixer.1 +++ b/amixer/amixer.1 @@ -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 diff --git a/amixer/amixer.c b/amixer/amixer.c index a0a7387..cf82892 100644 --- a/amixer/amixer.c +++ b/amixer/amixer.c @@ -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=,][name='name',][index=,][device=,][subdevice=]]|[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) diff --git a/aplay/Makefile.am b/aplay/Makefile.am index 92323d1..c3256e9 100644 --- a/aplay/Makefile.am +++ b/aplay/Makefile.am @@ -1,6 +1,6 @@ LIBRT = @LIBRT@ -INCLUDES = -I$(top_srcdir)/include +AM_CPPFLAGS = -I$(top_srcdir)/include LDADD = $(LIBINTL) $(LIBRT) # debug flags diff --git a/aplay/Makefile.in b/aplay/Makefile.in index 72fc341..b11b473 100644 --- a/aplay/Makefile.in +++ b/aplay/Makefile.in @@ -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. @@ -17,6 +16,23 @@ 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 \ diff --git a/aplay/aplay.1 b/aplay/aplay.1 index bf9b53e..2945dad 100644 --- a/aplay/aplay.1 +++ b/aplay/aplay.1 @@ -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. diff --git a/aplay/aplay.c b/aplay/aplay.c index 17fa913..30d3f31 100644 --- a/aplay/aplay.c +++ b/aplay/aplay.c @@ -54,6 +54,10 @@ #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) diff --git a/aplay/arecord.1 b/aplay/arecord.1 index bf9b53e..2945dad 100644 --- a/aplay/arecord.1 +++ b/aplay/arecord.1 @@ -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. diff --git a/aplay/formats.h b/aplay/formats.h index b5314f9..ac0a2b0 100644 --- a/aplay/formats.h +++ b/aplay/formats.h @@ -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') diff --git a/config.guess b/config.guess index 49ba16f..c0adba9 100755 --- a/config.guess +++ b/config.guess @@ -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 . # # 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 diff --git a/config.sub b/config.sub index d6b6b3c..6205f84 100755 --- a/config.sub +++ b/config.sub @@ -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 . # # 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 ;; diff --git a/configure b/configure index bdc0ac3..160c06b 100755 --- 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: +# +# +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 #include -#include -#include +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 #include -#include -#include +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" || diff --git a/configure.in b/configure.ac similarity index 89% rename from configure.in rename to configure.ac index 4e69567..a4d2db3 100644 --- a/configure.in +++ b/configure.ac @@ -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 --- 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" ;; diff --git a/gitcompile b/gitcompile index 513ef72..ce293cc 100755 --- a/gitcompile +++ b/gitcompile @@ -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 diff --git a/iecset/Makefile.am b/iecset/Makefile.am index c03a7f1..8c80f90 100644 --- a/iecset/Makefile.am +++ b/iecset/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir)/include +AM_CPPFLAGS = -I$(top_srcdir)/include LDADD = -lm # LDFLAGS = -static # CFLAGS += -g -Wall diff --git a/iecset/Makefile.in b/iecset/Makefile.in index e220c86..14dba73 100644 --- a/iecset/Makefile.in +++ b/iecset/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 \ diff --git a/iecset/iecbits.c b/iecset/iecbits.c index edea932..13e8947 100644 --- a/iecset/iecbits.c +++ b/iecset/iecbits.c @@ -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: "); diff --git a/include/Makefile.am b/include/Makefile.am index 7a3968d..b447abf 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -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 diff --git a/include/Makefile.in b/include/Makefile.in index 5601030..f66449c 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 diff --git a/include/aconfig.h.in b/include/aconfig.h.in index 04e277b..0f6b081 100644 --- a/include/aconfig.h.in +++ b/include/aconfig.h.in @@ -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 @@ -124,6 +124,11 @@ /* 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 diff --git a/include/version.h b/include/version.h index 5ca5f50..76f95f8 100644 --- a/include/version.h +++ b/include/version.h @@ -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" diff --git a/install-sh b/install-sh index a9244eb..377bb86 100755 --- a/install-sh +++ b/install-sh @@ -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 diff --git a/m4/Makefile.in b/m4/Makefile.in index 8818d8d..99a1edd 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -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. @@ -15,6 +14,23 @@ @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 --- 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 , 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 ." exit $? @@ -99,8 +98,8 @@ Send bug reports to ." ;; -*) - 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 diff --git a/po/Makevars b/po/Makevars index 779d8ac..4618f48 100644 --- a/po/Makevars +++ b/po/Makevars @@ -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 = diff --git a/po/alsa-utils.pot b/po/alsa-utils.pot index 80ae0d5..2606419 100644 --- a/po/alsa-utils.pot +++ b/po/alsa-utils.pot @@ -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 \n" "Language-Team: LANGUAGE \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 " msgstr "" -#: alsamixer/mixer_widget.c:228 +#: alsamixer/mixer_widget.c:224 msgid " Clemens Ladisch " 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 "" diff --git a/po/de.gmo b/po/de.gmo index 32bcf46d520397bed0635796b0abd5d65fd6953f..ef69ef28f9605a7f3ab18a844282210be0658a54 100644 GIT binary patch delta 6437 zcmZA530PKD9>?+X$_|18Dj*0i0`8(9m{_tYn!6@axR+*;E#pR}PFGvp8f`Q+Q`|-~ z$0e(mMjI_Ftw{~jQPZr+$Vw+i9c_vnP5b`1hn{)nKKxRNOvjHg8?R#?W;8XX zGfu>=xY>FZ8yn-8#CT&`b0Z6z;V4uCGf@?7#P)a^yI?TA)bj<{0w-W|Tw;9_8<9U{ zy@+At>ruHn7=e1e8wS(98DnphVFou=Uj^x0+xg(s`4Os-PGHa0CY8 zeaI`O%=(;lyY&+c<^C1x4Qmk7tMaH6=3j|swxE@@6KX1RQB!#*W??b1oMt|%BbzV+ zw_!N$#uz++>R2_Vp&z50jjd5jx)s@fW>>1?j^r2x>@RZ~Rq;>u!5gTKgiwoKj7H_X zs0!Mk8Z1K1)JSBTn3lVHKG#a z*qCXk3KpRUm)i2>=tq7V(s%Qky?+ALfs@F#GM7;8I1w$4i6jw?>Tw!IV;-vFA*c$6 zVm&NHI&VfG%W0lMP5sNL&FDilv&QJc30Y1^dm@gVP*J|xsoIckchp?34L z*co@A8u|{^;}C9Y2_jH47mJ$u6kA@1+9Um}W#}b82i2ihP~Ve%*h1(33JFbpY#VoK zQms8u4UWSQEW=QojGCz@ZGMH#Z$Q=aHquvf0QC{QikhJSh8v907>Ehjj`mFo32ml9 zI1ncw8`tbct<@RSm+%&<=h=KkG&5sSQ@s+kS6)X=?T7aMMbu2B@)Bb-1*i|$1l0Lo zg^q4ik)Uo+LqLg)8W)QEpX?f$^q+zz$DCgh8d4Q)oCDx8mM zcoXXV9q7fwn1`3K4|eF{?uqHB^S=l+kS*x1^Zy13F9kbMpW0IxjX$AgBs9l04a3Oi zqejvX)!`BL{v)W(HV?ITDlrB>MRoWR7I>(mt9yL=-%bZ<-#kNtC45c`@IG38udi2(S4{*^^kQc@-;QHFbTJ!X6z7lz+X`HwJ&rBGzPV27TEkwOdwy4 z$#}ESu?=^3k3&z?2>K#N)D&Yr&cgwC0248mL$BvJQk#M7vbB^SASYY3*0 zpMvVp3e@`_I3zUE!x(^{qI&j)^(Hna@1<6icSpT=zx7e;{7Y7Yh8>2|OqrjgIVKpc%a zHRDmwmm}>s=4le@(PGrvRA3ywg=+8^sslfw&Tr%1?qil1@H|qCsd!B|K9!N)ZpdhMfk{u1iBJ*d<2 z9;$;UQOEKss@@>Bz8{8QJ=!HdKaM$_c2BKY`lB6{s1zfR5ItVSjh3Vo)!nqNXSlLvRpkCWcvOTGybL@^?{d zU5)KAh*rWe8`H77brPz*^%#Mh2QdHI6gw&K;@?msK95@SA21A~2f8zqg!(iWV+1~k z!T30;;#t@Z=b}bfi8`L2+48o7+$FgOTTwoF5c98wDkx}!dr;r(a~OrUP*WU5EgD%a z>bZxJKY->%TV917$X~~FY8;_k{$sI~2fYM>m|z?ufHco2wKxGb2$mH6FD&r=pf>y46`nLTmdWa>C4c)JQW* z+!scp{``(Zbz}x+<0@=`M^PiHw&e})c01A&qbQ$%n!zWr1#Urg;3#@^{%c4yrXcnn z_Y;|pd`rw-sHt0N^9NB4MU}c06rd`605t=PZ29Y0NdBa~-*lKe)dkpu^5LisOu}%T z{}m*3J~v@3?nX6q9CZr(hPxl0WK_Nz>f8@UZMtcw_ZP8aQ)#w6k}3AGeCsI?o8dT<w5D9I%Ur^`0)hM^ZOw`m4K)w}bBC-nR9aIG|qut|_j@q2PQJbs; z6L2_cs;8m82WwCr-Ddr0H1n?;-%y~bxr&+z|1s{1iP(vJ56r`9n2)$*m0KZQ~DlL~4thn}kjE(T@(K0wMNod+XBCZnJ3vUorL@LkUjt|nlX=XdHnDj0}Q>4-9RQ&J7H>37C z&hH7EW~t2z;vM1>TgJXMiPWi6aEM4DJ;mOek5h>!Y~JZe;;7B^#y&(}qASs#7(gTv z+8?1r-8F&4L?Xy`zOMXDn^=Z}iRAygKa?`j-T|ogDVHsUdVl5f^Gx`e|#-zig)Bw?h8ah)Uik z|2^@cE&t;S)zLA|EOI`gl87dB?I9Kt3A~k!xr7etT0+-o7xO%7d)HmVNh~7%ZVNW! zQ#M`4%OrLX`-xZU=F6XkbWI|>O4w^W>VQTPpAk2ROhVU-#J9v2;va;rD=xL4FD0{x zb3_>N1EK#Z97|M_zK^(D>$RN3m&6>RB@s^OdX6|!o8k{SW)QuIXev02eZ#;rti z(r54vLVq7O61p0?n0;7}$RTbK-HES>hPI6tNGFkY!uffLObE`zPz=QL#0KJRq6?8v zJWRA8Rukz&Q{pw^60wu0yFMV1Otd0?PqZU85#JDX*CQkz)A;+5*k(&Vw!V(95NUKK zfS63WfY?q9By|0bNFX{X!}Y9-Icc44eFonmG}Ehyi$n}{{uhHiL-ja(n z?RtpR)5Lqk4B}DZETJpT;~N#%&Chot;Zy_Pv3BeHe1|iadVD9cdWD2%weQ%ueMTp5 jMo!nvEMM!~LH@pNg{vcd4;NSY`A!bo>+yw*yglq!J=(41 delta 8110 zcmZYD34D~*xySJn0)d%?eHB^Wuy4Z_!fIsS1R)ZZDkw~ncQPZBH_6NdBwih=MTrn%_7sujJ z)bDcnQ9mriUbxJf#tzgUwmyfs)Za!8^ceP{f785&F)e5qgt}3HBd`>E<5tYW=W#Z^ zj>E8ZPru`dNRx?Rb6kfc(QHC>cn@lTk6;&k6Nlhw9F(Te#_?x30ckTaR7%%lK0b;1 z;bA1}<`W!@+1$*=VW3 zN~vszqp%0E{H6pokZNp&tFR@m!_K$`HL%CAFTR66#4k}xTHBZWvq8-*+|^9BA^Xql z#Af&^>cNAkfxKtyCvE*x)bGDSb=aDPR;KzR`^(HgEm^tsW>iM+MfLMknnE)QZ=o`A z1U1tW*c3lT?c%ej7dGK&Xhsfle9RQo?|*<gX7@#gnKJpTqVT7~sFSJL-i!u?hA@CT;p5+rrF6rM?PV;7zEGZbQv<8#c!mP@8uj zGN-gTYa2SSbv1)YsFY7Z{%7X%XEd%sb@Vi9!0%xIkD)U60V?%pZF}Aze~)ys7NEoZ zV$^_YFhu`m69qToEk!vYLq5h_!&Y`xUhD>0Y$+mX4MEvS#_ zUQ~t-VGBHoIrMMNP|yeAENU}#r7|B2kpp1Xp;G-AYG8*@U&eE&FJoW+C_^Qvl;45c zGdoZdd)D4Ri8?hM_{xzaGXm54k}aj6@4yCo<7H$l<|EtQo`-borlWpXhuVBQQ60UA z+LVV-8Tm8nxm><7`i>N$)_xvpf{XDQHc`!R^8Z^J-sbD0ne8a>AJ~W5Y$s5=`+dyA zGpMEb5|xo}tUVZ=>eEm&zTVbBLzL3YU1Ll!$t!X}L;G<9-EyRwv3iaGZ)O&W=_NQ})}scn88x7XuodpX&X_(xK{Ggk z>gZc*=W%|DMxs(b4wd>Dr~%GFJzt6%*iG0P??j!F?Wi?>4At>7s16UJ26hTLMQQU9 z1&4+&P$O$U-p@oY)C(tK7o3k;nked=Z$-_x9(76%U|0MYHNfl%{;BGU%Ir*3$K|Ns zSE8fyzmdX38lJ!_@GNRijJ?eNP|QWmB#O#FH9A;}`Xt|tdj6NF0lZ;7jk(mnM@=Ni z4%C3VqMjR!gX!PQprFl@K&5CacEg|JlwTi79@N(J@B1tyQCj0e?nAY0dOhLzH3wFmBQRnvQ3E-JIt6W~`%5(jwNxdjPxMl21P4*C!Jha4Dsy|Mr~TvdISqPYj~V`qu0o~s zMq7UrwIoL|AJ1W5Y&+B66Jt;lxD5FwndvwQ*Wf&S5w+<8v;5}<;8oN|q$zOE+={%@ zyoDNByV?FGn}*7eiyF{+Y=O^Wb9@Dx;jd8xd&hbXwFGV1Flrx#`rTsda%(zj3pLg{ z>#f#}sE+Q!Aa29{_$X>dhfxDKhx*X`1+`S!tdmmR1~q`;*asJ20#_r?rOl@l2Ga0X z)ClwE`l%g+In;|$$7c!VVFjwA6bA7Y)Y5FiOK>-;!vm-RoWV;m=SqJs^+FxLN!W+} z%~A@Q!CK74+b|C|+xG3K56~{uX8aX8c*3@ShZ=Y%7CH-iq6UzUO>rt}DQ4OGD^UZk zR6G5fJ1FSECs4=b7nu2wppNHh)Qi8tZ2UVm!S7MufvoxdfJS30>Pt|WiJ&r4gUav* z)CBk7VBCjkKKJG<1?}2?#ePTEU`y)DP$Rz{>C0?Ft>FpO(qyrPm8lk}=R2Y@)Efgh z8I_4S)=KN0=+OSmRpejC=qL>#{08-+ehd5$#3*YSs>98w8QzDj@lkZ}dDM)Lqt^UG z)J&U}_!(-0?Ws>k{r+myl0{3%zg}EJ!w|dyHN#!VSj?NYz1u=R6SGlE6UPB~JF3H{ zaS$FxeZv2N?XdkKKh^zE6I_6LZY>t#<7s>2k2s8m){Fg_PelE|L$yDEBk*l||9jNh zhL-r7b0%tySD-q$1J%JE)Brz2EmiIh{ET(MZET|SI0~O}Zq7bzM-KwLfarZSk@}9K$5rt0NSdSX%L#UCz zidy5ZaVX|o=eHN4mS`m^#Xm*u=0{K+A3_c6Yjm*Na{p8np}wRgs4wnn9H#UCifuTD z>S)Xg{{<1$3pb)pK|Silzr!i`E$aTnu)h=$)I`>zp1TLNnP0{Z_!f4-_fh@)4ZG97 z8Bpqfp=Mxr>ZRBX*J2KCL%m=pHp3UN2fl(@^HcVIi!%S8V%<@vVHoNdjz{g4X_$}K zp?3dTOzXk*6qM4fs5O289ee{dqfbzuP*d)&T{qN=uE4e!M=in4sG03X{q8tw)BXvy zDSNs8fUZQnZ;4C(dr?TzFcVjshD!B*)QgW; z&)W7tg+I{Fs7wq*{cdUn`7fXlqhTU$!%2A3KF}lTe-X8Ax;hj6iF=8a#Os8vKM^~L zE?KIPO&sGFGk>-7HQ;u%|H8K4i6^!GKeY`FRNI15rYppc{)tV9OKk_6DDNV)Tsw&U zL^k(+hFbFvh?fXmCkT(Yjo3=uM=U3F1>WJ0QafWyR>#iiBDHa?BUY%uRY^QX<`rTCGiJ)bFFm`K11~9xfCkD`bucm=o&@*inxPF5W3bA^~7)V^l1uBY$r1* ze@xs(t*6w;%(wZ;st`spZ_J49HJ|66|tI_MzkdiFW3hTzKN5G0A*dxe9SHQds}`LD~N-( zF18UrAr2FLh+h*Mi9uNn`KR(eaS!oFVk)ta_=`RCTBaf2=QWN^Qw z{A1z?;*@Q_9S0DdxPJxCA@twS%#}oIVm?t!6cEo7`oK0^oj9!R(@)vzU+_mnbE3D+ zMPI8P=}h@Dj1q4Vxx_a_kQh%aAg(6H5)Ts}61v{?$^3uP2+Bd;Gr_hE%(9F1y=`dV zKPhArZFsnSIQl*2eu^shxi?#>oxUX z>X%In|3+-Kb@2%iAud>G7?)?_U01!iz^=(6)qf4sGp;ro`jahZENlcN5czhU-QZ z3W@(Fma4+_XQGDqjJS@_)sh!If;STbD4#R+?{+E5F039B3RPDnQciDYypwdR%VLo= z&cdn1PNs1{d8{Iqa;g&CO00^NxsDgEbO+YwbUWEPKfEd&i-$|&Zn+bwN>qkZPBO}y z%4$zr?Ec;^f~n3-B28Lq63 z^GK!^43%=Hv^ElP6M;m`t8o0XlZ@4622`62hBBFT6X{r0d7#=&z(u! zWvQFcfNe`Kl;Xa!6{wDRD~oEAuA_qERmGC-5Z>guna1;@AEG%FEt$O7iNxY=FcjDO z<5gAZ>STcIXV$f`8*Wr5om7>hE`~V6og(HOiFvUUKTYyeyI{&r1@pGm%;Q6y#o>6Z zn{-AL&2=OEdSp=|RuQG(rpkh$)%=>FXcU1(Nq3o(in>lkY?bRd4Wo0y?2yd6oFpq% z9tjS*j|r#wn}vQennNt{dKx3u5=pykNW@NuExqn#1M$B!zkUpcClVzK6^e?tb;J%ns7Ak zRF$(HCH|%l&C6{1XD@%aZLdXM%1tCw`}d|;=^2^b5Sm=Na{t~$U9DH)dhGfo#qVaP z7rTkou2)Xm|J(f4saTb#&EL599simYi$}waL|PoVB+Htnn~p zdbNG}DY)=JWbURHuu|2T0}|iAlf>vPukC3(7CH{PiZds}_5ROO7oHBDx?uDTKWIE5 znfExE<585TN`{>U;o5YvEb4mpoHWkm{2>WVBUiD;Q^H};bwNLV)}vMN%(D7Nq}F3e zUy=>UTk!KoK85NbQaP@s>-|YtmxtMPqX9dT*l_bl1}AdzS`wsK2476rJ~_@%GGer tztHu9K{G$I5nXS~ox{4-&t7={`GfS}qVordqCH3tE^_KWTr?r~e*qA0#1Q}h diff --git a/po/de.po b/po/de.po index 76b1575..f124d04 100644 --- 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 \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 " msgstr " Jaroslav Kysela " -#: alsamixer/mixer_widget.c:228 +#: alsamixer/mixer_widget.c:224 msgid " Clemens Ladisch " msgstr " Clemens Ladisch " -#: 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" diff --git a/po/fr.gmo b/po/fr.gmo index 6f2a3c5d97abcafa5128f0c8599ebdabd08b690a..d979a1619c69e6b503eeb25e5cc2e171baccc5ea 100644 GIT binary patch delta 5796 zcmYk=34Bdg0>|<5$R0!@LP#W$AVCO;5Dh`>TiV(wHI{~=ZN})7QI`~Bn>M7h_Liw- zs!AVKYiTXD)mTz=$)IMaol#?^V&?aM_n1%b$3Ne5PTsrc+_T(#+FJ)a)3y^)qUS{OfH2~8YW^3T#Nd`1&qXyXxBJYhZ$HKhuiv0Y(jl2CgK&WfT1;v>4Md< zF%HAJxBzS6b__I*G3O`*({KSp@fzxb50EjK*qX*P#7wM@!%+i%6XS3fYDT`t1oSYC z`d%V37L$z)urHR!LS&N7OiZDF^A?3%+>WiW4E2QB%vT^jk4-Tj)zK1E2cILeZ_c5f z=r-!}m8ke*6b4`nYG8@h4%U2h^o!XPLhwWDr`CPeW7f0QOV*pHnR|$uxpGWL23A6z z!Q`R_G88M}3s?~+Altya5y$*%0843@hPzQ~mlJOcvv0bio**BYUGoy^hI3G#D?$xm zxvj6Y^)0CH??H8R9vP##i%gQKOs86!MhT8v=uCsAau}+kiKvbiqGo0(>Iv7NAAW+` zoZC=0Jcj%;*Z84bUxD@0_iLjElTq#UQA^mywvTiusN;O(;ms5b#}%j%Zo(>f1a+fQ z)F!%s~R7W0$sVOdx zDOedZu_dab0`$YTQA@BGHB+lmQ@zo)A4lzlv)20@sHt9! znvsvKC(w`jZB&Q%Q5`-;%~UX7Ry`4YYm0hebwx9$VdUXW zG_NOh+zOlFVAKGMQ8Ta)HKh+xdmxNn_^L@l{k|LOi3?FLo|UK<)Ctr~dibHKZ-7nc z-}IxPU(Du*Hi;K?NWG`rv*VD&l$ji!0ckdKt1`OgmouG9P^dKrO*~Ti=U%(jQQ#=OJcb z2=lK8%t7A_q5iH-MgE!jjhX)-3j3&O07p;*I)|0;Ch7(92=xS!Y3_|Ota+#zdJ!vN z0cw*@K@IQ?RL4tD1KWyWcnE{>tV2O-co8*_pD+aPVLXic1=kNRndI;KuD3h@+rV-8NhuDBJo<|f^JaYUj9nudD9 z78sAMP;bB?SOq6zC>Egxx(qe24XAmxW4&ti9M)zUqlb5P&kf|{{&sJ(RowUoDz$u(sdL;oi2 zDR)FYtgoX6@)2sPN|Dc+5FSTQ)PWyyScux)t5CcBE7a1Iq1Lz@XIbr`*cRJhCoDuJ z&m2KVBlNW9^^3u%5B5jiA!Z3C;{ntFZlOM(!g^@eH?g)ry_j-PpC4^qfLh9(r~zHF zUbo)QVgB`tGTRW)#{FQJwK}T91k`a!K_1SeV;sJM{#bfg>CNCd{x9)mToC29uxSRK^Ttj8EU zff~>a)b|2%-GL`L6x2a|)Uj!fTEkq_7dm4C4#Rpl9o69m)O+F(dhitL0nVTXa>usU zXzvar#@Y@w1EWv_aU2SoqUER??MKbPLF;kU+Mhx8p$Y5Y&P+Gd(hR~R9FAK1S+;#M zYL{&%k9v}q zu{Qn*>)<9-$KN2^%LH=sR@e#Y*v!Bzo&R?!Xk@1_07JXD=QRSgH1XIFQ!y9^Vj_;f z#yATD@iPpGV=YO+u>)5SUw8&F@5&tM5AW4&jXe@*$*v}*VE z!vq|U+7k;=12~4fzRkC&CyRL2J^$TNYd;p#a1N^DomdyIV-t+%W_%&<8HD{)RYfE{eBhdSe~@rKn*02_0pbbj(U(b zs7=}vHB$u+1x@`l)ReA3jr=gy!aL}XVg1}2R7F4PiKx#dTl26g^;c0ho`=D>3@hLo z+wR41>R+Pzb4n=ai>ALjHBnfFYHQRJJ&T%|aTtN?P*c7WBk??@<1K8CwFkHZ9*A1X zp{UOnVn=)rSw(XN`MzVa2D&rQ6E#I+Fcc@EHq8vwjW(k?JdGOQRjh`OYs7o{OdlIe6udYAn{Oh_!Hu*}74A+w-WDNO`Y$UpVA-jAfWB!F&3QhCNwoS0~ zzBi@H=g3!N7Wszgx=wy1dWh%L|3vaSIZU*fbUh}V5_47+t`#o6nNYFB)-PJW#qs1G zxli6DTCQzm5AoQk*iSjwmV?kUusFO*T*}{RzD+co0GdBSUDJuS-(a$V)GXdtwTh$Z zok0!~X4!X5wLW1QgEtS@L}E!dqKgyjJ2^dkHTTC3&|x_4R{3v6 z3UkRk@-;~&m&juBIeCTXI^<#=;g=-E)*s+*@(){Ih7ZZV$@{iVj3#Ns_jg4NT&0?% z-%^MoscNy;^G^!QUjxc>$igRW*y&eg6_1c%w(S6Bk~c{{`HAS5ddc62-bL3)7WobR z`%c1ae3g7h))8IhUCaP$WsDRQ!ybB7yez3n*_U9mrAAkLcLG zMw}1$kw{jP31m1~Mb?t#q#4n*g^VS6s@SWgbqFpZZ`k@|>`FS5w{2SieqqZ)t>F0H zd_Pdqn@-msT}*jKKcDh>QjYQk+rAV3OGemwMQm-$dMQ1*rr1I#o**l2{bvlYWH?SKFs47=R%}dK))!F?zmEfP zK;N)F1xHg);~?CMo$)c8iBI83?BCCrAvhaPr+wp7=*Wp1FoL&WC%hYV8> zxpjkev-LLXk5MCcA8O?GVkJI~blRLiCDPY1rYkzw1xGrJKkLO*aY6}HJ@pzFDXQ7TJ2-)>EkGFGIDn1?jZefeflSSeg&#<}FTWj@mKa z8p{5thR#GaG#528)uz(P!-7Uvq&3pXIIGIyg^{{htVf5rlQ)t-MHHHDw#?S&GS ztQsywM$3#t?ZCyT#4g32cs1%p-^2EJ3%0}CaWHO0UTJ=V8sfK+9c_-I-d{kg>R4~o z8p&5u(5jq-TJ80=z6sUP9@G%;LoL#SI2Mng8Y-jJLY#w|g88VCT80|xdVBsF)LPhV z-HDF&{}U9H(YvVaR7@61WGp`#>Sd@A@vPrMHMkws;7(M7yHO+6Z0msI_nuY10%k zT)JL{>Uj<71C&R7sD6&aY2Um;K~vCaM0nwB-l`@`n{O%K;a1rn&UsAdVJVgNV=+zK=o*zt*=8R z@&l~Ghiv@>YG_MFg^P6vs^=4s9LyrrqPz+LA{L$6v-phl=SjcLS7@)We1%TXDQ zMm;bCl~@A1VGbks4b&WOLM3uDM)6K`a0e=p-=TW`GV1x`s5Mf|3f5GVqB@qpfPxyl z1eHJ|mgDuP7wkhd^b%@6zlILBV`)#uK{yK&*b{f6w)3N?L=U4n_y#)o4(dzU`Rw5S zyct2E6DQ6=WjYI$*%DM@t56wlz=Z|;A%ki#GTs=9W&vt(ZbU7rCRAdtU=m9wg!Sw2 zRO){~mWO#A2WbEInixJq?6{KNKWSLDdD2bq89m$sP$(aq@X!EikjmIhZ=#wSb{a!0k52v4;R}vIib1vKK8+Fs01Fyjrb<^ z!Ym8H!D~_5?x)xfccFUrG-?sQgnHlG){jt$6iyFUe^=~Fy*y7rBXGWT4GyM$D{77( zK_zq;2jFq+fW4RxHP9cmdxm2no`t%90+!+e9ExjE4c?AQ`~fV${C*1R!2whvui6Wp zXM~A#wN|1=UW!i%dzK092D|?JTH%tQ6!<$iwK8zZvH*hHSnH$#6MXiA> zo`%<91#ZKI_$(^%@_BUnJPIy_8Mp%(J#!4z!^szh|8#1!HlseFT`me8gv_BCk6Nsk z;1s;v*7sr;>Mx>$Z{ogobap=fsG)wKn)%n9>?19`=q=PL?y@MHyB;`_`atVN)+=!o z=kK%i*RYIw&&9@&qnV5vsm-XVc@VY8AHh;Qgk$lu#f-l)9Q)<)50h!Ao?n3_ct2{j zKZk1Y7%HK`OTyJ(jiaewf$G3c)Kol;EAUf18<$=j?uHw2JoP`Ko{Qv{hI2C!^@q-- zsKt0EYD${z_0G$}{X5aR5S7RpEXJ**q=PpH!%-2wVPxuM; zr8%>g!URq{k3F!*ig3sW;}@t;MXmnDsG;15N_anNE)U`Wd>5x)_pCcZ>GMs(xmr||ED{O7EdG;@*QiB! zPSg0jy`qt5v}H}hK|<4)k8&gPV5$inoos_wQ+|iY5_Nz%bOJXANPgOX& z@~jr|Z-ZL+!$;BFWb3_gC9#^&_FJOwp_7O{o zt;FTT3F0$iIFTcE6FP1nei4-T_X3Wyxcq73YSr4%Lm6R z{5~8O&8#hlx|ams&QCe>fITa^+4AYw(Z1zE%0D3PBbtfr#8KiIqUHE2g-eM-p5gNw z{12d(Yd(c#gtkeWBX2fSdxIE4JW6~(JV)qwm$*16@kbagAYQlij`$XF#MZCJ?!+LX z5Ai2rAn{}3N5mfq9p@7b#4V}>YZrb(=o7S!&>u6m6FRinT8>L7Xw$xGPu!2cx8;A} zV!|bQ*>lUSf5!c`EFK~D5FIqK+B-U8A+5hJQkrjTf5Rf8ovq)9bBG6t&b(xXJ>O0* zBVHiBN30`u5yOaEi50{F;yXk!jr7D1iHC?1 zqKI>)_GMKoiXRa_C8iTk z6MrC1BYs6JBsvi~HV_vOgNgPecQgKu(D5bW2_j0otnuGOp^4Z_v>ZRQg*&mVuvLqtE(*fgrOuG)$;B;$=W@x&@8tVd%Ru4Up`H{xeA zZhW<)vg4(k8SA651lJPv@l?u9`jJFBmm=*tCsCgdPwBSssc5W@TkA6Jnw*&BpK5kJ1VA;~R4EgGxgN=>e=&do$JUTUQimL1<)A0(9Xqp@IQ z-Avv~*G3xL44ia%9&bp6=lw`3x4Op7C}Ddh8q0EBqZMiJQmd+RzU!#qq|%=6mh+~R z8=P#-zFd8%T6FG0r_M{d(O6RNPo~rP20y~+2lM)QGhAr!oow1s6Xnh*r;0w;c_}Z; zqdt$?3DfATq~Eq0++N`atnW@@nY*F}7t(S?+x5?@;>TV*N&NMoSbSfJsKgPP{Eq*lG zlpk?jLDBrtW0%i9Z_Cy)r{nxFmCMfz%S9@O#ilOhvx>WniH#Z`8#UG$J!(SbSxvQ- z2ii|QdG$9mZ)cc1CW0OZ>t7pT7^Bv_J(G6QIYxgqi?L-h3~w4d?#doReAZ!t6_-hP ze#=g%_56l(%42i*bTO4>Gu%CEW?{ZM>m@xup7qkH|Gg>N?1{Kn%Y?Mu6Qtrb)a#e^ zt7MXlP%gt=t-GTx)4V-c++5E&b;;ai4uh{vl0Rve(3_e}@Qy@073VH{_kZq?Ht$n6 zYZw48mGfI(+Gdy7??CNPMv}cqXOrm^AApt(lMi+b6PaX$$?4Hw`D!%F=1QlWgqKO= zl5ys|b@yoV*xS|BxWgQ2E44fwjh(!YT6@%T9~-gFPRg^D{%aex?Nhjm>byj~mH{j6 z^NkejqqZyL^Wj^a&U$se(|l*Jrrk{24Rz9X%143^pr6Y)Ilel+n+wJv;d-g8TM>;! z*ja8aqpfv*JeR0vr;n+cmPxZMwY!`|#eeLtU^#^gwoTG(*D%rM?W|)OqZKtA{bI}R z3^!Wa-mqr)_GHtHez4ix6!XV}Ea`AG{9rhuP4CY6YwMO\n" "Language-Team: French \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 " msgstr "" -#: alsamixer/mixer_widget.c:228 +#: alsamixer/mixer_widget.c:224 msgid " Clemens Ladisch " 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" diff --git a/po/ja.gmo b/po/ja.gmo index 9b6ff54f5e04e44833f0dc83897be76bddf93e0d..1c2cb8112edbeb35cdb2ba2dd9c38d7e1fd26623 100644 GIT binary patch delta 5417 zcmYk<34Bdg0>|-_h-gAcLKZ~w2(e@#A&Eqqq^NxfDHA~rjba$+OgR`G0iXwRUd|_ zxESN{6YPoKVOvaWXiNeQ#aNzi=1~ZuVV(WM7Ua9;6ei&fY=hB_+>Uj@IOs2dcc9yA@f zmw5&0i`j~r;v?4YQ8V!X^`Hok`=C?|pq`1^J2|M|4?uN%lE-m(Who8n*+$eZ-G*A* z&rmn6MDA@KqHY++ufwo8sv{X#9}7@xU4s5N7F*zW)Y6usX0RN!7Y=IveQSv7`4!X} zK0s}rKz^m&nue+mK~3EP)FxVj8Tc{sKXaQ8buf~xuNiBMn$c|3l6JL@L=Sc61qyob zTGX-IhkD>O)Sd`s8Z`14YYyrG!%!n1iNQG2))%6F_crQ%u@%GdG-~9PsF7DAd&4mg zDJ0Pl$UJGy+au35{ZJ2{ih3_BL3QvjYQ)v3nM=bPVB(9|wM{b48S6jb`Yz=mNM+7sPT4;qfFj+u(O@iNqL+>f>JENUQ^ zumXQY4df(WR(loJz+he~HF>_NOF?Ve00XcoGB}f9?SsAt;^VY0v-MLLNc|3K^W8&@ zxE`a?fRgyoloz39?pf6PV;O2m4xyu-eM3PH_!TwM7}i50O+($FJF0yUvRY=m^>x$( zKSC|VDOIOZL$udJw16Y9S&~nrRwpz-;UO2N+=Xo8fhewfDfVpPd!Wmz1(+j)dG|b1nw*4OJ z`^}lw1WZKTe<1e9S(wK2%`pmkcRxh-n`y>y^}_+E%~*um)z6?d-DKpbn^o3Bw*6<+ zxsJ_s&v_~~rCx%%&qCC$FSV{jCxV6z6m+ci;ahkCwV9^pxtnq!YQ*cYK5j_|N@7PVBZ zFb4aemS7y}#!FBg-GN&Bz1Rf5LfyX#HG|>YT=&iG?6^1TO@nSQ7PUq%p_X8Wbq_{S zKY)7RIn>Pgu>0B<@Jh>qX(Cw zZd{Jq6Z=p%ypB2*cdU(`bVrzvI&M!Re=@JxdIf4pYIbw)8*R-(-Onke(3nCAYD9DF z7na-lF6=}5an$!3b$6#W12uxasHq%*927GFImu=tw#195%^KLl9!q5M%y_r%nD;4Y zlT@My{d>CSIvzEmF_?~Js2iR@UIC^Wc}JO)UT*s+)b|&m+V`P4QiZ&$Oag~rduAxc z;&a$m=l@L#>Vf_oCDlVw-;c-on1||cAvQv15cAJl)2yIDo8ug+LwD^LVg|eacw}Na?ekDK z-i;c`QQLkEHA8W~arZ_pYRSf75Kc#R#6dl0rFFL&>d|l-)x#f9U;HnsBN0XJ4|0$_ zXfBZvS!|eb+qeBeau0 zww1r(8e9Gp-yt1|W>D8_qy@Q4z9FSV*GU&M-Z~a_V&=O2c3WpdZ@1|C^zeC$Xj*mY zs7)v5iKcK9`8UxujLaneA|r{WzKpz2o+W3AuK$qsq>|`mbwl%}jh0EK5^bgk@)gm# z>3W+SATvlR(WT?omjsg)L{}1dfh6N$OST- zoFKa1bn$(5;`6YrN8%x}g}iLrO0bYLB>rSFd35Pm|4fFGx@0loa(w?7s1&FVd&S|a zg7qXvhC%VF2e4o?!Od~ImNo1EdIpV0lH!Zq4#M>`nVGVEFq-B2IjFhNa xAsv$2WhAGz_oQZJr*-far_Tsjnid`IP0T(L=8fx95a8WinB?z$Yw+2i{{e&NMU?;m delta 7180 zcmZXX3w%_?*@q_q0viYyQBYAifM|d$BwPYS0#ZOgF`(fhcQ?s~tb|S6-Jqa#$u3ok zqFe$9>L(XPqzIuA0S#Wiiq(qM&(BI*t@aQC3TRugwbt6_zvpZSc7Fc%nai1(ciws5 z2_CIY`RbLF=qDGnTxTfXqsvgsHpbkPV$7)y>NO_&B4dWb9GD3g!Yg47><Wwty!gPBy1uANDujP#FU){67+w zK%Hb8Yz^Ol+3*O|iGF|sVGjP&MkNsMnx8@)qy}nU9c%?(glX_qC%V|%pLN@*ma{-RsEw|M>|sVhj5qV3Tzt37^-!Luh1%#a)J8UJ2~R@B z&KaorEqX*9%X?tHqH_$?gqd!8K2)?3uwcvZO6Z{a$kQ1;oOy&M`*Ii&L zycG6^mqY$DWB8E=OQTd23=x>PLnzB@pzg31DtHdStKc!W-L{wGsi9EmG#2KBQ?L=0fc^8|td= z%*OwTJE21!*aekNhoM}46zat7xd)98h8^K#$lB&s*aohG+IS4Qo4$yCqW6+2w6>T^JD*A&^6CZ`z-~d$qz6ve)DeMeWaF5dUA}E7$pbjt` zT5u%PiRZgq3YCuQpbXjqWk__d`@w5a8-EPvrx^23SVVgkxpNIX1Qlf8y0nHGGlKSb zI2tZ@+i$=dX}1{0-w}8dybx}M!{L6YEBy;3#-gSxz0>I!2eaX0Z~}Y>&W2s`oL~$= zz1f?g41Eb|qd!2d)%3wi;?~TD+F%7#^w+{5JOgilbFq31d9v+>VYbUq_kNDFNZHco)q(u+pm8XC4vnmt_o%{J{(>brBX!Y zTKJ4R@Hy0k&UDJ*#LIve`sNlXCD){EZzVHE; z&%>w&KBIC0%=n43umyY2E`(aB3M%@Sxm*F2_cgFP+zB_rx1fTm1pjt}RZu5h4HdK- zq1Jg8DqZ)F!T)Wk{E7}4@E%n99D|p@zrn6BW301LZKqHWQZw*1g?1yUJ2iX3f9w5@5K*r z8q6YPEEt1na2r%i?1WnHDC`Ywm!65v0iy$`DD7^9c+K47wqJ+3lCPl!TayZ6CiK9G zPAh z&T2}}>!I#=x!XPr6)Pz`1{UlF2^%v4>R`*@5V#j=-A2e8WjYiXGf4SAo{9$Uf|{@` zF~A=UD1+LNb3BG-6x5wZ;1zH+8~|(KX!t3-81|gvJhj)rt7wmh6I$>H!7eF8eWCMU z9hu6(*gtWBjGKO3WNSD8%0)wAOE?iK1`1rRaQO!0?J}v;o$*mnC%X%BYo-or{ClXF z$eZEB+GvGb!5 zx}s_DTKEXmhDTuzOrPaE=_6+0f4TlPI^@zdP#f=snvgo%NxMN%$9+&~^ z;l=PRsI;}AT%R(>VJ1|XPKKIS0XxFG=iq;JtfWH=Z-U+6+wO;rP*?FaR5ql|bvC>N zs(m%o_jync(sbAl-Ucs)>tR0J3onCTLK)U>o-;luN`(wD1#k%52(|FL@N)QPx8KZn zJdg{O4bz~mY#CHKJ_u#VdZ>+l>GECJf%YjV1OEl}UB_D;L!wz!G@%d@oaX<~N>q!I zr7Bs0|3aUk_tCSc5LKe?C|Pu%Wk^>NLn?dF+C+{2)rbAjYs&xMQ;~%iAr<{&VKKTH ztwT>E6}eMoDO!UbKzh->M9s?<8spK6Xdo&>4d`KX1^O$x7JZ2Fl>fh=k}Q9uqJYFp ziEB_bGlAm@1^bc>xuxL3tewK|e)$a8!Qgz`W&hE4&r8NB8UgRSuzz zi5mZ4gx9$Bhu|0J5;Vf?OX6cHPr8i(@c&W0+g65*M)#qkZr@3`2yH;WL^j&)?r-j) zq4FTALw`ndkjg7)B5H{;&;q2QG*UT$4kl{O>$aTw&rwHo7rGH8%VxLo0el1fQ|BLy z^vIN>Pm#(aNKfial!=mME|nE-<7?O%okBOD+tJKu zLF-$$rv*HWD$q;lJCrPODiO2~twI-|WEn)I09}{tsM~kp+o?k;v%KEQicrMrW#w66 ze`Rr?bcr=}%oHopnOPE85Qtb6A%;SW1I2zT=v(CPQ+HR_?=pJ$7W)F_zM^t}iB(z= zTI7pZ;WAb#u8M>$U&x=AUUz%%2UGv)4hrAJgIAYD7JZ0*{$pv%!_wR3| zd&{t(%wJyV(NDT}EX@+X_VQGg`<4{>iWgc=JKY;%EaZ#$J>f{m?^|T4ZUutYgr(`; zV#bQge8Hf-ldCOB72rkU83i~ZptYAeT?9XDQpg+;sWPO&- zkUwMebgMK_?oaoYYyI+yifCongZC5ndTtvAD#KQ!!qOI5R<@PTnM(t~K!mAbrn(m< z?=0ZlZZq+De`~t0yviT8a`GqnOPM_|KNMI{M#Uc~PWRryY)p|Ao@rtK94k`hw-y8z z`-4`}I?G3dB-XOR+*C=rcZM^mBoOixy2ff6ZGUm3BDBORt_Vha*oUu^tAx|j>%Pt0 zkkYC!CwKm&wH1APq!kVvJbzH4+Dg?)brpSwwaysm%^vQ}&b4x~^9B#8doE{j%dzK$ zy~5p&KW@kC?fCt6_3q;j-q)~ula+aVU2Vg&8|>OFRBU*eOscI;ros+E1} zdgp%D$q6H8V+qG{98@9sb%!g%Z)WVj@PaGaSqtA zopyYK9ouimpSI(5N``Z}U^Odt{1H3;3%+fh8|TIw?p@hf^MoD0&yKIMV^3n+xjf;k zXw#RB=y-9q<(!-C_%7$bR_27Iea_FHZX;_sj1lU8cmi*fBs(+nkSkwBgDmZc#VknvQD6 z)*MS*Y*W@Ht$h+#IahKn1tY4J^ZW;@8utqT diff --git a/po/ja.po b/po/ja.po index dd51d7f..64122de 100644 --- 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 \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 " msgstr "" -#: alsamixer/mixer_widget.c:228 +#: alsamixer/mixer_widget.c:224 msgid " Clemens Ladisch " 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" diff --git a/seq/Makefile.in b/seq/Makefile.in index 4c1f93f..68dfad3 100644 --- a/seq/Makefile.in +++ b/seq/Makefile.in @@ -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. @@ -15,6 +14,23 @@ @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. diff --git a/seq/aconnect/Makefile.am b/seq/aconnect/Makefile.am index 507b9fe..02be5c5 100644 --- a/seq/aconnect/Makefile.am +++ b/seq/aconnect/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir)/include +AM_CPPFLAGS = -I$(top_srcdir)/include EXTRA_DIST = README.aconnect aconnect.1 LDADD = $(LIBINTL) diff --git a/seq/aconnect/Makefile.in b/seq/aconnect/Makefile.in index 2403a64..2159c30 100644 --- a/seq/aconnect/Makefile.in +++ b/seq/aconnect/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 \ diff --git a/seq/aconnect/aconnect.c b/seq/aconnect/aconnect.c index 8c66cfd..8d6cebb 100644 --- a/seq/aconnect/aconnect.c +++ b/seq/aconnect/aconnect.c @@ -292,6 +292,7 @@ int main(int argc, char **argv) convert_real = 0; break; case 'l': + command = LIST; list_subs = 1; break; case 'x': diff --git a/seq/aplaymidi/Makefile.am b/seq/aplaymidi/Makefile.am index bed2a0e..1fa063e 100644 --- a/seq/aplaymidi/Makefile.am +++ b/seq/aplaymidi/Makefile.am @@ -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 diff --git a/seq/aplaymidi/Makefile.in b/seq/aplaymidi/Makefile.in index 4535ee4..861140e 100644 --- a/seq/aplaymidi/Makefile.in +++ b/seq/aplaymidi/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 \ diff --git a/seq/aseqdump/Makefile.am b/seq/aseqdump/Makefile.am index d918d9f..4837ad9 100644 --- a/seq/aseqdump/Makefile.am +++ b/seq/aseqdump/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir)/include +AM_CPPFLAGS = -I$(top_srcdir)/include EXTRA_DIST = aseqdump.1 bin_PROGRAMS = aseqdump diff --git a/seq/aseqdump/Makefile.in b/seq/aseqdump/Makefile.in index 8deb462..17523a7 100644 --- a/seq/aseqdump/Makefile.in +++ b/seq/aseqdump/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 \ diff --git a/seq/aseqnet/Makefile.am b/seq/aseqnet/Makefile.am index 2ebc4a5..852d1e9 100644 --- a/seq/aseqnet/Makefile.am +++ b/seq/aseqnet/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir)/include +AM_CPPFLAGS = -I$(top_srcdir)/include EXTRA_DIST = README.aseqnet aseqnet.1 bin_PROGRAMS = aseqnet diff --git a/seq/aseqnet/Makefile.in b/seq/aseqnet/Makefile.in index 5522bde..a84982c 100644 --- a/seq/aseqnet/Makefile.in +++ b/seq/aseqnet/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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 \ diff --git a/seq/aseqnet/aseqnet.c b/seq/aseqnet/aseqnet.c index e071ad9..70a1cfd 100644 --- a/seq/aseqnet/aseqnet.c +++ b/seq/aseqnet/aseqnet.c @@ -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")); diff --git a/speaker-test/Makefile.am b/speaker-test/Makefile.am index e3551bc..d53dbd6 100644 --- a/speaker-test/Makefile.am +++ b/speaker-test/Makefile.am @@ -1,4 +1,4 @@ -INCLUDES = -I$(top_srcdir)/include +AM_CPPFLAGS = -I$(top_srcdir)/include SUBDIRS= samples LDADD = $(LIBINTL) -lm diff --git a/speaker-test/Makefile.in b/speaker-test/Makefile.in index cbb4c7f..9d911e4 100644 --- a/speaker-test/Makefile.in +++ b/speaker-test/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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. diff --git a/speaker-test/samples/Makefile.in b/speaker-test/samples/Makefile.in index 31c59b6..4019b8e 100644 --- a/speaker-test/samples/Makefile.in +++ b/speaker-test/samples/Makefile.in @@ -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. @@ -16,6 +15,23 @@ @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'`; \ diff --git a/speaker-test/speaker-test.1 b/speaker-test/speaker-test.1 index 6ef0814..add6b21 100644 --- a/speaker-test/speaker-test.1 +++ b/speaker-test/speaker-test.1 @@ -11,26 +11,26 @@ . 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. diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c index 3029110..61396f2 100644 --- a/speaker-test/speaker-test.c +++ b/speaker-test/speaker-test.c @@ -45,6 +45,7 @@ #include #include #include +#include #define ALSA_PCM_NEW_HW_PARAMS_API #define ALSA_PCM_NEW_SW_PARAMS_API @@ -60,6 +61,10 @@ #include #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); } diff --git a/utils/Makefile.in b/utils/Makefile.in index 4ad4899..f5efbb1 100644 --- a/utils/Makefile.in +++ b/utils/Makefile.in @@ -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. @@ -15,6 +14,23 @@ @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'`; \ -- 2.7.4