Modify the volume defaults and total maximum volume in such a way that if a user puts everything on maximum the chance of audio clipping is reduced

This commit is contained in:
Magnus Norddahl 2024-05-18 17:31:07 +02:00
commit e7f06ab1a3
2 changed files with 6 additions and 6 deletions

View file

@ -70,7 +70,7 @@ int nomusic = 0;
// Maximum volume of MOD/stream music.
//==========================================================================
CUSTOM_CVARD(Float, snd_musicvolume, 0.5, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "controls music volume")
CUSTOM_CVARD(Float, snd_musicvolume, 1.0, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "controls music volume")
{
if (self < 0.f)
self = 0.f;
@ -82,7 +82,7 @@ CUSTOM_CVARD(Float, snd_musicvolume, 0.5, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "contr
ChangeMusicSetting(zmusic_snd_musicvolume, nullptr, self);
if (GSnd != nullptr)
{
GSnd->SetMusicVolume(clamp<float>(self * relative_volume * snd_mastervolume, 0, 1));
GSnd->SetMusicVolume(clamp<float>(self * relative_volume * snd_mastervolume * 0.5f, 0, 1));
}
// For music not implemented through the digital sound system,
// let them know about the change.

View file

@ -88,14 +88,14 @@ void I_CloseSound ();
// Maximum volume of all audio
//==========================================================================
CUSTOM_CVAR(Float, snd_mastervolume, 0.5f, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_NOINITCALL)
CUSTOM_CVAR(Float, snd_mastervolume, 1.0f, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_NOINITCALL)
{
if (self < 0.f)
self = 0.f;
else if (self > 1.f)
self = 1.f;
ChangeMusicSetting(zmusic_snd_mastervolume, nullptr, self);
ChangeMusicSetting(zmusic_snd_mastervolume, nullptr, self * 0.5f);
snd_sfxvolume->Callback();
snd_musicvolume->Callback();
}
@ -107,7 +107,7 @@ CUSTOM_CVAR(Float, snd_mastervolume, 0.5f, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CV
// Maximum volume of a sound effect.
//==========================================================================
CUSTOM_CVAR (Float, snd_sfxvolume, 0.5f, CVAR_ARCHIVE|CVAR_GLOBALCONFIG|CVAR_NOINITCALL)
CUSTOM_CVAR (Float, snd_sfxvolume, 1.0f, CVAR_ARCHIVE|CVAR_GLOBALCONFIG|CVAR_NOINITCALL)
{
if (self < 0.f)
self = 0.f;
@ -115,7 +115,7 @@ CUSTOM_CVAR (Float, snd_sfxvolume, 0.5f, CVAR_ARCHIVE|CVAR_GLOBALCONFIG|CVAR_NOI
self = 1.f;
else if (GSnd != NULL)
{
GSnd->SetSfxVolume (self * snd_mastervolume);
GSnd->SetSfxVolume (self * snd_mastervolume * 0.25f);
}
}