Commit graph

29 commits

Author SHA1 Message Date
Jaroslav Kysela
058dde8b7d implemented integer volume <-> dB volume conversion functions for simple mixer 2008-04-21 11:44:20 +02:00
Clemens Ladisch
7b51f62732 simple mixer: fix calculation of control range
When calculating the value range of a control, the variables cannot be
initialized with zero because this would prevent the minimum from having
a value above zero or the maximum from having a value below zero.
2007-11-12 08:50:08 +01:00
Takashi Iwai
68e5771a6f Remove assert from header files
Putting assert in the public macros isn't good idea at all.
Let's get rid of them.

Also, clean up snd*_alloca() functions to use a helper macro
instead of copy and paste.
2007-10-25 15:36:03 +02:00
Takashi Iwai
f38e5feca3 Export dB conversion helper functions
Export helper functions to convert dB level and range.

snd_tlv_*dB*() are to convert dB level or range directly from TLV data.
snd_ctl_*dB*() are to get dB level or range from a control element.
2007-10-24 13:04:14 +02:00
Jaroslav Kysela
d25e281230 Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:24:55 +02:00
Takashi Iwai
dac0e3b17c Handle "Input Source" as a capture element
Some drivers use "Input Source" as the capture source mixer element because
mixer abstraction layer can't handle multiple "Capture Source" elements.
This patch adds a hack to handle Input Source as a capture route, and let
mixer apps know that it's a capture stuff, at least.
2007-08-29 14:48:31 +02:00
Clemens Ladisch
f54f03bfc4 fix SNDERR() format strings/arguments 2007-02-12 13:45:57 +01:00
James Courtier-Dutton
6d511eefa0 Implements support for capture/playback enums. 2006-10-13 22:06:17 +01:00
Jaroslav Kysela
13fdc41785 add snd_device_name_hint() function and initial implementation
- add snd_device_name_hint() and snd_device_name_free_hint() functions
- add snd_ctl_iface_conf_name() functions
- do not accept parameters for the plugin definition without @args section
- add defaults.pcm.dmix.card/device and dsnoop.card/device definitions
- add hints for HDA-Intel.conf, pcm/dmix.conf, pcm/dsnoop.conf and alsa.conf
- add test/namehint test utility
- doxygen related cleanups
2006-10-11 13:18:57 +02:00
Jaroslav Kysela
275afa4d70 simple mixer - fix error recovery path for volume / switch write
If volume or switch write fails, the internal contents for element
is changed, but it is wrong. Reread the whole simple element in this
case to get correct values.
2006-10-01 17:57:36 +02:00
Takashi Iwai
9d2518bb91 Fix wrong scales in linear volume calculation
Fixed wrong scales of dB values (TLV is 0.01dB unit) in the linear
volume calculation.
2006-09-07 20:51:41 +02:00
Takashi Iwai
fba26cd668 Add support of dB range compound TLV
Added the support of dB range compound TLV type in the simple mixer layer.
All get_dB, get_dB_range and set_dB ops are supported.
2006-09-06 12:17:29 +02:00
Takashi Iwai
b0bbcd0697 Add handling of linear volume in simple mixer
Added the handling of linear volume TLV in the simple mixer layer.
2006-08-28 13:27:41 +02:00
Takashi Iwai
4962ec5a5c Add set_dB ops to simple mixer
Added the set_dB ops to simple mixer.
2006-08-25 11:56:50 +02:00
Takashi Iwai
448cbb6141 Add dB_range ops for simple mixer
Added the dB_range ops for simple mixer.
2006-08-25 11:54:59 +02:00
Takashi Iwai
66f3749cab Fix segfault when invalid TLV is passed
Fix segfault when invalid TLV is passed.
The invalid TLV entries must be ignored as error.
2006-08-23 15:44:09 +02:00
Takashi Iwai
4165a5bfd1 Fix dB ops for global volume
Fixed dB ops for global volume.
2006-08-23 15:25:43 +02:00
Takashi Iwai
ae76129999 Move dB parser to mixer abstraction
Moved the parser of dB value to mixer abstraction from hcontrol layer.
Also, cleaned up codes.
2006-07-28 14:36:37 +02:00
Jaroslav Kysela
c4a5efeba3 mixer - cleanups for dB scale parsing 2006-07-27 10:45:25 +02:00
James Courtier-Dutton
5e3fc87888 Implement support for dB gain display in alsamixer. 2006-07-22 14:56:48 +01:00
Clemens Ladisch
4433248bf3 remove superfluous free() checks
free() correctly handles NULL pointers, so we can omit explicit checks
for that condition.
2006-02-27 09:58:32 +00:00
Takashi Iwai
76f7af823b Fix compile warnings
Fix trivial compile warnings.
2005-12-16 18:43:49 +00:00
Takashi Iwai
33a40df1af Fix the handling of stereo capture source
Patch from bug#1610

The simple mixer doesn't handle the stereo "Capture Source" properly,
wrongly set cswitch-joined.
2005-12-02 13:39:24 +00:00
Jaroslav Kysela
5af75610f2 mixer API - extend simple enumerated controls for direction tests
Added snd_mixer_selem_is_enum_playback() and
snd_mixer_selem_is_enum_capture() functions.
2005-08-24 10:41:16 +00:00
Clemens Ladisch
8737d1843c simple mixer: fix compilation with gcc 2.x
Move a variable declaration to the top of the function for compatibility
with gcc 2.x.
2005-08-16 15:30:19 +00:00
Clemens Ladisch
274bce69e7 fix file name for Doxygen
Use the correct file name for \file to make Doxygen happy.
2005-06-23 07:45:17 +00:00
Jaroslav Kysela
ce67d5389b more simple mixer - basic abstraction - work
- midlayer cleanups and simplification
- probably broke the "none" abstraction code somehow (not intensively tested
  midlayer changes)
- trying to implement ac97 module
  - far from finished
  - common code should be moved to alsa-lib as core for other modules
  - perhaps simple_abst.c can be based on this common code, too
2005-06-16 11:59:26 +00:00
Jaroslav Kysela
157cb698ac mixer - fix typo and memory leak 2005-06-03 14:04:53 +00:00
Jaroslav Kysela
597b4d0942 big simple mixer update
- exported all necessary functions to create a mixer module outside alsa-lib
- separated simple mixer API from the simple mixer implementation
  (using callbacks as usuall)
  - src/mixer/simple.c is the core
  - src/mixer/simple_none.c is the current (no-abstraction) implementation
    based on control names; note that this module does not depend on
    internal ALSA structures now
  - src/mixer/simple_abst.c is the ongoing abstraction which will use
    external dynamic modules; src/conf/smixer.conf will describe which
    modules will be used depending on the components from the driver
2005-06-03 13:33:04 +00:00