Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

pcm_softvol.c File Reference

PCM Soft Volume Plugin Interface. More...


Defines

#define CONVERT_AREA(TYPE)
#define GET_VOL_SCALE
#define GET_VOL_SCALE

Functions

int snd_pcm_softvol_open (snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, int ctl_card, snd_ctl_elem_id_t *ctl_id, int cchannels, double min_dB, int resolution, snd_pcm_t *slave, int close_slave)
 Creates a new SoftVolume PCM.
int snd_pcm_parse_control_id (snd_config_t *conf, snd_ctl_elem_id_t *ctl_id, int *cardp, int *cchannelsp, int *hwctlp)
 Parse control element id from the config.
int _snd_pcm_softvol_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new Soft Volume PCM.
 SND_DLSYM_BUILD_VERSION (_snd_pcm_softvol_open, SND_PCM_DLSYM_VERSION)


Detailed Description

PCM Soft Volume Plugin Interface.

Author:
Takashi Iwai <tiwai@suse.de>
Date:
2004

Define Documentation

#define GET_VOL_SCALE
 

Value:

switch (ch) { \
        case 0: \
        case 2: \
                vol_scale = (channels == ch + 1) ? vol_c : vol[0]; \
                break; \
        case 4: \
        case 5: \
                vol_scale = vol_c; \
                break; \
        default: \
                vol_scale = vol[ch & 1]; \
                break; \
        }


Function Documentation

int _snd_pcm_softvol_open snd_pcm_t **  pcmp,
const char *  name,
snd_config_t root,
snd_config_t conf,
snd_pcm_stream_t  stream,
int  mode
 

Creates a new Soft Volume PCM.

Parameters:
pcmp Returns created PCM handle
name Name of PCM
root Root configuration node
conf Configuration node with Soft Volume PCM description
stream Stream type
mode Stream mode
Return values:
zero on success otherwise a negative error code
Warning:
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

int snd_pcm_parse_control_id snd_config_t conf,
snd_ctl_elem_id_t ctl_id,
int *  cardp,
int *  cchannelsp,
int *  hwctlp
 

Parse control element id from the config.

Parameters:
conf the config tree to parse
ctl_id the pointer to store the resultant control element id
cardp the pointer to store the card index
cchannelsp the pointer to store the number of channels (optional)
hwctlp the pointer to store the h/w control flag (optional)
Returns:
0 if successful, or a negative error code
This function parses the given config tree to retrieve the control element id and the card index. It's used by softvol. External PCM plugins can use this function for creating or assigining their controls.

cchannelsp and hwctlp arguments are optional. Set NULL if not necessary.

int snd_pcm_softvol_open snd_pcm_t **  pcmp,
const char *  name,
snd_pcm_format_t  sformat,
int  ctl_card,
snd_ctl_elem_id_t ctl_id,
int  cchannels,
double  min_dB,
int  resolution,
snd_pcm_t slave,
int  close_slave
 

Creates a new SoftVolume PCM.

Parameters:
pcmp Returns created PCM handle
name Name of PCM
sformat Slave format
card card index of the control
min_dB minimal dB value
resolution resolution of control
slave Slave PCM handle
close_slave When set, the slave PCM handle is closed with copy PCM
Return values:
zero on success otherwise a negative error code
Warning:
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.


Generated on Fri May 27 10:37:26 2005 for ALSA project - the C library reference by  doxygen 1.4.2