roar_vs_volume_get(3)

NAME
roar_vs_volume_get, roar_vs_volume_mono, roar_vs_volume_stereo - Get or set volume for audio stream

SYNOPSIS

#include <roaraudio.h>

int roar_vs_volume_get (roar_vs_t * vss, float * l, float * r, int * error);

int roar_vs_volume_mono (roar_vs_t * vss, float c, int * error);

int roar_vs_volume_stereo (roar_vs_t * vss, float l, float r, int * error);

DESCRIPTION
Those functions are used to get or set volume for the given stream.

roar_vs_volume_get() gets the volume for the given stream in stereo form as a left and a right component (L/R). If you need the mono volume just divide the sum of both by two. See examples below.

roar_vs_volume_mono() sets the mono volume for the stream. Balance information is not kept.

roar_vs_volume_stereo() sets the stereo volume for the stream as left and right component (L/R).

PARAMETERS

vss The VS object for which volume is get or set.

l, r, c
    The volume for left, right or center (mono) channel. Value is a float in range zero to one. Zero means this channel is fully muted. One means the channel is passed without altering the amplitude.

    Small numerical errors are detected and corrected. Bigger errors will result in a out of range error.

    Note that to mute the stream you MUST NOT use volume setting but roar_vs_mute(3).

error
    This is a pointer to a integer used to store the error value in case of error. This can be NULL if not used but it is very recommended to use this error value to report good error messages to the user.

RETURN VALUE
On success these calls return 0. On error, -1 is returned.

EXAMPLES
Getting mono volume:

 float l, r, c;
 int err;

 if ( roar_vs_volume_get(vss, &l, &r, &err) == -1 ) {
  /* handle error */
 }
 c = (l + r)/2.;

SEE ALSO
roarvs(7), libroar(7), RoarAudio(7).