2013-04-08 16:42:24 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								/*! \mainpage Index Preamble and License
							 | 
						
					
						
							
								
									
										
										
										
											2001-10-14 11:04:00 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2007-10-15 10:24:55 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								\author Jaroslav Kysela <perex@perex.cz>
							 | 
						
					
						
							
								
									
										
										
										
											2001-10-14 11:04:00 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								\author Abramo Bagnara <abramo@alsa-project.org>
							 | 
						
					
						
							
								
									
										
										
										
											2002-01-11 11:09:33 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								\author Takashi Iwai <tiwai@suse.de>
							 | 
						
					
						
							
								
									
										
										
										
											2004-01-07 14:36:39 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								\author Frank van de Pol <fvdpol@coil.demon.nl>
							 | 
						
					
						
							
								
									
										
										
										
											2001-10-14 11:04:00 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								<H2>Preface</H2>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								<P>The Advanced Linux Sound Architecture (\e ALSA) comes with a kernel
							 | 
						
					
						
							
								
									
										
										
										
											2002-07-23 19:51:16 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								API and a library API. This document describes the library API and how
							 | 
						
					
						
							
								
									
										
										
										
											2001-10-14 11:04:00 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								it interfaces with the kernel API.</P>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								<H2>Documentation License</H2>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								<P>This documentation is free; you can redistribute it without
							 | 
						
					
						
							
								
									
										
										
										
											2002-07-23 19:51:16 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								any restrictions. Modifications or derived work must retain
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								the copyright and list all authors.</P>
							 | 
						
					
						
							
								
									
										
										
										
											2001-10-14 11:04:00 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								 
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								<P>This documentation is distributed in the hope that it will be
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</P>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								<H2>API usage</H2>
							 | 
						
					
						
							
								
									
										
										
										
											2002-07-23 19:51:16 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								<P>Application programmers should use the library API rather than the
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								kernel API. The library offers 100% of the functionality of the kernel API,
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								but adds major improvements in usability, making the application code simpler
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								and better looking. In addition, future fixes or compatibility code
							 | 
						
					
						
							
								
									
										
										
										
											2001-10-14 11:04:00 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								may be placed in the library code instead of the kernel driver.</P>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								<H2>API links</H2>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								<UL>
							 | 
						
					
						
							
								
									
										
										
										
											2002-07-23 19:51:16 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref control explains the primitive controls API.
							 | 
						
					
						
							
								
									
										
										
										
											2021-04-06 12:18:23 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref control_plugins explains the design of primitive control plugins.
							 | 
						
					
						
							
								
									
										
										
										
											2002-07-23 19:51:16 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref hcontrol explains the high-level primitive controls API.
							 | 
						
					
						
							
								
									
										
										
										
											2004-05-24 14:57:47 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref mixer explains the mixer controls API.
							 | 
						
					
						
							
								
									
										
										
										
											2002-07-23 19:51:16 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref pcm explains the design of the PCM (digital audio) API.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref pcm_plugins explains the design of PCM (digital audio) plugins.
							 | 
						
					
						
							
								
									
										
										
										
											2005-04-14 15:29:57 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref pcm_external_plugins explains the external PCM plugin SDK.
							 | 
						
					
						
							
								
									
										
										
										
											2005-06-13 13:19:03 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref ctl_external_plugins explains the external control plugin SDK.
							 | 
						
					
						
							
								
									
										
										
										
											2002-07-23 19:51:16 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref rawmidi explains the design of the RawMidi API.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref timer explains the design of the Timer API.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref seq explains the design of the Sequencer API.
							 | 
						
					
						
							
								
									
										
										
										
											2015-06-29 16:25:59 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref ucm explains the use case API.
							 | 
						
					
						
							
								
									
										
										
										
											2015-07-29 17:45:24 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref topology explains the DSP topology API.
							 | 
						
					
						
							
								
									
										
										
										
											2001-10-14 11:04:00 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								</UL>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2001-11-08 17:34:30 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								<H2>Configuration</H2>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								<UL>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref conf explains the syntax of library configuration files.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref confarg explains the run-time argument syntax.
							 | 
						
					
						
							
								
									
										
										
										
											2002-07-23 19:51:16 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref conffunc explains run-time function definitions and their usage.
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								  <LI>Page \ref confhooks explains run-time hook definitions and their usage.
							 | 
						
					
						
							
								
									
										
										
										
											2001-11-08 17:34:30 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								</UL>
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2001-10-14 11:04:00 +00:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								*/
							 |