Commit graph

80 commits

Author SHA1 Message Date
Tanu Kaskinen
00a05a8272 alsa-mixer: Add a default case for a switch, so that the compiler won't complain about unhandled cases. 2011-03-11 13:38:05 +02:00
Tanu Kaskinen
e01a28cd53 alsa-mixer: Use decibel fixes when getting and setting decibel volumes. 2011-03-11 13:37:17 +02:00
Tanu Kaskinen
4842077a1e alsa-mixer: Add DecibelFix section to the profile set config file format.
This commit only implements the parser, the decibel fix data is not yet used
for anything.
2011-03-11 13:34:24 +02:00
Colin Guthrie
f4a2a8ebfe alsa-mixer: Fix a git-am cockup in b0f72311
It seems git managed to mess up a git-am with a patch from
David which moved where this function was called element_probe
to within itself (recursive which could normally lead to an
infinite loop, but as it was now never called from anywhere else,
this didn't happen).

Thank you to Maarten for spotting and following up the issue.
2011-03-04 09:50:27 +00:00
David Henningsson
ade0a6f884 alsa-mixer: always round towards 0 dB
Always round towards 0 dB. Also add a few debug comments to aid
troubleshooting.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-02-25 15:54:48 +00:00
David Henningsson
b0f72311cf alsa-mixer: add required-any and required-* for enum options
Now you can add required-any to elements in a path and the path
will be valid as long as at least one of the elements are present.
Also you can have required, required-any and required-absent in
element options, causing a path to be unsupported if an option is
(not) present (simplified example: to skip line in path if
"Capture source" doesn't have a "Line In" option).

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-02-25 15:48:11 +00:00
David Henningsson
0ce3017b74 alsa-mixer: Add a few well-known descriptions
Add front mic, rear mic, and docking line-in. These are likely to be
present on modern hda chips, for reference see
linux-2.6/sound/pci/hda/hda_codec.c:hda_get_input_pin_label

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-02-25 15:47:56 +00:00
Tanu Kaskinen
46359043c4 alsa-mixer: Fix path set building when using the element-output or element-input mapping options in profile set configuration.
When creating synthesized paths, pa_alsa_path_set_new() created duplicate
elements for each path, and one of the duplicate elements would be marked as
required absent. That made path probing fail. While debugging this, I noticed
also that pa_alsa_path_synthesize() didn't initialize p->last_element properly.
2011-02-25 15:44:44 +00:00
Zhang Wanming
0c0c285e79 Fix typos 2010-12-20 11:07:30 +00:00
Lennart Poettering
c72d878913 alsa-mixer: make a few strings translatable
Original patch contributed by 'kelemeng'

http://pulseaudio.org/ticket/843
2010-11-25 16:38:18 +00:00
Jyri Sarha
1bea955829 alsa: Take syncronized HW volume infra into use for alsa-sink
Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
2010-10-16 11:53:39 +01:00
Pierre-Louis Bossart
fb405765d9 alsa: fix mixer profiles, add passthrough config
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
2010-07-13 23:33:45 +01:00
Tanu Kaskinen
6a5f0ba431 alsa-mixer: Replace erroneous PA_ALSA_VOLUME_IGNORE with PA_ALSA_ENUMERATION_IGNORE.
This fix doesn't have any concrete effect, because the two constants have the
same value.
2010-05-10 14:05:25 +03:00
Tanu Kaskinen
77312d06c8 alsa-mixer: Use pa_xfree() instead of pa_xstrdup() for freeing a string. 2010-05-10 14:04:51 +03:00
Lennart Poettering
abfd2aa0e7 alsa: use default output port names
instead of coming up with pointless aliases, reuse the already established
names, for second headphones, and second speakers.
2010-02-21 17:47:23 +01:00
Lennart Poettering
14e4369bee alsa: cover "Desktop Speaker" mixer elements
As exposed by really old Microsoft USB sound systems
2010-02-21 17:47:01 +01:00
Lennart Poettering
4315f277bc alsa: cover bass boost mixer element
http://pulseaudio.org/ticket/740
2010-02-09 22:43:14 +00:00
Lennart Poettering
19516d4e7f alsa: introduce more standard path names 2009-11-05 03:21:10 +01:00
Colin Guthrie
fd25e8fa8b alsa: Give all ports a human name to allow UI tools to present the choice to users. 2009-09-18 09:22:23 +01:00
Vladimir Kokarev
e63c867f87 alsa: correct assumptions about channels an element lacks
If an element does not control some channels assume they are 0dB in
comparison to the other elements, i.e. do not influence the volume at
all. Previously we were assuming they were as high as the highest of the
channels we do control.
2009-09-17 01:26:18 +02:00
Lennart Poettering
8364b959b4 alsa: when probing for profiles configure buffer/period sizes since some broken drivers apparently need that 2009-09-09 23:56:51 +02:00
Lennart Poettering
f5046759cd llvm-clang-analyzer: drop a few unnecessary assignments and other trivial fixes 2009-09-08 23:46:23 +02:00
Lennart Poettering
8a2a6b2004 adjust various data/library paths automatically if we are run from a build tree 2009-08-21 03:43:53 +02:00
Lennart Poettering
462cdf44b7 alsa: adjust priority bonus of mappings that match the configured default channel map
We need to make sure that having both input and output weighs more for
selecting the default profile than a channel map that matches the
default channel map has.

https://bugzilla.redhat.com/show_bug.cgi?id=496320
2009-08-12 00:53:38 +02:00
Lennart Poettering
c325b93c01 alsa: don't reset volume/mute when selecting path 2009-07-23 19:24:26 +02:00
Lennart Poettering
6ad3855639 alsa: synthesize volume values more sensibly for channels that are not controllable in hw 2009-06-19 02:03:03 +02:00
Lennart Poettering
60df970bd9 alsa: properly count mappings of manually defined profiles 2009-06-18 03:43:51 +02:00
Lennart Poettering
b5cea8d590 alsa: fix duplicate mapping detection 2009-06-18 03:43:22 +02:00
Lennart Poettering
334325efd7 alsa: allow placing device id in alsa device strings at arbitrary positions 2009-06-17 04:17:25 +02:00
Lennart Poettering
31575f7766 alsa: rework mixer logic
Completely rework mixer logic. This now allows controlling a full set of
elements from a single sink's volume slider/mute button.

This also introduces sink and source "ports" that can be used to choose
different input or output ports with the UI. (i.e. "mic"/"line-in" or
"speaker"/"headphones".

The mixer paths and device maps are now configered in external
configuration files and can be tweaked as necessary.
2009-06-17 03:45:14 +02:00