volume.h File Reference

Constants and routines for volume handling. More...

Go to the source code of this file.

Data Structures

struct  pa_cvolume
 A structure encapsulating a per-channel volume. More...

Defines

#define PA_VOLUME_NORM   (0x10000)
 Normal volume (100%).
#define PA_VOLUME_MUTED   (0)
 Muted volume (0%).
#define pa_cvolume_reset(a, n)   pa_cvolume_set((a), (n), PA_VOLUME_NORM)
 Set the volume of all channels to PA_VOLUME_NORM.
#define pa_cvolume_mute(a, n)   pa_cvolume_set((a), (n), PA_VOLUME_MUTED)
 Set the volume of all channels to PA_VOLUME_MUTED.
#define PA_CVOLUME_SNPRINT_MAX   64
 Maximum length of the strings returned by pa_cvolume_snprint().
#define pa_cvolume_is_muted(a)   pa_cvolume_channels_equal_to((a), PA_VOLUME_MUTED)
 Return 1 if the specified volume has all channels muted.
#define pa_cvolume_is_norm(a)   pa_cvolume_channels_equal_to((a), PA_VOLUME_NORM)
 Return 1 if the specified volume has all channels on normal level.
#define PA_DECIBEL_MININFTY   (-200)
 This value is used as minus infinity when using pa_volume_{to,from}_dB().

Typedefs

typedef uint32_t pa_volume_t
 Volume specification: PA_VOLUME_MUTED: silence; < PA_VOLUME_NORM: decreased volume; PA_VOLUME_NORM: normal volume; > PA_VOLUME_NORM: increased volume.

Functions

int pa_cvolume_equal (const pa_cvolume *a, const pa_cvolume *b) PA_GCC_PURE
 Return non-zero when *a == *b.
pa_cvolumepa_cvolume_set (pa_cvolume *a, unsigned channels, pa_volume_t v)
 Set the volume of all channels to the specified parameter.
char * pa_cvolume_snprint (char *s, size_t l, const pa_cvolume *c)
 Pretty print a volume structure.
pa_volume_t pa_cvolume_avg (const pa_cvolume *a) PA_GCC_PURE
 Return the average volume of all channels.
int pa_cvolume_valid (const pa_cvolume *v) PA_GCC_PURE
 Return TRUE when the passed cvolume structure is valid, FALSE otherwise.
int pa_cvolume_channels_equal_to (const pa_cvolume *a, pa_volume_t v) PA_GCC_PURE
 Return non-zero if the volume of all channels is equal to the specified value.
pa_volume_t pa_sw_volume_multiply (pa_volume_t a, pa_volume_t b) PA_GCC_CONST
 Multiply two volumes specifications, return the result.
pa_cvolumepa_sw_cvolume_multiply (pa_cvolume *dest, const pa_cvolume *a, const pa_cvolume *b) PA_GCC_PURE
 Multiply to per-channel volumes and return the result in *dest.
pa_volume_t pa_sw_volume_from_dB (double f) PA_GCC_CONST
 Convert a decibel value to a volume.
double pa_sw_volume_to_dB (pa_volume_t v) PA_GCC_CONST
 Convert a volume to a decibel value.
pa_volume_t pa_sw_volume_from_linear (double v) PA_GCC_CONST
 Convert a linear factor to a volume.
double pa_sw_volume_to_linear (pa_volume_t v) PA_GCC_CONST
 Convert a volume to a linear factor.


Detailed Description

Constants and routines for volume handling.


Define Documentation

#define pa_cvolume_is_muted (  )     pa_cvolume_channels_equal_to((a), PA_VOLUME_MUTED)

Return 1 if the specified volume has all channels muted.

#define pa_cvolume_is_norm (  )     pa_cvolume_channels_equal_to((a), PA_VOLUME_NORM)

Return 1 if the specified volume has all channels on normal level.

#define pa_cvolume_mute ( a,
 )     pa_cvolume_set((a), (n), PA_VOLUME_MUTED)

Set the volume of all channels to PA_VOLUME_MUTED.

#define pa_cvolume_reset ( a,
 )     pa_cvolume_set((a), (n), PA_VOLUME_NORM)

Set the volume of all channels to PA_VOLUME_NORM.

#define PA_CVOLUME_SNPRINT_MAX   64

Maximum length of the strings returned by pa_cvolume_snprint().

#define PA_DECIBEL_MININFTY   (-200)

This value is used as minus infinity when using pa_volume_{to,from}_dB().

Since:
0.4

#define PA_VOLUME_MUTED   (0)

Muted volume (0%).

#define PA_VOLUME_NORM   (0x10000)

Normal volume (100%).

Examples:
pacat.c, and paplay.c.


Typedef Documentation

typedef uint32_t pa_volume_t

Volume specification: PA_VOLUME_MUTED: silence; < PA_VOLUME_NORM: decreased volume; PA_VOLUME_NORM: normal volume; > PA_VOLUME_NORM: increased volume.

Examples:
pacat.c, and paplay.c.


Function Documentation

pa_volume_t pa_cvolume_avg ( const pa_cvolume a  ) 

Return the average volume of all channels.

int pa_cvolume_channels_equal_to ( const pa_cvolume a,
pa_volume_t  v 
)

Return non-zero if the volume of all channels is equal to the specified value.

int pa_cvolume_equal ( const pa_cvolume a,
const pa_cvolume b 
)

Return non-zero when *a == *b.

pa_cvolume* pa_cvolume_set ( pa_cvolume a,
unsigned  channels,
pa_volume_t  v 
)

Set the volume of all channels to the specified parameter.

Examples:
pacat.c, and paplay.c.

char* pa_cvolume_snprint ( char *  s,
size_t  l,
const pa_cvolume c 
)

Pretty print a volume structure.

int pa_cvolume_valid ( const pa_cvolume v  ) 

Return TRUE when the passed cvolume structure is valid, FALSE otherwise.

pa_cvolume* pa_sw_cvolume_multiply ( pa_cvolume dest,
const pa_cvolume a,
const pa_cvolume b 
)

Multiply to per-channel volumes and return the result in *dest.

This is only valid for software volumes!

pa_volume_t pa_sw_volume_from_dB ( double  f  ) 

Convert a decibel value to a volume.

This is only valid for software volumes!

Since:
0.4

pa_volume_t pa_sw_volume_from_linear ( double  v  ) 

Convert a linear factor to a volume.

This is only valid for software volumes!

Since:
0.8

pa_volume_t pa_sw_volume_multiply ( pa_volume_t  a,
pa_volume_t  b 
)

Multiply two volumes specifications, return the result.

This uses PA_VOLUME_NORM as neutral element of multiplication. This is only valid for software volumes!

double pa_sw_volume_to_dB ( pa_volume_t  v  ) 

Convert a volume to a decibel value.

This is only valid for software volumes!

Since:
0.4

double pa_sw_volume_to_linear ( pa_volume_t  v  ) 

Convert a volume to a linear factor.

This is only valid for software volumes!

Since:
0.8


Generated on Mon Sep 29 02:44:36 2008 for PulseAudio by  doxygen 1.5.6