Tim Blechmann [Wed, 29 Jun 2011 07:44:06 +0000 (09:44 +0200)]
aplay: increase channel limit to 256
aplay is limited to 32 channels, which makes it impossible to use it for
testing devices with more channels. here we increase the limit to 256,
which should be sufficient for a virtual device made of 4 64-channel
soundcards.
Signed-off-by: Tim Blechmann <tim@klingt.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Daniel T Chen [Sat, 4 Jun 2011 21:44:43 +0000 (17:44 -0400)]
speaker-test.1: Clarify man page by giving examples
BugLink: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=620513
From the Debian bug report:
"The speaker-test manpage could be improved somewhat by helping a
little bit the user determine how to find out the devices he can test.
Based on http://alsa.opensrc.org/Speaker-test I have make some changes
to the manpage (diff attached) to describe a little bit more how
speaker-test can be used alongside 'aplay'.
Please consider the following patch for
alsa-utils-1.0.23/speaker-test/speaker-test.1"
Signed-off-by: Javier Fernández-Sanguino Peña <jfs@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 3 Jun 2011 10:41:26 +0000 (12:41 +0200)]
aplay: Add -i option for interactive mode
The recent addition of pause/resume control via keyboard brought
a problem when aplay/arecord is invoked in background. For avoiding
regressions, it's safer to use non-interactive mode as default and
enable the new feature via an option.
Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
The CD analog playback line is seldom used these days, as all
modern players rip the CD and use the DAC on the sound card.
In addition, it causes background hum on some machines.
Therefore keep it muted by default.
BugLink: http://bugs.launchpad.net/bugs/747184 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Peter Korsgaard [Mon, 14 Mar 2011 08:48:13 +0000 (09:48 +0100)]
alsamixer: fix build on uClibc
exp10 is a glibc extension, which isn't supported on uClibc. Luckily,
exp10() is trivial to compute based on exp(), so add a wrapper for
the uClibc case.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Clemens Ladisch [Mon, 6 Dec 2010 13:07:48 +0000 (14:07 +0100)]
alsamixer: use cubic scale for volume bars
Instead of mapping the raw volume values linearly to the screen, use
a mapping where the bar height is proportional to the audible volume,
i.e., where the amplitude is the cube of the bar height.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Mon, 6 Dec 2010 13:05:10 +0000 (14:05 +0100)]
alsamixer: increase step size for big control value ranges
For controls with a big range, stepping through all values can become
tedious and make it impossible to adjust the volume easily. Therefore,
ensure that all steps are big enough so that the full range has at most
one hundred steps.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Wed, 26 May 2010 08:27:25 +0000 (10:27 +0200)]
alsactl: correctly restore dB values of controls with changed range
When the range of a control has changed between driver versions, it is a
good idea to restore the same dB value of the control. However,
computing the dB value by interpolating betweem the min/max dB values
duplicates alsa-lib's TLV functions and does not even work for controls
with a linear dB range.
A simple conversion to dB and back can be done if we add the dB value(s)
to the saved state.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Wed, 26 May 2010 08:18:43 +0000 (10:18 +0200)]
alsactl: move alloca out of loop
Reserving new space from the stack in every loop iteration is not
necessary, so move the call to snd_ctl_elem_id_alloca outside where it
is executed only once.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Mon, 22 Feb 2010 08:42:03 +0000 (09:42 +0100)]
alsamixer: handle out-of-range volume values
Ensure that control volume values are in their allowed range; otherwise,
the displayed values could be outside the range 0..100 and mess up the
layout.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch [Fri, 19 Feb 2010 16:07:20 +0000 (17:07 +0100)]
alsamixer: fix division by zero
The attempt to divide by max-min fails if a control has only one valid
value. In this case, adjust the maximum so that the computation can
succeed; the control will look like 0%.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
John Sauter [Fri, 8 Jan 2010 21:24:33 +0000 (16:24 -0500)]
aplay -- add features for audio surveilance
Add signal SIGUSR1 to turn over the output file,
--max-file-time to cause the output file to turn over automatically,
and --use-strftime to create output files based on the current time.
Signed-off-by: John Sauter <John_Sauter@systemeyescomputerstore.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Clemens Ladisch [Thu, 28 May 2009 07:16:11 +0000 (09:16 +0200)]
alsamixer: fix text box clipping with multi-column characters
When a multi-column character would straddle the left window border of
a text box, we have to take the inserted space character into account
when we compute how many characters fit into the rest of the line.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Dan McGee [Sun, 10 May 2009 00:47:40 +0000 (02:47 +0200)]
speaker-test: only check byte order once
Rather than having numerous preprocessor directives scattered in the code
checking __BYTE_ORDER, only check it once and define a set of macros
accordingly that can be used in the rest of the code. This makes things
simpler to read and less error-prone.
Dan McGee [Sun, 10 May 2009 00:27:05 +0000 (02:27 +0200)]
speaker-test: allow frequency to be floating point
Use atof() rather than atoi() to store the frequency- we were already using
a floating point value internally but did not let the user specify one from
the command line.
Jaroslav Kysela [Thu, 30 Apr 2009 09:26:15 +0000 (11:26 +0200)]
alsactl: fix sysfsroot path and parser extensions
The sysfsroot path is /sys/class/sound/cardX/device for recent kernels.
The ACCESS check honors the variable substutition now. Added $config{key}
substitution.
For recent module-init-tools, prefer /etc/modprobe.d/50-sound.conf
instead of /etc/modprobe.d/sound. The latest m-i-t version will
complain (and can ignore) files that don't follow the format.