Commit graph

536 commits

Author SHA1 Message Date
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
Jaroslav Kysela
a022bc1fbc API for device name lists and timer enhancements
- new snd_names_list and snd_names_list_free functions
- added snd_timer_ginfo related functions to the timer API
2005-05-10 10:52:30 +00:00
Jaroslav Kysela
f2099d5770 - Fedora 4 patch - fix for alpha arch 2005-05-06 14:06:09 +00:00
Clemens Ladisch
0b4e5e095d usb-audio - add Extigy/Audigy 2 NX remote control support
Add an hwdep interface that supports reading remote control data from
Sound Blaster Extigy and Audigy 2 NX devices.
2005-04-29 15:29:29 +00:00
Takashi Iwai
ca67f32848 Increase timer protocol number
Increase the timer protocl number (to distinguish the fix for TREAD ioctls).
2005-04-14 15:28:23 +00:00
Takashi Iwai
91f7dd2378 Move old PCM API to pcm_old.h
Clean up -- move old 0.9.x PCM API to pcm_old.h.
2005-04-14 14:01:10 +00:00
Jaroslav Kysela
f65d9f3108 Added snd_pcm_hw_params_set_rate_resample function
- snd_pcm_hw_params_set_rate_resample()
- snd_pcm_hw_params_get_rate_resample()
2005-04-12 12:09:55 +00:00
James Courtier-Dutton
ef42a53dda Update user land emu10k1.h with changes from kernel emu10k1.h 2005-04-02 14:21:59 +00:00
Clemens Ladisch
2570bfc7ad add HPET support
add a wrapper for the HPET driver
2005-03-21 08:17:26 +00:00
Takashi Iwai
231d55e537 Fix a typo
Fix a typo of sostenuto.
The old definition is kept for compatibility.
2005-03-17 16:14:17 +00:00
Takashi Iwai
0434c183e3 Added asound_fm.h
Added asound_fm.h to be used from specific apps.
2005-03-16 11:41:02 +00:00
Takashi Iwai
73008debc3 Add snd_pcm_parse_control_id()
Added a new function snd_pcm_parse_control_id() for the user controls.
This can be used in external plugins, too.
2005-03-09 11:57:54 +00:00