The Advanced Linux Sound Architecture (ALSA) comes with a kernel API and a library API. This document describes the library API and how it interfaces with the kernel API.
This documentation is free; you can redistribute it without any restrictions. Modifications or derived work must retain the copyright and list all authors.
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.
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 may be placed in the library code instead of the kernel driver.
Page Control interface explains the primitive controls API. Page High level control interface explains the high-level primitive controls API. Page Mixer interface explains the mixer controls API. Page PCM (digital audio) interface explains the design of the PCM (digital audio) API. Page PCM (digital audio) plugins explains the design of PCM (digital audio) plugins. Page PCM External Plugin SDK explains the external PCM plugin SDK. Page External Control Plugin SDK explains the external control plugin SDK. Page RawMidi interface explains the design of the RawMidi API. Page Timer interface explains the design of the Timer API. Page seq explains the design of the Sequencer API.