mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
volume: introduce pa_cvolume_{inc|dec}()
This commit is contained in:
parent
1421eff0b6
commit
cfef930036
3 changed files with 44 additions and 0 deletions
|
|
@ -123,10 +123,12 @@ pa_cvolume_avg_mask;
|
||||||
pa_cvolume_channels_equal_to;
|
pa_cvolume_channels_equal_to;
|
||||||
pa_cvolume_compatible;
|
pa_cvolume_compatible;
|
||||||
pa_cvolume_compatible_with_channel_map;
|
pa_cvolume_compatible_with_channel_map;
|
||||||
|
pa_cvolume_dec;
|
||||||
pa_cvolume_equal;
|
pa_cvolume_equal;
|
||||||
pa_cvolume_get_balance;
|
pa_cvolume_get_balance;
|
||||||
pa_cvolume_get_fade;
|
pa_cvolume_get_fade;
|
||||||
pa_cvolume_get_position;
|
pa_cvolume_get_position;
|
||||||
|
pa_cvolume_inc;
|
||||||
pa_cvolume_init;
|
pa_cvolume_init;
|
||||||
pa_cvolume_max;
|
pa_cvolume_max;
|
||||||
pa_cvolume_max_mask;
|
pa_cvolume_max_mask;
|
||||||
|
|
|
||||||
|
|
@ -876,3 +876,37 @@ pa_cvolume* pa_cvolume_merge(pa_cvolume *dest, const pa_cvolume *a, const pa_cvo
|
||||||
|
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pa_cvolume* pa_cvolume_inc(pa_cvolume *v, pa_volume_t inc) {
|
||||||
|
pa_volume_t m;
|
||||||
|
|
||||||
|
pa_assert(v);
|
||||||
|
|
||||||
|
pa_return_val_if_fail(pa_cvolume_valid(v), NULL);
|
||||||
|
|
||||||
|
m = pa_cvolume_max(v);
|
||||||
|
|
||||||
|
if (m >= PA_VOLUME_MAX - inc)
|
||||||
|
m = PA_VOLUME_MAX;
|
||||||
|
else
|
||||||
|
m += inc;
|
||||||
|
|
||||||
|
return pa_cvolume_scale(v, m);
|
||||||
|
}
|
||||||
|
|
||||||
|
pa_cvolume* pa_cvolume_dec(pa_cvolume *v, pa_volume_t dec) {
|
||||||
|
pa_volume_t m;
|
||||||
|
|
||||||
|
pa_assert(v);
|
||||||
|
|
||||||
|
pa_return_val_if_fail(pa_cvolume_valid(v), NULL);
|
||||||
|
|
||||||
|
m = pa_cvolume_max(v);
|
||||||
|
|
||||||
|
if (m <= PA_VOLUME_MUTED + dec)
|
||||||
|
m = PA_VOLUME_MUTED;
|
||||||
|
else
|
||||||
|
m -= dec;
|
||||||
|
|
||||||
|
return pa_cvolume_scale(v, m);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -345,6 +345,14 @@ pa_volume_t pa_cvolume_get_position(pa_cvolume *cv, const pa_channel_map *map, p
|
||||||
* and dest may point to the same structure. \since 0.9.16 */
|
* and dest may point to the same structure. \since 0.9.16 */
|
||||||
pa_cvolume* pa_cvolume_merge(pa_cvolume *dest, const pa_cvolume *a, const pa_cvolume *b);
|
pa_cvolume* pa_cvolume_merge(pa_cvolume *dest, const pa_cvolume *a, const pa_cvolume *b);
|
||||||
|
|
||||||
|
/** Increase the volume passed in by 'inc'. The proportions between
|
||||||
|
* the channels are kept. \since 0.9.16 */
|
||||||
|
pa_cvolume* pa_cvolume_inc(pa_cvolume *v, pa_volume_t inc);
|
||||||
|
|
||||||
|
/** Increase the volume passed in by 'inc'. The proportions between
|
||||||
|
* the channels are kept. \since 0.9.16 */
|
||||||
|
pa_cvolume* pa_cvolume_dec(pa_cvolume *v, pa_volume_t dec);
|
||||||
|
|
||||||
PA_C_DECL_END
|
PA_C_DECL_END
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue