mirror of
https://github.com/alsa-project/alsa-utils
synced 2024-09-19 17:49:59 +02:00
The Advanced Linux Sound Architecture (ALSA) - utilities
a82058e6ec
This patch adds support for pre-processing the Topology2.0. The '-p' switch add pre-processing support during compilation and the '-P' switch is for converting the Topology2.0 configuration file into the existing syntax. Topology2.0 is a high level keyword extension on top of the existing ALSA conf topology format designed to: 1) Simplify the ALSA conf topology definitions by providing high level "classes" so topology designers need to write less config for common object definitions. 2) Allow simple reuse of objects. Define once and reuse (like M4) with the ability to alter objects configuration attributes from defaults. 3) Allow data type and value verification. This is not done today and frequently crops up in FW bug reports. Common Topology Classes ----------------------- Topology today has some common classes that are often reused throughout with slightly altered configurations. i.e. widgets (components), pipelines, dais and controls. Topology2.0 introduces the high level concept of reusable "class" like definition for that can be used to create topology objects. Common Topology Attributes -------------------------- Topology defines a lot of attributes per object with different types and constraints. Today there is no easy way to validate type or constraints and this can lead to many hard to find problems in FW at runtime. A new keyword "DefineAttribute" has been added to define attribute constraints such as min value, max value, enum_values etc. This then allows alsatplg to validate each topology object attribute. Topology Classes define the list of attributes that they use and whether the attribute is mandatory, can be overridden by parent users or is immutable. This also helps alsatplg emit the appropriate errors for attribute misuse. Class constructor attributes ---------------------------- Some attributes in the class definition are declared as constructor attributes and these will be used to construct the name of the object. For ex: for the host widget, the index and direction are constructor attributes and the name for the widget is derived as follows: host.1.playback or host.2.capture etc. Attribute Inheritance: ---------------------- One of the key features of Topology2.0 is how the attribute values are propagated from a parent object to a child object. For ex: a pipeline object can pass down the pipeline_id attribute to all its widgets. Inheritance is implicit when an object and its embedded child objects have matching names for a attribute/argument. Attribute values set explicitly in an object instance always has precedence over the values inherited from the parent object. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> 1 1 1 Signed-off-by: Jaroslav Kysela <perex@perex.cz> |
||
---|---|---|
.github/workflows | ||
alsa-info | ||
alsaconf | ||
alsactl | ||
alsaloop | ||
alsamixer | ||
alsaucm | ||
amidi | ||
amixer | ||
aplay | ||
axfer | ||
bat | ||
iecset | ||
include | ||
m4 | ||
po | ||
seq | ||
speaker-test | ||
topology | ||
utils | ||
.gitignore | ||
.travis.yml | ||
acinclude.m4 | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
gitcompile | ||
INSTALL | ||
Makefile.am | ||
README.md | ||
TODO |
alsa-utils
Advanced Linux Sound Architecture - Utilities
This package contains the command line utilities for the ALSA project. The package can be compiled only with the installed ALSA driver and the ALSA C library (alsa-lib).
Utility | Description |
---|---|
alsaconf | the ALSA driver configurator script |
alsa-info | a script to gather information about ALSA subsystem |
alsactl | an utility for soundcard settings management |
aplay/arecord | an utility for the playback / capture of .wav,.voc,.au files |
axfer | an utility to transfer audio data frame (enhancement of aplay) |
amixer | a command line mixer |
alsamixer | a ncurses mixer |
amidi | a utility to send/receive sysex dumps or other MIDI data |
iecset | a utility to show/set the IEC958 status bits |
speaker-test | a speaker test utility |
alsaloop | a software loopback for PCM devices |
alsaucm | Use Case Manager utility |
alsabat | a sound tester for ALSA sound card driver |
alsatplg | ALSA topology compiler |
You may give a look for more information about the ALSA project to URL http://www.alsa-project.org.