The ALSA library can modify the configuration at runtime. Several built-in functions are available.
A function is defined with the id @func
and the function name. All other values in the current compound are used as configuration for the function. If the compound func.<function_name> is defined in the root node, then the library and function from this compound configuration are used, otherwise 'snd_func_' is prefixed to the string and code from the ALSA library is used. The definition of a function looks like:
func.remove_first_char {
lib "/usr/lib/libasoundextend.so"
func "extend_remove_first_char"
}
Function reference
-
The getenv function - snd_func_getenv() - obtains an environment value. The result is a string.
-
The igetenv function - snd_func_igetenv() - obtains an environment value. The result is an integer.
-
The concat function - snd_func_concat() - merges all specified strings. The result is a string.
-
The iadd function - snd_func_iadd() - sum all specified integers. The result is an integer.
-
The imul function - snd_func_imul() - multiply all specified integers. The result is an integer.
-
The datadir function - snd_func_datadir() - returns the ALSA data directory. The result is a string.
-
The refer function - snd_func_refer() - copies the referred configuration. The result has the same type as the referred node.
-
The card_inum function - snd_func_card_inum() - returns a card number (integers).
-
The card_driver function - snd_func_card_driver() - returns a driver identification. The result is a string.
-
The card_id function - snd_func_card_id() - returns a card identification. The result is a string.
-
The card_name function - snd_func_card_name() - returns a card's name. The result is a string.
-
The pcm_id function - snd_func_pcm_id() - returns a pcm identification. The result is a string.
-
The private_string function - snd_func_private_string() - returns the string from the private_data node.
-
The private_card_driver function - snd_func_private_card_driver() - returns the driver identification from the private_data node. The result is a string.
-
The private_pcm_subdevice function - snd_func_private_pcm_subdevice() - returns the PCM subdevice number from the private_data node. The result is a string.