Commit graph

547 commits

Author SHA1 Message Date
Jaroslav Kysela
03389a444b change iface argument for namehint function to const char *
remove snd_ctl_iface_conf_name function
2006-10-27 13:31:32 +02:00
Jaroslav Kysela
ddf9599542 pcm: fix ipc offset calculation for direct plugins
Also add more accurate description to x24 formats.
2006-10-23 11:34:00 +02: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
57eb3145b8 fix various warnings
See also ALSA bug#1689
2006-10-06 13:18:34 +02:00
Jaroslav Kysela
8c9e4114a2 Add struct timeval and timespec definition when _POSIX_C_SOURCE is not defined
FIXME: It might cause problems on some platforms when tv_usec is not long type.
2006-10-06 11:01:40 +02:00
Takashi Iwai
f0fbd4c03e add support for hosts that have custom symbol prefixes
From: Mike Frysinger <vapier@gentoo.org>

some architectures, like Blackfin, have a prefix added to all symbols (in our
case it's historical baggage)

while normally packages shouldnt care, when code starts mixing assembler with
C (like symbol versioning), you need to dip down into the inner details.
find attached a patch which queries gcc for the prefix (all gcc toolchains
have a builtin define of __USER_LABEL_PREFIX__) and then automatically has
asm() constructs utilize this

since most targets define __USER_LABEL_PREFIX__ to nothing, hopefully this
shouldnt cause any problems :)
2006-09-19 18:07:51 +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
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
Takashi Iwai
a98fd022fa Remove dependencies with kernel headers from instrument layer codes
Don't include kernel headers from alsa-lib codes.
Still remained in instrument layer codes, but now all should be gone.
2006-07-25 15:36:14 +02:00
James Courtier-Dutton
5e3fc87888 Implement support for dB gain display in alsamixer. 2006-07-22 14:56:48 +01:00
Jaroslav Kysela
c7a0708a23 Control API - add TLV support
snd_ctl_elem_tlv_read
snd_ctl_elem_tlv_write
snd_ctl_elem_tlv_command
snd_ctl_elem_info_is_tlv_readable
snd_ctl_elem_info_is_tlv_writable
snd_ctl_elem_info_is_tlv_commandable
snd_hctl_elem_tlv_read
snd_hctl_elem_tlv_write
snd_hctl_elem_tlv_command
2006-07-05 17:42:16 +02:00
Pierre Ossman
3fd9369990 Allow ioplugins to override snd_pcm_delay()
Some io plug-ins might want to adjust the reported delay value and not
strictly follow the current buffer usage (that's why we have two calls
after all).

Allow them to specify a delay() callback and use the previous behaviour
if they don't.

Signed-off-by: Pierre Ossman <ossman@cendio.se>
2006-05-26 17:08:18 +02:00
Takashi Iwai
06e3df0549 Remove enum from kernel API
Remove enum in structs from kernel API headers.
The enum is not always equivalent with int on some architectures.

From: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
2006-05-10 16:27:14 +02:00
Clemens Ladisch
123e2b7780 clarify SND_SEQ_PORT_TYPE_xxx documentation
Clarify the documentation for the SND_SEQ_PORT_TYPE_xxx flags, especially
for _SYNTH and *_SAMPLE where it was rather misleading.
2006-05-02 16:28:22 +02:00
Clemens Ladisch
c3ac7bdf87 add more sequencer port type information bits
Add four new information flags SNDRV_SEQ_PORT_TYPE_HARDWARE, _SOFTWARE,
_SYNTHESIZER, _PORT for sequencer ports.  This makes it easier for apps
like Rosegarden to make policy decisions based on the port type.
2006-05-02 16:08:36 +02:00
Takashi Iwai
33d69ef33b Create rate converter plugin SDK
Created a new rate converter plugin SDK.
A rate converter can be replaced as an extra plugin now.
The default rate converter is a built-in linear converter.

You can find a sample external converter in alsa-plugins package.
2006-04-06 18:37:55 +02:00
Takashi Iwai
5c0674aee3 Add init callback to extplug
- Fix the hw constraints of extplug
- Add init callback to extplug
2006-03-20 11:26:16 +00:00
Takashi Iwai
46c67fe070 Portability fix for alsa-lib on mips
From: Henryk Plötz <henryk@ploetzli.ch>

I recently had problems building alsa-lib 1.0.10 on mips (for my
Netgear WGT634U). Turned out the problem was in include/alsa-symbols.h
were there was __asm__ code that wouldn't work with the mips assembler.
Attached is a patch that makes this work again.
2006-03-03 17:51:33 +00:00
Takashi Iwai
609d4a7de6 Avoid unnecesasry call of resmgr
Avoid unnecesasry call of resmgr if the device file really doesn't exist.
2006-02-20 19:32:53 +00:00
Takashi Iwai
eccc92a34d Fix infinite parse of recursive definitions
Fixed the infinite parse (and eventually segfault) of recursive definitions.
Also fixed the parse of a string slave PCM of direct plugins.
2006-01-30 14:41:51 +00:00
Takashi Iwai
add3a4a1e2 Skip resmgr when EAGAIN or EBUSY
Skip resmgr when EAGAIN or EBUSY.
2006-01-13 15:09:40 +00:00
Jaroslav Kysela
23f7e58fa1 implementation of pcm simple helper function
- snd_pcm_recovery()
- snd_pcm_set_params()
- snd_pcm_get_params()
2006-01-06 19:59:56 +00:00
Takashi Iwai
0ec2247972 Fix declaration of snd_pcm_ladspa_open()
Fix declaration of snd_pcm_ladspa_open().
2005-12-14 15:35:23 +00:00
Clemens Ladisch
551c22fcb8 seq: reorganize sequencer client numbers
Reduce the maximum possible number of global clients to 16 to make
more numbers available for card clients, and allow dynamically allocated
card client numbers to share the same range as application client
numbers to make sure that all 32 cards can be used at the same time.
2005-12-12 09:36:02 +00:00
Clemens Ladisch
19be1429d1 remove SND_SEQ_CLIENT_{DUMMY,OSS} symbols
The SND_SEQ_CLIENT_{DUMMY,OSS} are private to the kernel and should
never have been put into the public API header.
2005-11-20 14:09:45 +00:00
Takashi Iwai
2f71b8753b Fix type-punning
Fixed compile warnings on the latest gcc about type-punning.
Removed unnecessary casts.
2005-09-29 19:11:50 +00:00
Jaroslav Kysela
31595805b2 fixed typo in comment 2005-09-21 08:24:31 +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
Takashi Iwai
787b0469e9 Allow separate build and source trees
From: Bernard Leak <bernard@brenda-arkle.demon.co.uk>

Allow separate build and source trees.

Modified for the latest CVS tree by tiwai.
2005-08-23 12:09:07 +00:00
Jaroslav Kysela
a33c78ddd8 moved simple mixer abstraction modules to modules/mixer/simple directory
Compile dynamic modules outside the alsa-lib tree to allow linking them
against libasound.so - proper versions of dynamic symbols.
2005-08-22 12:07:55 +00:00
Jaroslav Kysela
bac9a7de83 direct plugins (dmix) - suspend/resume fixes
- this patch adds support for suspend & result for dmix and other
  direct plugins
- the timer detection / initialization (TREAD support) was redesigned and
  the check for proper driver version was moved to the timer_hw.c
2005-08-16 12:19:15 +00:00
Jaroslav Kysela
1400f04ee3 sync with alsa-kernel - timer SUSPEND / RESUME events 2005-08-16 10:09:34 +00:00
Takashi Iwai
036525d2ae Add function declaration
Added the function declaration of snd_mixer_sbasic_get_private()
to fix compile warnings.
2005-08-03 16:58:22 +00:00
Takashi Iwai
985c6f94d0 Fix compilation on a system with old alsa-lib headers
Fixed the compilation on a system with old alsa-lib headers.
A symlink alsa is created here to include all alsa-lib headers
locally even via #include <alsa/xxx.h>
2005-06-28 13:35:22 +00:00
Clemens Ladisch
57b9f88922 fix compilation with C++
Replace identifer "class" with "class_" for compatibility with C++.
2005-06-23 07:44:36 +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
Takashi Iwai
3656a66397 Add detailed documentation for external control plugin SDK
Added the detailed documentation for external control plugin SDK.
2005-06-13 13:19:03 +00:00
Takashi Iwai
8a3d07022c Add external control plugin SDK
Added external control plugin SDK.
2005-06-09 17:12:08 +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
Takashi Iwai
bf5d2bfe47 Remove obsolete *_ordinary.h files
Remove obsolete *_ordinary.h files.
2005-05-30 16:21:25 +00:00
Jaroslav Kysela
41398ceb9c removed ordinary stuff 2005-05-30 11:57:26 +00:00
Jaroslav Kysela
d7ef50f5ee name clash (WINE, icc), interface -> iface renamed
Fix ALSA bug #1139.
2005-05-29 14:26:20 +00:00
Takashi Iwai
087184b0f9 Fix doxygen documents
Fix the warnings of doxygen parsing.
Add some missing documentation.
2005-05-24 14:14:28 +00:00
Takashi Iwai
7651690858 Fix documentation of external PCM plugin SDK
Fix documentation of external PCM plugin SDK.
2005-05-24 09:42:01 +00:00
Takashi Iwai
4d7c53d280 Add snd_pcm_hw_params_get/set_export_buffer()
Add snd_pcm_hw_params_get/set_export_buffer() API functions.
They control to ensure the buffer export to other processes.
If this flag is set, the local buffer of a plugin is exported over IPC shm.
Otherwise the buffer can be handled only locally (no shm).

Also fixed Version file for 1.0.9.
2005-05-19 16:59:04 +00:00
Takashi Iwai
e61d385993 Add protocl version check
- Added protocl version check.  The caller of snd_pcm_{io|ext}plug_create()
  must fill version field with SND_PCM_{IO|EXT}PLUG_VERSION beforehand.

- Added poll_descriptors and poll_descriptors_count callbacks for ioplug.
2005-05-18 10:47:52 +00:00
Takashi Iwai
0d0e1a55c2 Change some timer ioctls due to confliction
Change values of some timer ioctls to avoid confliction with FIO* ioctls.
Use old ioctls if the timer protocol version doesn't match.
2005-05-15 14:47:03 +00:00
Jaroslav Kysela
8ec3e4ea6c added full async interface to timer API
- added snd_async_add_timer_handler and snd_async_handler_get_timer functions
- added async command to test/timer.c
2005-05-11 12:18:51 +00:00