1d5ac70f0Sopenharmony_ci/*! \mainpage Index, Preamble and License
2d5ac70f0Sopenharmony_ci
3d5ac70f0Sopenharmony_ci\author Jaroslav Kysela <perex@perex.cz>
4d5ac70f0Sopenharmony_ci\author Abramo Bagnara <abramo@alsa-project.org>
5d5ac70f0Sopenharmony_ci\author Takashi Iwai <tiwai@suse.de>
6d5ac70f0Sopenharmony_ci\author Frank van de Pol <fvdpol@coil.demon.nl>
7d5ac70f0Sopenharmony_ci
8d5ac70f0Sopenharmony_ciPreface
9d5ac70f0Sopenharmony_ci-------
10d5ac70f0Sopenharmony_ci
11d5ac70f0Sopenharmony_ciThe Advanced Linux Sound Architecture (\e ALSA) comes with a kernel
12d5ac70f0Sopenharmony_ciAPI and a library API. This document describes the library API and how
13d5ac70f0Sopenharmony_ciit interfaces with the kernel API.
14d5ac70f0Sopenharmony_ci
15d5ac70f0Sopenharmony_ci### Documentation License
16d5ac70f0Sopenharmony_ci
17d5ac70f0Sopenharmony_ci    This documentation is free; you can redistribute it without
18d5ac70f0Sopenharmony_ci    any restrictions. Modifications or derived work must retain
19d5ac70f0Sopenharmony_ci    the copyright and list all authors.
20d5ac70f0Sopenharmony_ci 
21d5ac70f0Sopenharmony_ci    This documentation is distributed in the hope that it will be
22d5ac70f0Sopenharmony_ci    useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
23d5ac70f0Sopenharmony_ci    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24d5ac70f0Sopenharmony_ci
25d5ac70f0Sopenharmony_ciAPI usage
26d5ac70f0Sopenharmony_ci---------
27d5ac70f0Sopenharmony_ci
28d5ac70f0Sopenharmony_ciApplication programmers should use the library API rather than the
29d5ac70f0Sopenharmony_cikernel API. The library offers 100% of the functionality of the kernel API,
30d5ac70f0Sopenharmony_cibut adds major improvements in usability, making the application code simpler
31d5ac70f0Sopenharmony_ciand better looking. In addition, future fixes or compatibility code
32d5ac70f0Sopenharmony_cimay be placed in the library code instead of the kernel driver.
33d5ac70f0Sopenharmony_ci
34d5ac70f0Sopenharmony_ciAPI links
35d5ac70f0Sopenharmony_ci---------
36d5ac70f0Sopenharmony_ci
37d5ac70f0Sopenharmony_ci- Page \subpage control explains the primitive controls API.
38d5ac70f0Sopenharmony_ci- Page \subpage control_plugins explains the design of primitive control plugins.
39d5ac70f0Sopenharmony_ci- Page \subpage hcontrol explains the high-level primitive controls API.
40d5ac70f0Sopenharmony_ci- Page \subpage mixer explains the mixer controls API.
41d5ac70f0Sopenharmony_ci- Page \subpage pcm explains the design of the PCM (digital audio) API.
42d5ac70f0Sopenharmony_ci- Page \subpage pcm_plugins explains the design of PCM (digital audio) plugins.
43d5ac70f0Sopenharmony_ci- Page \subpage pcm_external_plugins explains the external PCM plugin SDK.
44d5ac70f0Sopenharmony_ci- Page \subpage ctl_external_plugins explains the external control plugin SDK.
45d5ac70f0Sopenharmony_ci- Page \subpage rawmidi explains the design of the RawMidi API.
46d5ac70f0Sopenharmony_ci- Page \subpage timer explains the design of the Timer API.
47d5ac70f0Sopenharmony_ci- Page \subpage seq explains the design of the Sequencer API.
48d5ac70f0Sopenharmony_ci- Page \subpage ucm explains the use case API.
49d5ac70f0Sopenharmony_ci- Page \subpage topology explains the DSP topology API.
50d5ac70f0Sopenharmony_ci
51d5ac70f0Sopenharmony_ciConfiguration
52d5ac70f0Sopenharmony_ci-------------
53d5ac70f0Sopenharmony_ci
54d5ac70f0Sopenharmony_ci- Page \subpage conf explains the syntax of library configuration.
55d5ac70f0Sopenharmony_ci- Page \subpage confarg explains the run-time argument syntax.
56d5ac70f0Sopenharmony_ci- Page \subpage conffunc explains run-time function definitions and their usage.
57d5ac70f0Sopenharmony_ci- Page \subpage confhooks explains run-time hook definitions and their usage.
58d5ac70f0Sopenharmony_ci- Page \subpage ucm_conf explains the UCM configuration and their usage.
59d5ac70f0Sopenharmony_ci
60d5ac70f0Sopenharmony_ci*/
61