void asound_set_volume(int volume) { assert(m_elem != NULL); assert(volume >= 0 && volume <= 100); set_normalized_playback_volume_all(m_elem, volume / 100.0, 0); }
void asound_set_volume(int volume) { if(m_elem == NULL) { return; } volume = (volume < 0 ? 0 : (volume > 100 ? 100 : volume)); if(config_get_decibel_scale()) { long pmin, pmax; snd_mixer_selem_get_playback_volume_range(m_elem, &pmin, &pmax); long value = pmin + (pmax-pmin) * volume / 100; snd_mixer_selem_set_playback_volume_all(m_elem, value); } else set_normalized_playback_volume_all(m_elem, volume / 100.0, 0); }