Commit graph

122 commits

Author SHA1 Message Date
Anssi Hannula
f1e991e813 amixer: fix indentation when printing container TLV contents
decode_tlv() adds indentation in the beginning, with the expectation
that the TLV will be printed on the line afterwards in a switch-case.

However, in the case of a container TLV the switch-case simply adds
another level of indentation and calls decode_tlv() for the inner TLVs.
This causes the first inner TLV to be printed with too much indentation
and double '|'.

Fix that by printing "container" and a newline for container TLVs, so
that the result is as follows:
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
    | chmap-variable=FL,FR,LFE
    | chmap-variable=FL,FR,FC

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-02 17:36:02 +02:00
Anssi Hannula
180283e230 amixer: actually print all TLVs in a container TLV
Due to a wrong indexing of tlv[] decode_tlv() always skips to the end of
the container TLV since the used tlv[1] contains the container TLV size
instead of the intended element size.

This causes, for example, only the first HDMI channel map TLV to be
shown.

Fix the indexing to actually use the element size.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-01 12:23:45 +02:00
David Henningsson
9fe90a020c amixer: Print TLV of channel map controls
Previously these were written as "unk-25..." which wasn't very user friendly.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2013-06-14 13:38:23 +02:00
Jaroslav Kysela
c80a38dbf5 amixer: fix print_dB for -0.99 .. -0.01 range
The first number is 0 when input dB (hundreds) is in range -99 .. -1 .
The printed number was positive in this case. This patch fixes this issue.

Reported-by: Tom Becker <GTBecker@RighTime.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2013-05-28 08:43:30 +02:00
Jaroslav Kysela
d61924fd24 amixer: Fix the hctl elem search bug
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2013-05-27 16:40:26 +02:00
Jaroslav Kysela
e2eab09c1d amixer: Use the alsa-lib functions for id print and parse and value parse
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2013-04-09 18:38:58 +02:00
Takashi Iwai
bfcb26f9f7 amixer: Fix dB value outputs in amixer contents
Add missing cast to signed int for DB_MINMAX* types.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-01-31 17:47:50 +01:00
Takashi Iwai
d6da86117b amixer: Fix parsing container TLV entries
Fix the wrong calculation of the size of a container TLV entry, which
resulted in "TLV size error" messages.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-11-26 16:16:16 +01:00
Clemens Ladisch
da1c24a24c amixer: fix rounding of relative changes
When doing control changes by a relative amount, amixer used the wrong
rounding direction, which would make it possible to stay at the same raw
value if the step was not big enough to reach the next value.

Reported-by: Honza Javorek <jan.javorek@gmail.com>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2012-11-13 21:54:20 +01:00
Takashi Iwai
a2b66855e6 amixer: Add the support for mapped volumes like alsamixer
When -M option is given, amixer handles the volumes in percent unit
with the mapping more intuitive to human ears just like in alsamixer.

The -R option is to take the raw value as the volume percentage.
This mode is still used as default.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-12 10:56:22 +01:00
Lars-Peter Clausen
8709ffe841 alsa-utils: amixer: Fix SND_CTL_TLVT_DB_RANGE handling
Current support for handling SND_CTL_TLVT_DB_RANGE in amixer is completely
broken. This patch fixes it.

Reported-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-16 14:57:27 +02:00
Jaroslav Kysela
87c58b59b5 amixer: fix parsing of control ID name
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-10-05 10:02:45 +02:00
Jaroslav Kysela
f45aa72cd6 amixer: add support for TLV dB minmax types
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-10 11:52:53 +01:00
Clemens Ladisch
cdc496addb amixer: fix display of unreadable control elements
When an element is marked as not readble, do not try to read it and then
complain about the error, but just ignore it.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2010-02-01 13:22:39 +01:00
Diego E. 'Flameeyes' Pettenò
6232f1c96c Make some static tables and strings constants.
By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.

The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 13:10:02 +01:00
Diego E. 'Flameeyes' Pettenò
ca1ea1e904 Mark static the functions not used outside their unit.
This way the compiler can assume more information about their
interface for optimisation.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
2008-11-21 13:09:56 +01:00
Jaroslav Kysela
ec73719ec6 amixer - fixed TLV dBscale and added dBrange parsing
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-14 14:57:43 +02:00
Jaroslav Kysela
48de580a7b Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:25:17 +02:00
Takashi Iwai
4b16370c01 amixer - Allow to pass enum item string for cset, too
cset accepts only integer values as indices, so far, but it's a bit
unfriendly.  Now it accepts the item name as a string argument, too.
The index can be given using numbers as fallback.
2007-07-31 17:29:45 +02:00
Takashi Iwai
fea8dbf020 Ignore errors with -s option
Ignore non-fatal errors when stdin is parsed with -s option.
2007-07-24 15:19:34 +02:00
Takashi Iwai
50d240e688 amixer - Fix selection of enum items
The item names with channel specifier cannot be chosen correctly
via amixer sset.  For example, 'Front Mic' is handled as 'Mic' since
the channel specificier 'Front' is omitted.

The idea of channel specifier is basically non-sense for enum items,
and this also makes the code very messy.

The patch fixes the behavior of enum items and gives the code clean-up
for sset command.
2007-07-09 16:37:35 +02:00
Takashi Iwai
3f17db2ef5 amixer - show iec958 status bits in contents command
Show first 4 bytes of iec958 status bits for elements with
SND_CTL_ELEM_TYPE_IEC958 in contents command.
2007-04-05 17:23:42 +02:00
James Courtier-Dutton
fb219cacb6 Implement Playback/Capture enum. 2006-10-13 22:25:33 +01:00
Jaroslav Kysela
6d59cea271 amixer - remove beep on errors in arguments
See bug#1247
2006-10-04 10:21:29 +02:00
Jaroslav Kysela
a70208290b amixer: sset - check if command is valid
See bug#532
2006-10-04 09:47:41 +02:00
Takashi Iwai
b4897f7856 Add linear-volume handling in amixer
Added the handling of linear-volume in amixer TLV decoder.
2006-08-28 13:28:46 +02:00
Takashi Iwai
ae9ddeb634 Add handling of dB to amixer
Added the dB value handling to amixer sset command.
Also, simplify the parser code.

Updated man page for dB suffix and some examples.
2006-08-25 12:00:14 +02:00
Jaroslav Kysela
e45ba7e644 amixer - show dB values for simple mixer interface (which is default) 2006-07-27 11:02:00 +02:00
Takashi Iwai
dedc292efa Fix print_dB() with a minus value
Fix print_dB() with a minus dB value.
2006-07-06 19:26:31 +02:00
Jaroslav Kysela
33319eb4ed amixer - added basic TLV support (read only) for 'amixer controls' 2006-07-05 17:46:10 +02:00
Takashi Iwai
21b94bc276 amixer - Add -s option
- Add -s option to read from stdin the command sequentially.
- Suppress unneeded warnings in sset.
2005-12-01 11:32:28 +00:00
Jaroslav Kysela
414b308e8c Fix for more better error fault handling for sset toggle 2005-09-22 12:47:02 +00:00
Jaroslav Kysela
7876ddd70e Added more better error fault handling for sset toggle 2005-09-22 12:39:26 +00:00
Takashi Iwai
210e946410 Add enum control support to sget/sset
Added the enum control support to amixer sget/sset.
2005-06-15 14:55:37 +00:00
Jaroslav Kysela
734cb04e08 Set the device name for smixer_options 2005-06-06 14:02:10 +00:00
Takashi Iwai
259fb326fb Fix compile warnings
Fixed compile warnings with gcc4.
2005-05-13 17:30:00 +00:00
Jaroslav Kysela
a35432c43e Fixed basic astraction selection for simple mixer API 2005-03-29 14:06:29 +00:00
Jaroslav Kysela
1299087e6c Added -a,--abstract switch for upcoming abstract mixer API 2005-03-27 12:50:34 +00:00
Giuliano Pochini
943bf551e1 amixer no-range-checking option
This patch adds the --nocheck option that disables range checking. It helps
debugging drivers.

Signed-off-by: Giuliano Pochini <pochini@shiny.it>
2005-02-04 15:35:27 +00:00
Takashi Iwai
4cd2c00fb3 Fix exit status
Return the exit status 0 after -h option.
When invalid options are given, it should return exit code 1.
2005-01-31 13:52:09 +00:00
Takashi Iwai
b729f4fc30 exits with status 0 after -h option
amixer exits with status 0 after -h option (ALSA BTS #858).
2005-01-31 13:48:50 +00:00
Jaroslav Kysela
095e74167c Fixed typo 2004-08-10 09:46:19 +00:00
Takashi Iwai
59bf7f2c34 Fixed the wrong integer suffix. 2004-08-04 15:21:12 +00:00
Jaroslav Kysela
7759ed8617 Clemens Ladisch <clemens@ladisch.de>
fix error messages for snd_mixer_load
2004-02-24 09:19:31 +00:00
Jaroslav Kysela
33b53d88fd Fixed wrong message (load error) 2004-02-21 18:44:18 +00:00
Jaroslav Kysela
3d3fbd78e8 Fixed possible buffer overrun 2003-10-17 07:34:19 +00:00
Jaroslav Kysela
c8965f5622 alsactl: indirect removal; amixer - fixed typos 2003-04-01 14:09:09 +00:00
Jaroslav Kysela
53fb81e39b Here's a new batch of Debian patches, all from David B. Harris.
- add a "Press Escape to quit" string to alsamixer's title, some uses
  couldn't figure out how to exit the program (Debian Bug#178393).
- hide the cursor, which was missplaced and wasn't goodlooking anyway
  (Debian Bug#81169).
- remove trailing spaces from amixer's output (Debian Bug#177518).
- don't ignore second -l/-L flags in aplay (Debian Bug#177521).
2003-02-24 13:51:15 +00:00
Takashi Iwai
dfe70d8fbb - fixed compile warnings on gcc3.3. 2003-02-04 16:03:36 +00:00
Jaroslav Kysela
bd2c771ca9 Added INTEGER64 support by Paul Davis 2002-05-13 09:54:24 +00:00