void CSound::ConfigNotify(const std::string& key, const std::string& value) { if (key == "snd_volmaster") { masterVolume = std::atoi(value.c_str()) * 0.01f; if (!mute && !appIsIconified) alListenerf(AL_GAIN, masterVolume); } else if (key == "snd_volgeneral") { Channels::General.SetVolume(std::atoi(value.c_str()) * 0.01f); } else if (key == "snd_volunitreply") { Channels::UnitReply.SetVolume(std::atoi(value.c_str()) * 0.01f); } else if (key == "snd_volbattle") { Channels::Battle.SetVolume(std::atoi(value.c_str()) * 0.01f); } else if (key == "snd_volui") { Channels::UserInterface.SetVolume(std::atoi(value.c_str()) * 0.01f); } else if (key == "PitchAdjust") { bool tempPitchAdjust = (std::atoi(value.c_str()) != 0); if (!tempPitchAdjust) PitchAdjust(1.0); pitchAdjust = tempPitchAdjust; } }
void CSound::ConfigNotify(const std::string& key, const std::string& value) { boost::recursive_mutex::scoped_lock lck(soundMutex); if (key == "snd_volmaster") { masterVolume = std::atoi(value.c_str()) * 0.01f; if (!mute && !appIsIconified) alListenerf(AL_GAIN, masterVolume); } else if (key == "snd_eaxpreset") { efx->SetPreset(value); } else if (key == "snd_filter") { float gainlf = 1.f; float gainhf = 1.f; sscanf(value.c_str(), "%f %f", &gainlf, &gainhf); efx->sfxProperties->filter_properties_f[AL_LOWPASS_GAIN] = gainlf; efx->sfxProperties->filter_properties_f[AL_LOWPASS_GAINHF] = gainhf; efx->CommitEffects(); } else if (key == "UseEFX") { bool enable = (std::atoi(value.c_str()) != 0); if (enable) efx->Enable(); else efx->Disable(); } else if (key == "snd_volgeneral") { Channels::General->SetVolume(std::atoi(value.c_str()) * 0.01f); } else if (key == "snd_volunitreply") { Channels::UnitReply->SetVolume(std::atoi(value.c_str()) * 0.01f); } else if (key == "snd_volbattle") { Channels::Battle->SetVolume(std::atoi(value.c_str()) * 0.01f); } else if (key == "snd_volui") { Channels::UserInterface->SetVolume(std::atoi(value.c_str()) * 0.01f); } else if (key == "snd_volmusic") { Channels::BGMusic->SetVolume(std::atoi(value.c_str()) * 0.01f); } else if (key == "PitchAdjust") { bool tempPitchAdjust = (std::atoi(value.c_str()) != 0); if (!tempPitchAdjust) PitchAdjust(1.0); pitchAdjust = tempPitchAdjust; } }