Lines Matching +full:- +full:- +full:volume
7 Copyright 2004-2006 Lennart Poettering
33 /** \page volume Volume Control
41 * The basic volume type in PulseAudio is the \ref pa_volume_t type. Most of
43 * can store the volume of all channels at once.
48 * There is no single well-defined meaning attached to the 100% volume for a
50 * volumes enabled, it means the maximum volume that the sound hardware is
52 * input volume to 100% unless the the user explicitly requests that (note that
53 * usually you shouldn't set the volume anyway if the user doesn't explicitly
54 * request it, instead, let PulseAudio decide the volume for the sink input).
55 * With flat volumes disabled the sink input volume is relative to the sink
56 * volume, so 100% sink input volume means that the sink input is played at the
57 * current sink volume level. In this case 100% is often a good default volume
59 * default volume. It is possible to figure out whether flat volume mode is in
68 * \li dB - pa_sw_volume_from_dB() / pa_sw_volume_to_dB()
69 * \li Linear - pa_sw_volume_from_linear() / pa_sw_volume_to_linear()
86 * \li pa_cvolume_valid() - Tests if a pa_cvolume structure is valid.
87 * \li pa_cvolume_equal() - Tests if two pa_cvolume structures are identical.
88 * \li pa_cvolume_channels_equal_to() - Tests if all channels of a pa_cvolume
89 * structure have a given volume.
90 * \li pa_cvolume_is_muted() - Tests if all channels of a pa_cvolume
92 * \li pa_cvolume_is_norm() - Tests if all channels of a pa_cvolume structure
93 * are at a normal volume.
94 * \li pa_cvolume_set() - Set the first n channels of a pa_cvolume structure to
95 * a certain volume.
96 * \li pa_cvolume_reset() - Set the first n channels of a pa_cvolume structure
97 * to a normal volume.
98 * \li pa_cvolume_mute() - Set the first n channels of a pa_cvolume structure
99 * to a muted volume.
100 * \li pa_cvolume_avg() - Return the average volume of all channels.
101 * \li pa_cvolume_snprint() - Pretty print a pa_cvolume structure.
105 * Constants and routines for volume handling
107 * See also \subpage volume
112 /** Volume specification:
114 * < PA_VOLUME_NORM: decreased volume;
115 * PA_VOLUME_NORM: normal volume;
116 * > PA_VOLUME_NORM: increased volume */
119 /** Normal volume (100%, 0 dB) */
122 /** Muted (minimal valid) volume (0%, -inf dB) */
125 /** Maximum valid volume we can store. \since 0.9.15 */
128 /** Recommended maximum volume to show in user facing UIs.
130 * and not cause feedback loops etc. - i.e. if the volume is more than
135 /** Special 'invalid' volume. \since 0.9.16 */
138 /** Check if volume is valid. \since 1.0 */
141 /** Clamp volume to the permitted range. \since 1.0 */
144 /** A structure encapsulating a per-channel volume */
147 pa_volume_t values[PA_CHANNELS_MAX]; /**< Per-channel volume */
150 /** Return non-zero when *a == *b, checking that both a and b
155 /** Initialize the specified volume and return a pointer to
160 /** Set the volume of the first n channels to PA_VOLUME_NORM */
163 /** Set the volume of the first n channels to PA_VOLUME_MUTED */
166 /** Set the volume of the specified number of channels to the volume v */
176 /** Pretty print a volume structure. Returns \a s. */
186 /** Pretty print a volume structure, showing dB values. Returns \a s. \since 0.9.13 */
195 /** Pretty print a volume structure in a verbose way. The volume for each
197 * percentage, and if print_dB is non-zero, also the dB value. If map is not
208 /** Pretty print a volume. Returns \a s. \since 0.9.15 */
218 /** Pretty print a volume but show dB values. Returns \a s. \since 0.9.15 */
227 /** Pretty print a volume in a verbose way. The volume is printed in several
228 * formats: the raw pa_volume_t value, percentage, and if print_dB is non-zero,
232 /** Return the average volume of all channels */
235 /** Return the average volume of all channels that are included in the
242 /** Return the maximum volume of all channels. \since 0.9.12 */
245 /** Return the maximum volume of all channels that are included in the
252 /** Return the minimum volume of all channels. \since 0.9.16 */
255 /** Return the minimum volume of all channels that are included in the
262 /** Return non-zero when the passed cvolume structure is valid */
265 /** Return non-zero if the volume of all channels is equal to the specified value */
268 /** Return 1 if the specified volume has all channels muted */
271 /** Return 1 if the specified volume has all channels on normal level */
274 /** Multiply two volume specifications, return the result. This uses
279 /** Multiply two per-channel volumes and return the result in
284 /** Multiply a per-channel volume with a scalar volume and return the
290 /** Divide two volume specifications, return the result. This uses
296 /** Divide two per-channel volumes and return the result in
302 /** Divide a per-channel volume by a scalar volume and return the
308 /** Convert a decibel value to a volume (amplitude, not power). This is only valid for software vol…
311 /** Convert a volume to a decibel value (amplitude, not power). This is only valid for software vol…
314 /** Convert a linear factor to a volume. 0.0 and less is muted while
318 /** Convert a volume to a linear factor. This is only valid for software volumes! */
322 #define PA_DECIBEL_MININFTY ((double) -INFINITY)
325 #define PA_DECIBEL_MININFTY ((double) -200.0)
328 /** Remap a volume from one channel mapping to a different channel mapping.
332 /** Return non-zero if the specified volume is compatible with the
336 /** Return non-zero if the specified volume is compatible with the
340 /** Calculate a 'balance' value for the specified volume with the
341 * specified channel map. The return value will range from -1.0f
347 /** Adjust the 'balance' value for the specified volume with the
349 * returned. The balance is a value between -1.0f and +1.0f. This
352 * requested balance value (e.g. when the input volume was zero anyway for
354 * this channel map the volume will not be modified. See
359 * for the specified volume with the specified channel map. The return
360 * value will range from -1.0f (rear) to +1.0f (left). If no fade
366 * for the specified volume with the specified channel map. v will be
368 * -1.0f and +1.0f. This operation might not be reversible! Also,
370 * return the requested fade value (e.g. when the input volume was
372 * this channel map the volume will not be modified. See
376 /** Calculate a 'lfe balance' value for the specified volume with
378 * -1.0f (no lfe) to +1.0f (only lfe), where 0.0f is balanced.
383 /** Adjust the 'lfe balance' value for the specified volume with
385 * The balance is a value between -1.0f (no lfe) and +1.0f (only lfe).
388 * return the requested value (e.g. when the input volume was
390 * this channel map the volume will not be modified. See
394 /** Scale the passed pa_cvolume structure so that the maximum volume
399 /** Scale the passed pa_cvolume structure so that the maximum volume
401 * the volume of those channels that are unmasked. The proportions
407 /** Set the passed volume to all channels at the specified channel
408 * position. Will return the updated volume struct, or NULL if there
415 /** Get the maximum volume of all channels at the specified channel
422 * corresponding channel in dest to the greater volume of both. a, b
427 /** Increase the volume passed in by 'inc', but not exceeding 'limit'.
432 /** Increase the volume passed in by 'inc'. The proportions between
436 /** Decrease the volume passed in by 'dec'. The proportions between