mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-31 22:25:35 -04:00
ctl: add an overview for design of ALSA control interface
This commit adds a description about the design of ALSA control interface for developers to understand a few components of low level. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
f449a29943
commit
f3c24de8c0
1 changed files with 22 additions and 2 deletions
|
|
@ -35,9 +35,29 @@ also interface notifying about control and structure changes.
|
||||||
|
|
||||||
\section control_general_overview General overview
|
\section control_general_overview General overview
|
||||||
|
|
||||||
The primitive controls can be integer, inter64, boolean, enumerators, bytes
|
In ALSA control feature, each sound card can have control elements. The elements
|
||||||
and IEC958 structure.
|
are managed according to below model.
|
||||||
|
|
||||||
|
- element set
|
||||||
|
- A set of elements with the same attribute (i.e. name, get/put operations).
|
||||||
|
Some element sets can be added to a sound card by drivers in kernel and
|
||||||
|
userspace applications.
|
||||||
|
- element
|
||||||
|
- An element can be identified by userspace applications. Each element has
|
||||||
|
own identical information.
|
||||||
|
- member
|
||||||
|
- An element includes some members to have a value. The value of each member
|
||||||
|
can be changed by both of userspace applications and drivers in kernel.
|
||||||
|
|
||||||
|
Each element can be identified by two ways; a combination of name and index, or
|
||||||
|
numerical number (numid).
|
||||||
|
|
||||||
|
The type of element set is one of integer, integerr64, boolean, enumerators,
|
||||||
|
bytes and IEC958 structure. This indicates the type of value for each member in
|
||||||
|
elements included in the element set.
|
||||||
|
|
||||||
|
When the value of member is changed, corresponding events are transferred to
|
||||||
|
userspace applications. The applications should subscribe any events in advance.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue